资讯专栏INFORMATION COLUMN

docker 安装部署 redis(配置文件启动)

Miyang / 2765人阅读

摘要:也就是说当开启了时,如果你既没有显示的定义了监听的地址,同时又没有设置密码。那你只能通过来访问服务。

安装 docker

[修订]docker 已分为 ce/ee 直接yum版本较低 请使用下方安装最新版

docker-ce yum 安装:https://www.cnblogs.com/Peter...(转)或使用 daocloud 安装:http://get.daocloud.io/#insta...

</>复制代码

  1. # 2019-1-24 注明:
  2. #安装 docker
  3. yum install docker -y
  4. systemctl start docker.service
获取 redis 镜像

</>复制代码

  1. docker search redis
  2. docker pull redis:latest
  3. docker images
创建容器

创建宿主机 redis 容器的数据和配置文件目录

</>复制代码

  1. # 这里我们在 /home/docker 下创建
  2. mkdir /home/docker/redis/{conf,data} -p
  3. cd /home/docker/redis

获取 redis 的默认配置模版

</>复制代码

  1. # 获取 redis 的默认配置模版
  2. # 这里主要是想设置下 redis 的 log / password / appendonly
  3. # redis 的 docker 运行参数提供了 --appendonly yes 但没 password
  4. wget https://raw.githubusercontent.com/antirez/redis/4.0/redis.conf -O conf/redis.conf
  5. # 直接替换编辑
  6. sed -i "s/logfile ""/logfile "access.log"/" conf/redis.conf
  7. sed -i "s/# requirepass foobared/requirepass 123456/" conf/redis.conf
  8. sed -i "s/appendonly no/appendonly yes/" conf/redis.conf
  9. # 这里可能还需配置一些 bind protected-mode

</>复制代码

  1. protected-mode 是在没有显示定义 bind 地址(即监听全网断),又没有设置密码 requirepass
    时,protected-mode 只允许本地回环 127.0.0.1 访问。
    也就是说当开启了 protected-mode 时,如果你既没有显示的定义了 bind 监听的地址,同时又没有设置 auth 密码。那你只能通过 127.0.0.1 来访问 redis 服务。

创建并运行一个名为 myredis 的容器

</>复制代码

  1. # 创建并运行一个名为 myredis 的容器
  2. docker run
  3. -p 6379:6379
  4. -v $PWD/data:/data
  5. -v $PWD/conf/redis.conf:/etc/redis/redis.conf
  6. --privileged=true
  7. --name myredis
  8. -d redis redis-server /etc/redis/redis.conf
  9. # 命令分解
  10. docker run
  11. -p 6379:6379 # 端口映射 宿主机:容器
  12. -v $PWD/data:/data:rw # 映射数据目录 rw 为读写
  13. -v $PWD/conf/redis.conf:/etc/redis/redis.conf:ro # 挂载配置文件 ro 为readonly
  14. --privileged=true # 给与一些权限
  15. --name myredis # 给容器起个名字
  16. -d redis redis-server /etc/redis/redis.conf # deamon 运行容器 并使用配置文件启动容器内的 redis-server

查看活跃的容器

</>复制代码

  1. # 查看活跃的容器
  2. docker ps
  3. # 如果没有 myredis 说明启动失败 查看错误日志
  4. docker logs myredis
  5. # 查看 myredis 的 ip 挂载 端口映射等信息
  6. docker inspect myredis
  7. # 查看 myredis 的端口映射
  8. docker port myredis
外部访问 redis 容器服务

</>复制代码

  1. # redis-cli 访问
  2. docker run -it --link myredis:redis --rm redis redis-cli -h redis -p 6379
  3. # -it 交互的虚拟终端
  4. # --rm 退出是删除此容器

或者使用 shell 登录容器内操作

</>复制代码

  1. docker exec -it myredis bash
  2. redis-cli

配置完成

主从配置

新建容器 redis-slave
查看 redis master 的内部 ip

</>复制代码

  1. docker inspect redis #Networks
  2. 可以得到 redis master 的 ip 地址
  3. "NetworkSettings": {
  4. "Ports": {
  5. "6379/tcp": [
  6. {
  7. "HostIp": "0.0.0.0",
  8. "HostPort": "6379"
  9. }
  10. ]
  11. },
  12. ...
  13. "Gateway": "192.168.0.1",
  14. ...
  15. "IPAddress": "192.168.0.3",#ip
  16. ...
  17. "Networks": {
  18. "bridge": {
  19. ...
  20. "Gateway": "192.168.0.1",
  21. "IPAddress": "192.168.0.3",#ip
  22. ...
  23. }
  24. }
  25. }
  26. 修改 redis-slave 的配置文件
  27. # 主地址
  28. slaveof master-ip master-port
  29. # 主认证
  30. masterauth

重启 redis-slave

</>复制代码

  1. docker restart redis-slave

登录 redis master 使用 info 命令查看从的状态

如果配置不成功记得检查 redis master 的 bind 和 protected-mode 的设置,看下有没有监听内网地址,否则 redis-slave 没办法通过 redis master 的地址做数据同步

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27251.html

相关文章

  • Node项目的Gitlab自动部署实践(基于Docker

    摘要:只要的项目有提交,相关就根据来决定是否跑自动部署的命令。项目的自动部署添加执行的注册命令,按照说明进行参数配置。至此,和服务都已经自动部署完成。 准备工作 说明 公司最近准备了一台新的开发服务器,正好用以实践docker的基本应用。docker的好处不再赘述,详情可参考阮一峰的这篇入门。(关于Docker最好的中文介绍,没有之一)。 公司目前主要使用了EggJs + ReactJS的技...

    oysun 评论0 收藏0
  • 使用Docker 一键部署 LNMP+Redis 环境

    摘要:使用部署环境简介是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的机器上,也可以实现虚拟化。命令是编写之后使用的。后者会自动继承中的服务及相关的环境变量设置网络模式。 使用Docker 部署 LNMP+Redis 环境 Docker 简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器...

    _Zhao 评论0 收藏0
  • 使用Docker 一键部署 LNMP+Redis 环境

    摘要:使用部署环境简介是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的机器上,也可以实现虚拟化。命令是编写之后使用的。后者会自动继承中的服务及相关的环境变量设置网络模式。 使用Docker 部署 LNMP+Redis 环境 Docker 简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器...

    wangshijun 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<