Docker使用配置文件来启动部署Redis

Docker使用配置文件来启动部署Redis

Docker Repository 为我们提供的Redis镜像我们pull下来发现里面是没有配置文件的,要是我们想要使用自己的配置文件来启动部署,我们就需要自己手动写一个dockerfile文件来构建一个自己的Redis镜像,从而可以使用配置文件来启动,下面是DockerHub为我们提供的DockerFile。
我们从DockerHub中可以了解这种方法。
在这里插入图片描述

1.首先我们从Docker Repository来pull Redis镜像

docker pull redis
# 这里不指定版本默认下载latest

2.查看镜像拉取情况

docker images 
# 我们看到已经成功拉取
[root@user dockerfile]# docker images 
REPOSITORY    TAG     IMAGE ID      CREATED        SIZE
redis         latest  7614ae9453d1  2 months ago   113MB

3.编写自己的Dockerfile文件

FROM redis 
COPY redis.conf /usr/local/etc/redis.conf
CMD  ["/usr/local/bin/redis-server", "/usr/local/etc/redis.conf" ]
这里这三个指令都是很基本的,这里展开说一下
FROM  #指定基础镜像
COPY  #本地文件拷贝到镜像中
CMD   #指定容器默认执行的命令
DockerFile还有很多指令感兴趣的小伙伴可以去详细了解一下

这里我们从DockerHub提供的DockerFiiel中了解到,要构建自己的Redis镜像需要从本地拷贝redis.conf配置文件到镜像中,我们可以从官网下载到本地。给自己的DockerFile的取个名字。我这里是 mydockerfile-redis 把下载好的redis.conf文件放在一个目录下。然后开始知道构建命令。

4.Redis配置文件(基本配置)

bind 127.0.0.1            #注释掉这部分,这是限制redis只能本地访问

protected-mode no         #默认yes,开启保护模式,限制为本地访问

daemonize no         	  #默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败

databases 16              #数据库个数(可选),我修改了这个只是查看是否生效。。

dir  ./                   #输入本地redis数据库存放文件夹(可选)

appendonly yes            #redis持久化(可选)

requirepass password      #配置密码

# 根据自己的需求来修改配置文件

5.构建镜像

 docker build -f mydockerfile-redis -t redis-wwy:0.1 .

6.查看自己构建的镜像

docker images
#我们看到已经构建成功了!
[root@user dockerfile]# docker images 
REPOSITORY       TAG       IMAGE ID       CREATED           SIZE
redis-wwy        0.1       ffdb3b053298   32 months ago     141MB
redis            latest    7614ae9453d1   2 months ago      113MB 

7.启动容器

 docker run  -p 6379:6379 -v /home/redis/etc/:/usr/local/etc/redis -v /usr/local/docker/redis/data:/data --name myredis redis-wwy:0.1  /usr/local/bin/redis-server /usr/local/etc/redis.conf
docker run 
-p 6379:6379                                #指定端口号
-v /home/redis/etc/:/usr/local/etc/redis    #挂载配置文件的目录,挂载到配置文件的上级目录,不然会报错
-v /home/redis/data:/data       #挂载数据的目录  
--name myredis                              #给容器起名字
redis-wwy:0.1  /usr/local/bin/redis-server /usr/local/etc/redis.conf  #用配置文件方式启动

这里启动redis命令中的redis-server需要写绝对路径不然会报以下错误:
Fatal error, can’t open config file ‘/usr/local/etc/redis/redis.conf’: Permission
这里启动成功后直接进入日志,使用ctrl + x 退出,在docker start 容器名来启动容器,这样就成功使用配置文件来启动部署Redis了


版权声明:本文为wwy_vs原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。