代码改变世界

docker根据配置文件启动redis

2019-03-01 15:41  QQ~sunshine  阅读(3612)  评论(0编辑  收藏  举报

更多docker基本命令请自行查询。

1.首先拉取合适版本的docker镜像

  docker pull redis:5

2.如果不需要更改什么配置或者仅仅测试用可以直接启动镜像运行容器,这里要说明的是根据配置文件启动并且将持久化文件挂载在宿主机。首先从官网下载一份版本相同的配置文件,更改以下配置:

  daemonize 设置为 no,这个很重要,如果不是no docker会一直启动失败,原因是docker本身需要后台运行,而这个配置选项也是以守护进程启动,两者会冲突

  上面只是针对docker部署redis必须更改的配置,还有一些redis本身的配置,比如端口号,允许访问ip等请看另一篇文章 https://www.cnblogs.com/Qsunshine/p/10401391.html

3.现在可以用以下命令启动:

docker run -d -p 6379:6379 -v /myredis/redis.conf:/usr/local/etc/redis/redis.conf -v /myredis/data:/data/:rw --name myredis redis redis-server /usr/local/etc/redis/redis.conf

  docker  run    docker启动命令

  -d   后台启动

  -p 6379:6379   第一个端口是宿主机端口,第二个端口是容器端口,表示将容器的6379端口映射到宿主机的6379端口上,这样可以通过访问宿主机6379来访问redis

  -v /myredis/redis.conf:/usr/local/etc/redis/redis.conf   挂在配置文件,/myredis/redis.con是自己配置文件的地址,/usr/local/etc/redis/redis.conf是容器中的配置文件地址,容器启动成功后会自己创建,之后可以通过更改宿主机的配置文件来达到更改容器实际配置文件的目的。

  -v /myredis/data:/data/:rw   挂载持久化文件,/myredis/data是宿主机中持久化文件的位置,/data/是容器中持久化文件的位置(需要和配置文件中dir属性值一样),“:rw”这个是给容器中/data目录添加读写权限

  --name myredis redis   运行镜像redis,并且启动后容器名命名为myredis

  redis-server /usr/local/etc/redis/redis.conf   用配置文件方式启动redis