微信扫一扫 分享朋友圈

已有 996 人浏览分享

开启左侧

docker docker-compose 如何自定义网络及固定IP

[复制链接]
996 0
1、环境介绍
注:以下全文中通用的名称,自建网络名称:test-net,容器名称:test-nginx
1)docker版本
  1. [root@localhost ~]# docker -v
  2. Docker version 20.10.10, build b485636
复制代码
2)docker-compose版本
  1. [root@localhost ~]# docker-compose -v
  2. docker-compose version 1.26.2, build eefe0d31
复制代码
3)docker network 指令
  1. connect     容器连接到网络
  2. create      创建新的网络
  3. disconnect  容器脱离网络
  4. inspect     查看详细信息
  5. ls          网络列表
  6. prune       删除所有未使用的网络
  7. rm          删除指定网络
复制代码
2、地址池创建
1)自定义默认地址池bridge
修改daemon.json文件

  1. [root@localhost ~]# cat > /etc/docker/daemon.json  << EOF
  2. {
  3.   "debug": true,
  4.   "default-address-pools": [
  5.     {
  6.       "base": "172.17.0.0/16",
  7.       "size": 24
  8.     }
  9.   ],
  10.   "registry-mirrors": ["http://hub-mirror.c.163.com"]
  11. }
  12. EOF

  13. [root@localhost ~]# systemctl daemon-reload
  14. [root@localhost ~]# systemctl restart docker
复制代码
2)创建自定义地址池
①手工创建地址池

  1. [root@localhost ~]# docker network create -d bridge --subnet 172.16.0.0/16 --gateway 172.16.0.1 test-net
复制代码
②通过docker-compose.yml文件创建(后文有描述)
3、手工分配地址

注:手工指定IP只能使用自定义的网络,默认bridge地址池是不能指定的
1)通过指令分配
①获取nginx镜像

  1. [root@localhost ~]# docker pull nginx
复制代码
②创建容器,连接到自定义网络并指定IP,
  1. [root@localhost ~]# docker run -d --name test-nginx nginx
  2. [root@localhost ~]# docker network connect test-net test-nginx --ip 172.16.1.8
复制代码
③修改自定义网络中的容器IP
  1. [root@localhost ~]# docker network disconnect test-net test-nginx
  2. [root@localhost ~]# docker network connect test-net test-nginx --ip 172.16.1.12
复制代码
④创建容器时直接加入自定义网络
  1. [root@localhost ~]# docker run -d --name test-nginx --network test-net --ip 172.16.1.8 nginx
复制代码
2)通过docker-compose分配
注:这个版本的docker-compose不支持写网关地址
①修改配置文件,加入networks部分

  1. [root@localhost ~]# vim docker-compose.yml
  2. version: "2"
  3. networks:
  4.   test-net:
  5.     ipam:
  6.       config:
  7.       - subnet: 172.16.1.0/24
  8. services:
  9.   nginx:
  10.     image: nginx:latest
  11.     networks:
  12.       test-net:
  13.         ipv4_address: 172.16.1.2
复制代码
②启动/删除容器
  1. [root@localhost ~]# docker-compose up -d
  2. [root@localhost ~]# docker-compose down
复制代码


免责声明:
1,海欣资源网所发布的资源由网友上传和分享,不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
2,海欣资源网的资源来源于网友分享,仅限用于学习交流和测试研究目的,不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
3,海欣资源网所发布的资源由网友上传和分享,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。
4,如果您喜欢,请支持正版,购买正版,得到更好的正版服务,如有侵权,请联系我们删除并予以真诚的道歉,联系方式邮箱 haixinst@qq.com
海欣资源-企业信息化分享平台。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0

关注

0

粉丝

28

主题
热度排行
回复排行
最新贴子

Archiver|手机版|海欣资源 ( 湘ICP备2021008090号-1 )|网站地图

GMT+8, 2024-4-26 02:08 , Gzip On, MemCached On.

免责声明:本站所发布的资源和文章均来自网络,仅限用于学习交流和测试研究目的,不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 本站信息来自网络,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 如果您喜欢,请支持正版,购买正版,得到更好的正版服务,如有侵权,请联系我们删除并予以真诚的道歉。