登 录
注 册
< 云 计 算
虚拟化
云原生
云服务
Docker安装
Docker容器管理
Docker网络管理
内存虚拟化概述
热门推荐>>>
中台架构
中台建设与架构
Hadoop
源码分析-NN启动(三)
HBase
HBased对接Hive
Linux
Nginx高可用
Python
数据导出工具
Flink
3分钟搭建Flink SQL测试环境
Kafka
Kafka对接Flume
深度学习
卷积神经网络
数据结构与算法
选择合适的算法
MySQL
数据备份恢复
计算机系统
信号量同步线程
Hive
Hive调优参数大全
其他框架
Azkaban Flow1.0与2.0
ClickHouse
表引擎-其他类型
技术成长
最好的职业建议
精选书单
技术成长书单—机器学习
技术资讯
数据在线:计算将成为公共服务
开发工具
IntelliJ IDEA 20年发展回顾(二)
系统工具
Mac命令行工具
云原生
云原生构建现代化应用
云服务
一文搞懂公有云、私有云...
Java
Spring Boot依赖注入与Runners
Go
Go函数与方法
SQL
SQL模板
安全常识
一文读懂SSO
当前位置:
首页
>>
虚拟化
>>
Docker网络管理
Docker网络管理
2023-09-03 16:32:56 星期日 发表于北京 阅读:573
![](/static/images/article_images/1693752849.017025.png) #### Docker网络通讯 ##### 容器访问外部网络 ```bash iptables -t nat -A POSTROUTING -s 172.17.0.0/16 -o docker0 -j MASQUERADE ``` ##### 外部网络访问容器 ```bash docker run -d -p 80:80 apache iptables -t nat -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER iptables -t nat -A DOCKER ! -i docker0 -p tcp -m tpc --dport 80 -j DNAT --to-destination 172.17.0.2:80 ``` #### Docker网络模式修改 `-b, --bridge="" ` 指定Docker使用的网桥设备,默认情况下Docker会自动创建和使用docker0网桥设备,通过此参数可以使用已经存在的设备 `--bip` 指定Docker0的IP和子网掩码,使用标准的CIDR形式,如:10.10.10.10/24 `--dns` 配置容器的DNS,在启动Docker进程时天际啊,所有容器全部生效 `--net` 用于指定容器的网络通讯方式,有以下四个值 - `bridge` : Docker默认方式,网桥模式 - `none`: 容器没有网络栈 - `container`: 使用其他容器的网络栈,Docker容器会加入其他容器的network namespace - `host`: 使用容器Host网络,没有自己独立的网络栈,容器可以完全访问host的网络,不安全 #### 实现不同的Container网络隔离 具体实现方式:不同的container创建不同的网络命名空间 `docker network ls `: 查看当前可用的网络类型 `docker network create -d ` 类型 网络空间名称 类型可以分为: - overlay network - bridge network 运行容器的时候通过network参数指定自己创建的网络命名空间 ```bash docker network create -d bridge --subnet "172.26.0.0/16" --gateway "172.26.0.1" my-bridge-network docker run -d --network=my-bridge-network --name test1 hub.c.163.com/public/centos:6.8-tools docker run -d --name test2 hub.c.163.com/public/centos:6.8-tools ```