如果不固定ip,每次主机重启后,,docker会动态给容器分配ip,导致redis容器的IP自动换了 ,然后还得去改傻妞配置就很烦,有些时候还会造成其他影响。

1)创建自定义docker内部网络

docker network 官方文档 (看不懂可用浏览器翻译):https://docs.docker.com/engine/reference/commandline/network_create/

创建一个内网redisnet1

docker network create --subnet 172.172.0.0/16 redisnet1  

查看

docker network ls

打印

docker network inspect redisnet1

删除

docker network rm redisnet1
  • –subnet:指定网段的 CIDR 格式的子网
    其中172.172.0.0/16表示子网范围为16位

查看更多关于network的操作

docker network --help

2)运行容器安装软件,配置网络信息

docker run 参考官方文档:https://docs.docker.com/engine/reference/commandline/run/

docker run -d --name myredis1  --network redisnet1 --network-alias myredis1 --ip 172.172.0.2 -p 6379:6379 redis

说明:

  • 加入docker内部网络: --network redisnet1
  • 配置容器在内部局域网的网络别名:--network-alias redisnet1
  • 配置在内部局域网的ip地址:--ip 172.172.0.2,注意点:
  1. 设置的ip必须在内部网络的网络范围中,不然会报错,不能正常启动
  2. 根据规定:忽略子网内全为0和全为1的地址,剩下的就是有效地址
  3. 第二位172.172.0.1也会被占用,是该子网的网关,不能使用

3)验证

重启容器后,IP不会动态分配而导致变化

查看容器ip可用 docker inspect 查看打印信息的"IPAddress": "172.172.0.2"字段

docker inspect 容器名

docker inspect myredis1
分类: 经验教程 标签: docker
公众号图片

评论

暂无评论数据

暂无评论数据

目录