docker-网络
Posted huxl1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker-网络相关的知识,希望对你有一定的参考价值。
网络通信有几种
1 仅主机 host-only
2 nat 先给桥配个ip , 发起nat转发 iptables 配置snat规则 ,让其与外部通信
3 桥接 把物理网卡与桥做关联,物理网卡当桥
docker 网络有四种 默认为nat,自动安装创建的
1封闭式容器
2桥接式容器
3 联盟式容器 ,让两个容器之间共享一个ip
4开放式容器
#docker network bridge(桥接)
#docker run --name h1 --rm --net bridge -it busybox
#docker network none (表示封闭式的)
#docker run --name c1 --rm --net none busybox -it
#docker network inspect host (host 表示宿主机的网络,表示开放式的)
4种创建一个联盟
先启动个容器
#docker run --name h1 --rm --net bridge -it busybox
#docker run --name h2 --rm --net container:h1 -it busybox
可以添加选项:
-hostname h1.magedu.com 添加主机名
--dns 172.16.0.1 添加dns
--add-host h1.magedu.com:172.16.0.1 添加域名解析
端口 把端口暴露出去
用法:
1 -p 80
如docker run --name bbox3 -it -p 80 docker.io/busybox
docker port bbox3 查看80端口在宿主机上被映射为那个端口
2 -p 80:80 容器与宿主机都是80端口
3 -p 172.16.0.71::80 基于那个ip的端口
4 -p 172.16.0.71:80:80
暴露多个端口:
-p 80 -p 8080 -p 10080 或 –P --expose 2222 --expose 3333
docker network 网络管理命令
list
create 创建一个 桥
#docker network create -d bridge --subnet=172.31.0.0/16 --ip-range=172.31.0.0/16 --gateway=172.31.255.254 mybr0
使用该桥:
docker run --name c1 --rm -it --net mybr0 busybox
docker network connect bridge c1 连接一新桥 这是容器会多一块网卡
docker network disconnect bridge c1 拆除连接的桥
以上是关于docker-网络的主要内容,如果未能解决你的问题,请参考以下文章