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了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Docker部署 Redis,可以通过以下步骤进行: 1. 在 Docker 主机上创建一个目录,用于存放 Redis配置文件和数据文件,例如 /data/redis。 2. 创建 Redis配置文件 redis.conf,可以使用以下命令创建一个基本的配置文件: ``` mkdir /data/redis/conf touch /data/redis/conf/redis.conf echo "bind 0.0.0.0\n" >> /data/redis/conf/redis.conf echo "protected-mode no\n" >> /data/redis/conf/redis.conf echo "daemonize yes\n" >> /data/redis/conf/redis.conf echo "pidfile /var/run/redis_6379.pid\n" >> /data/redis/conf/redis.conf echo "logfile /var/log/redis/redis.log\n" >> /data/redis/conf/redis.conf echo "dir /data/redis/data\n" >> /data/redis/conf/redis.conf echo "port 6379\n" >> /data/redis/conf/redis.conf echo "tcp-backlog 511\n" >> /data/redis/conf/redis.conf echo "timeout 0\n" >> /data/redis/conf/redis.conf echo "tcp-keepalive 300\n" >> /data/redis/conf/redis.conf echo "maxclients 10000\n" >> /data/redis/conf/redis.conf echo "maxmemory 2gb\n" >> /data/redis/conf/redis.conf ``` 其中,以上配置文件中的参数根据实际需求进行修改。 3. 在 Docker 中下载 Redis 镜像,可以使用以下命令进行: ``` docker pull redis ``` 4. 创建 Redis 容器,可以使用以下命令进行: ``` docker run -d --name redis -p 6379:6379 -v /data/redis/conf/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data redis redis-server /etc/redis/redis.conf ``` 其中,以上命令中的参数说明如下: - -d:表示以后台方式运行容器; - --name redis:指定容器的名称为 redis; - -p 6379:6379:将容器内部的 Redis 端口映射到主机的 6379 端口; - -v /data/redis/conf/redis.conf:/etc/redis/redis.conf:将主机上的 Redis 配置文件映射到容器内部的 /etc/redis/redis.conf 文件; - -v /data/redis/data:/data:将主机上的 Redis 数据文件夹映射到容器内部的 /data 文件夹; - redis:表示启动容器时要运行的命令; - /etc/redis/redis.conf:表示指定容器内部的 Redis 配置文件。 5. 查看 Redis 容器运行状态,可以使用以下命令进行: ``` docker ps ``` 如果 Redis 容器的状态为 Up,则表示容器已经成功运行。 6. 连接 Redis 容器,可以使用以下命令进行: ``` redis-cli -h 127.0.0.1 -p 6379 ``` 其中,以上命令中的参数根据实际情况进行修改。 7. 在 Redis 中创建键值对,并测试工作正常。 注意事项: 1. Redis 容器的数据和配置文件需要在主机上进行持久化存储,否则容器删除后数据和配置信息将丢失。 2. Redis 容器需要在后台运行,以保证容器的稳定性和可靠性。 3. 在创建 Redis 容器时,需要指定容器内部的 Redis 配置文件和数据文件夹的路径,以保证容器能够正常读取和写入数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值