🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
docker启动后,会创建一个 名为 docker0 的虚拟网桥 ## 作用 1. 容器间及容器和主机间的互联互通以及端口映射 2. 容器IP变动时候可以通过服务名直接网络通信而不受到影响(**docker容器内部的ip是有可能会发生改变的**) ## 查看帮助 docker network --help ## 查看 docker 网络情况 ``` docker network ls ``` 会显示 NAME 为 bridge host none 的网络 ## 创建网络 ``` 手动设置为 bridge 模式的网络 docker network create --driver=bridge 网络名称 docker network create 网络名称 ``` ## 查看网络源数据 ``` docker network inspect 网络名字 如: docker network inspect bridge ``` ## 删除网络 ``` docker network rm 网络名字 ``` ## 四大模式 --network 可以写成 --net 只有 bridge 有子网络(subnet) ### bridge(桥接模式) 默认模式, 使用--network bridge指定,为每一个容器分配、设置IP等。Docker 服务默认会创建一个** docker0 **网络,它在内核层连通了其他的物理或虚拟网卡。Docker 默认指定了 docker0 接口 的 IP 地址和子网掩码,让主机和容器之间可以通过网桥相互通信。 ### host (主机模式) 使用--network host指定 仅适用于 Linux 主机。容器将不会虚拟出自己的网卡,配置自己的IP等,而是 **使用宿主机的IP和端口**,**主机和容器共用**。这种使用 -p 去映射端口无效。 ### container模式 使用 --network container:NAME或者容器ID指定。 新创建的容器不会创建自己的网卡和配置自己的IP,而是和一个指定的容器共享IP、端口范围等。 ### none模式 使用 --network none指定。容器有独立的Network namespace,但并没有对其进行任何网络设置,如分配veth pair和网桥连接,IP等。 ## 自定义网络 创建默认的桥接网络 ``` docker network create my_network ``` 使用 在docker run 运行容器镜像时, 增加 --network my_network ``` docker run -d -p 8081:8080 --network my_network --name tomcat81 billygoo/tomcat8-jdk8 ``` 自定义网络本身就维护好了主机名和ip的对应关系(ip和域名都能通),通过容器名称就可访问.