Docker网络--笔记
docker network
docker 不启动,默认网络情况中包含ens33、lo、virbr0
docker启动后,网络情况:docker0
docker网络模式命令:

默认创建三大网络模式
docker network create 网络名
用于新建一个网络
docker network rm 网络名
删除一个网络
docker network inspect 网络名
查看网络数据源
docker network能干啥
容器间的互联和通信以及端口映射
容器ip变动的时候可以通过服务名直接网络通信而不受到影响
网络模式
bridge:
为每一个容器分配、设置IP等,并将容器连接到一个docker0,虚拟网桥默认为该模式
使用network bridge制定,默认使用docker0
host :
容器将不会虚拟出自己的网卡,配置自己的ip等,而是使用宿主机的ip和端口
none :
容器有独立的Network,namespace,DNA并没有对其进行任何网络设置,如分配veth pair和网络桥连接,IP等
container:
新创建的容器不会创建自己的网卡和配置自己的IP,而是和一个指定的容器共享IP、端口范围等
使用network container:NAME或者容器ID指定
bridge
Docker 服务默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),该桥接网络的名称为 docker0,它在内核层连通了其他的物理或虚拟网卡。
所有容器和本地主机都放到同一个物理网络。Docker 默认指定了 docker0 接口的 IP 地址和子网掩码,让主机和容器之间可以通过网桥相互通信。
容器内部有etho,与网桥上的veth相匹配

host
直接使用宿主机的IP地址与外界进行通信,不再需要额外进行NAT转换

容器不会获得一个独立的Networkspace,而是和宿主机公用一个Networkspace,容器将不会虚拟出自己的网卡而是使用宿主机的IP和端口
警告:
docker run -d -p 8083:8080 --network host --name tomcate83 billygoo/tomcat8-jdk8
WARNING: Published ports are discarded when using host network mode
使用host模式的时候,直接可以不写端口映射,host模式是跟主机共用一个端口
none
禁用网络功能,只有lo表示(就是127.0.0.1表示本地回环)
docker run -d -p 8083:8080 --network none --name tomcate83 billygoo/tomcat8-jdk8
container

实现网络端口共享,当共享源关闭之后,另一个共享者的网络端口将不存在
docker run -it --name alpine1 alpine /bin/sh
docker run -it --network container:alpine1 --name alpine2 alpine /bin/sh
更多推荐


所有评论(0)