前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >为Docker容器中的服务配置固定容器IP教程

为Docker容器中的服务配置固定容器IP教程

作者头像
季春二九
修改2023-04-17 09:32:15
修改2023-04-17 09:32:15
2.8K00
代码可运行
举报
文章被收录于专栏:季春二九季春二九
运行总次数:0
代码可运行

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

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

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

创建一个内网redisnet1

代码语言:javascript
代码运行次数:0
复制
docker network create --subnet 172.172.0.0/16 redisnet1  

查看

代码语言:javascript
代码运行次数:0
复制
docker network ls

打印

代码语言:javascript
代码运行次数:0
复制
docker network inspect redisnet1

删除

代码语言:javascript
代码运行次数:0
复制
docker network rm redisnet1
  • –subnet:指定网段的 CIDR 格式的子网 其中172.172.0.0/16表示子网范围为16位

查看更多关于network的操作

代码语言:javascript
代码运行次数:0
复制
docker network --help

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

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

代码语言:javascript
代码运行次数:0
复制
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 容器名

代码语言:javascript
代码运行次数:0
复制
docker inspect myredis1
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1)创建自定义docker内部网络
    • 创建一个内网redisnet1
    • 查看
    • 打印
    • 删除
  • 2)运行容器安装软件,配置网络信息
  • 说明:
  • 3)验证
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档