章工运维 章工运维
首页
  • linux
  • windows
  • 中间件
  • 监控
  • 网络
  • 存储
  • 安全
  • 防火墙
  • 数据库
  • 系统
  • docker
  • 运维工具
  • other
  • elk
  • K8S
  • ansible
  • Jenkins
  • GitLabCI_CD
  • 随笔
  • 面试
  • 工具
  • 收藏夹
  • Shell
  • python
  • golang
友链
  • 索引

    • 分类
    • 标签
    • 归档
    • 首页 (opens new window)
    • 关于我 (opens new window)
    • 图床 (opens new window)
    • 评论 (opens new window)
    • 导航栏 (opens new window)
周刊
GitHub (opens new window)

章工运维

业精于勤,荒于嬉
首页
  • linux
  • windows
  • 中间件
  • 监控
  • 网络
  • 存储
  • 安全
  • 防火墙
  • 数据库
  • 系统
  • docker
  • 运维工具
  • other
  • elk
  • K8S
  • ansible
  • Jenkins
  • GitLabCI_CD
  • 随笔
  • 面试
  • 工具
  • 收藏夹
  • Shell
  • python
  • golang
友链
  • 索引

    • 分类
    • 标签
    • 归档
    • 首页 (opens new window)
    • 关于我 (opens new window)
    • 图床 (opens new window)
    • 评论 (opens new window)
    • 导航栏 (opens new window)
周刊
GitHub (opens new window)
  • linux

  • windows

  • 中间件

  • 网络

  • 安全

  • 存储

  • 防火墙

  • 数据库

  • 系统

  • docker

    • Docker构建镜像
    • docker和docker-compose安装
    • 如何选择docker基础镜像
    • 常见的dockerfile汇总
    • 基于官方php7.2.34镜像构建生产可用镜像
    • docker配置网络代理拉取镜像
    • dockerfile文件展示
    • buildx构建支持多CPU架构平台的docker镜像
    • Docker主机跨主机互联方式
      • 环境
      • 修改 Docker 容器内部 ip
      • 添加路由规则
      • 测试
      • 结论:
    • 如何清除Docker缓存并释放系统空间
  • other

  • 监控

  • 运维
  • docker
章工运维
2024-12-25
目录

Docker主机跨主机互联方式

# 环境

主机 ip
docker1 192.168.31.178
docker2 192.168.31.188

前提:

  1. 安装好 docker
  2. 关闭防火墙和 selinux
# 两个主机添加内核转发参数
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf

sysctl -p /etc/sysctl.conf

1
2
3
4
5

# 修改 Docker 容器内部 ip

# docker1 指定为 172.17.2.1/24 网络
cat /etc/docker/daemon.json 
{
        "bip":"172.17.2.1/24"
}

# docker2 指定为 172.17.3.1/24 网络
cat /etc/docker/daemon.json 
{
        "bip":"172.17.3.1/24"
}

1
2
3
4
5
6
7
8
9
10
11
12

# 添加路由规则

# docker1 
route add -net 172.17.3.0 netmask 255.255.255.0 gw 192.168.31.188

systemctl restart docker

# docker2
route add -net 172.17.2.0 netmask 255.255.255.0 gw 192.168.31.178
systemctl restart docker

1
2
3
4
5
6
7
8
9

# 测试

# docker1
docker run -it -d --name centos8_1 centos:centos8
docker exec -it centos8_1 /bin/bash

1
2
3
4

f1385b6540dd62cb.png

# docker2
docker run -it -d --name centos8_2 centos:centos8
docker exec -it centos8_2 /bin/bash
1
2
3

4f2758bc7a32618a.png

docker1

470cfd248bfd50d3.png

93e3b51f5c4f05fb.png

# 结论:

两个主机中的 docker 容器可以通过 ip 访问,但是没有办法通过主机名访问


原文链接 (opens new window)

微信 支付宝
上次更新: 2024/12/26, 16:18:59

← buildx构建支持多CPU架构平台的docker镜像 如何清除Docker缓存并释放系统空间→

最近更新
01
shell脚本模块集合
05-13
02
生活小技巧(认知版)
04-29
03
生活小技巧(防骗版)
04-29
更多文章>
Theme by Vdoing | Copyright © 2019-2025 | 点击查看十年之约 | 鄂ICP备2024072800号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式