User-Profile-Image
hankin
  • 5
  • centos7
  • docker
  • mysql
  • PostgreSQL
  • git/gitlab
  • ELK
  • python
    • python-Tornado
    • python-django
  • redis
  • nginx
  • kvm
  • proxmox
  • mongo
  • kubernetes
  • prometheus
  • GlusterFs
  • nfs
  • freeswitch
  • httpd
  • shell脚本
  • linux
  • fastdfs
  • nextcloud
  • openssl
  • openvpn
  • rabbitmq
  • sqlite
  • svn
  • java
  • ubuntu
  • vue2
  • wordpress
  • php
  • IOT物联网
  • 项目
  • 故障处理
  • 树莓派
  • 博客存档
  • 未分类
  • 杂项
  • #1742(无标题)
  • 新视野
  • 分类
    • 项目
    • 树莓派
    • 杂项
    • 未分类
    • 新视野
    • 故障处理
    • 博客存档
    • 交换机
    • wordpress
    • vue2
    • ubuntu
    • svn
    • sqlite
    • shell脚本
    • redis
    • rabbitmq
    • python-django
    • python
    • proxmox
    • prometheus
    • PostgreSQL
    • php
    • openvpn
    • openssl
    • nginx
    • nfs
    • nextcloud
    • mysql
    • mongo
    • linux
    • kvm
    • kubernetes
    • java
    • IOT物联网
    • httpd
    • GlusterFs
    • git/gitlab
    • freeswitch
    • fastdfs
    • ELK
    • docker
    • centos7
  • 页面
    • #1742(无标题)
  • 友链
      请到[后台->主题设置->友情链接]中设置。
Help?

Please contact us on our email for need any support

Support
    首页   ›   docker   ›   正文
docker

在一台宿主机上运行多个docker容器,并且自动给容器分配和宿主机同网段的局域网ip

2022-10-28 23:33:41
752  0 0

需求

在一台宿主机上运行多个docker容器,并且自动给容器分配和宿主机同网段的局域网ip

环境

centos7、docker 、python2.7.x、pipework
centos7直连路由器,且该网段内还有未分配的ip

一 新建 python脚本 /root/cron/docker_net.py

源码见另一博客随笔docker_net.py

二 新建 centos7系统服务

    echo '[Unit]' >> /usr/lib/systemd/system/dockernet.service
    echo 'Description=Python Service' >> /usr/lib/systemd/system/dockernet.service
    echo 'After=multi-user.target' >> /usr/lib/systemd/system/dockernet.service
    echo '[Service]' >> /usr/lib/systemd/system/dockernet.service
    echo 'WorkingDirectory=/root/cron' >> /usr/lib/systemd/system/dockernet.service
    echo 'User=root' >> /usr/lib/systemd/system/dockernet.service
    echo 'Type=idle' >> /usr/lib/systemd/system/dockernet.service
    echo 'ExecStart=/usr/bin/python -u /root/cron/docker_net.py' >> /usr/lib/systemd/system/dockernet.service
    echo 'Restart=always' >> /usr/lib/systemd/system/dockernet.service
    echo '[Install]' >> /usr/lib/systemd/system/dockernet.service
    echo 'WantedBy=multi-user.target' >> /usr/lib/systemd/system/dockernet.service

三 新建手动检查脚本,便于检查

vim show_dockerip.sh

  #!/bin/bash
  # 显示宿主机防火墙配置,和docker容器分配到的ip

  echo "firewall————————————————————————"
  firewall-cmd --list-forward-ports

  echo "docker ip ——————————————————————"
  /usr/bin/docker exec -t -i  in1 sh -c 'ip addr' |grep 'inet 192'
  /usr/bin/docker exec -t -i  in2 sh -c 'ip addr' |grep 'inet 192'
  /usr/bin/docker exec -t -i  in3 sh -c 'ip addr' |grep 'inet 192'
  /usr/bin/docker exec -t -i  in4 sh -c 'ip addr' |grep 'inet 192'

四 运行服务

systemctl start dockernet
systemctl enable dockernet
systemctl status dockernet

查看服务日志
journalctl -f

查看防火墙配置和容器ip
show_dockerip.sh
#此处防火墙配置用于绑定主机端口到容器上,做管理用,避免容器ip改变后连不上容器

评论 (0)

点击这里取消回复。

欢迎您 游客  

Copyright © 2025 网站备案号 : 蜀ICP备2022017747号
smarty_hankin 主题. Designed by hankin
主页
页面
  • #1742(无标题)
博主
tang.show
tang.show 管理员
linux、centos、docker 、k8s、mysql等技术相关的总结文档
213 文章 2 评论 202027 浏览
测试
测试