早在Docker火热的时候尝试过,因为那时候的云还比较混沌,但是目前这个形式云已经比较成熟了,所以docker的作用我个人认为就没有那么凸显了,但是最近在做服务搬迁的时候发现,使用Docker可以抚平一些差异,再一个还能开拓小伙伴的视野,也未尝不是一件好事。

于是今天老生常谈,从安装Docker到启动redis服务开始说起:

首先就是安装Docker了,我的系统环境是CentOS7,所以内核为3.10,满足官方要求的3.8以上版本,如果你还在使用6的话,可以搜一搜之前的文章,把kernel升级一下。

➜ ~ uname -a
Linux ecs-88f0-0001 3.10.0-1062.1.1.el7.x86_64 #1 SMP Fri Sep 13 22:55:44 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

这个我们不去讨论技术流派的,软件安装都需要去手动编译,说白了也没有那个实力,所以以下开始基于Yum工具开始安装,首先安装辅助安装工具,如果你已经有了不用重复安装,所以有选择的Copy:

yum -y install  yum-utils device-mapper-persistent-data lvm2

剩下的就是选择源的问题,国内的话我个人建议可以使用阿里云的源,毕竟速度可以快一点,官方的对我们国内来说不是十分友好。

中央仓库:
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo

阿里仓库:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

因为我使用的华为云,所以我使用的是华为的镜像,这里就不一一表述了。

我们查看以下docker的源:
➜ ~ yum list docker-ce --showduplicates | sort -r
已加载插件:fastestmirror
已安装的软件包
可安装的软件包
updates: mirrors.huaweicloud.com
Loading mirror speeds from cached hostfile
extras: mirrors.huaweicloud.com
epel: mirrors.tuna.tsinghua.edu.cn
docker-ce.x86_64 3:19.03.8-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.5-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.4-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.3-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.2-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.0-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.8-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.5-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.4-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.3-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.2-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.3.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.2.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 18.03.1.ce-1.el7.centos @docker-ce-stable
docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.3.ce-1.el7 docker-ce-stable
docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
base: mirrors.huaweicloud.com

我的系统是CentOS7,我选择的源是:18.03.1.ce-1.el7.centos,yum安装Docker的命令格式:yum install docker-ce-版本号。
所以执行以下命令进行安装:

➜ ~ yum -y install docker-ce-18.03.1.ce

剩下的就是等安装完成了,安装完成后启动,同时加入开机自启动。

systemctl start docker(原:service docker start)
systemctl enable docker(原:chkconfig docker on)
安装完成没事可以查看下你的安装版本:docker version
➜ ~ docker version
Client:
Version: 18.03.1-ce
API version: 1.37
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:20:16 2018
OS/Arch: linux/amd64
Experimental: false
Orchestrator: swarm
Server:
Engine:
Version: 18.03.1-ce
API version: 1.37 (minimum version 1.12)
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:23:58 2018
OS/Arch: linux/amd64
Experimental: false

以上Docker安装完成,一些常用的命令可以去网站上查询:http://www.docker.org.cn/dockerppt/106.html

接下来我们开始安装redis,同样使用yum工具:

首先你可以查询一下Redis的镜像:

➜ ~ docker search redis
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
redis Redis is an open source key-value store that… 8077 [OK]
bitnami/redis Bitnami Redis Docker Image 143 [OK]
sameersbn/redis 79 [OK]
grokzen/redis-cluster Redis cluster 3.0, 3.2, 4.0 & 5.0 67
rediscommander/redis-commander Alpine image for redis-commander - Redis man… 37 [OK]
kubeguide/redis-master redis-master with "Hello World!" 31
redislabs/redis Clustered in-memory database engine compatib… 24
oliver006/redis_exporter Prometheus Exporter for Redis Metrics. Supp… 21
redislabs/redisearch Redis With the RedisSearch module pre-loaded… 21
arm32v7/redis Redis is an open source key-value store that… 21
bitnami/redis-sentinel Bitnami Docker Image for Redis Sentinel 13 [OK]
webhippie/redis Docker images for Redis 11 [OK]
redislabs/redisgraph A graph database module for Redis 11 [OK]
insready/redis-stat Docker image for the real-time Redis monitor… 9 [OK]
s7anley/redis-sentinel-docker Redis Sentinel 9 [OK]
arm64v8/redis Redis is an open source key-value store that… 9
redislabs/redismod An automated build of redismod - latest Redi… 7 [OK]
redislabs/redisinsight RedisInsight - The GUI for Redis 5
centos/redis-32-centos7 Redis in-memory data structure store, used a… 5
circleci/redis CircleCI images for Redis 4 [OK]
clearlinux/redis Redis key-value data structure server with t… 2
wodby/redis Redis container image with orchestration 1 [OK]
tiredofit/redis Redis Server w/ Zabbix monitoring and S6 Ove… 1 [OK]
runnable/redis-stunnel stunnel to redis provided by linking contain… 1 [OK]
xetamus/redis-resource forked redis-resource 0 [OK]

建议选择官方的源安装,如果有自己的镜像直接拉取自己的镜像最好,我这里偷懒了一下,直接:docker pull redis

安装了最新的版本,查看本地的镜像:

➜ ~ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
redis latest a4d3716dbb72 3 days ago 98.3MB

接下来我们开始做一些redis的启动配置,我本地新建路径:/data/conf/redis

新建了两个文件夹:conf和data用于存放配置文件和持久数据。

➜  redis docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
redis               latest              a4d3716dbb72        3 days ago          98.3MB

我去官方下载了redis的配置文件:http://download.redis.io/redis-stable/redis.conf

当然你也可以去下载相同版本号的reids的压缩包,然后解压出来获取里面的conf文件,这样坑会少一点。

启动redis:

docker run -d --name redis -p 6379:6379 -v /data/conf/redis/conf/redis.conf:/redis.conf -v /root/redis/data:/data redis:latest redis-server --appendonly yes

这里简单做一些命令的说明,redis的配置文件这里不细说了,大家根据自己的需求进行配置就行了。

-d 
//后台运行

-p 
//端口映射到主机的端口

-v 
//将主机目录挂载到容器的目录

redis-server --appendonly yes
//在容器执行redis-server启动命令,并打开redis持久化配置

启动了redis后你可以 使用docker exec -it “containerID”进去验证以下你的配置是否成功,否则的话就需要慢慢踩了。

比如:

➜ redis docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e431cd55e7f8 redis:latest "docker-entrypoint.s…" About an hour ago Up About an hour 0.0.0.0:6379->6379/tcp myredis

那么我的 containerID 为 :

e431cd55e7f8

使用命令进去验证吧,直接可以使用redis-cli命令操作即可。
➜ redis docker exec -it e431cd55e7f8 /bin/bash

发表评论

电子邮件地址不会被公开。 必填项已用*标注