深圳专业网站建设免费送域名空间,加盟编程教育哪家好,大气的公司名称大全,东莞热点网站建设文章目录 一、container应用示例1.需要共用同一个端口的服务#xff0c;不适用container方式2.可用示例3.停掉共享源的容器#xff0c;其他容器只有本地回环lo地址 总结 二、自定义网络应用示例默认bridge#xff0c;容器间ip通信默认bridge#xff0c;容器间服务名不通 自… 文章目录 一、container应用示例1.需要共用同一个端口的服务不适用container方式2.可用示例3.停掉共享源的容器其他容器只有本地回环lo地址 总结 二、自定义网络应用示例默认bridge容器间ip通信默认bridge容器间服务名不通 自定义网络总结 三、尝试看图 network相关内容 docker学习十八、network介绍 docker学习十九、network使用示例bridge docker学习二十、network使用示例host、none docker学习二十一、network使用示例container、自定义 一、container
应用示例
1.需要共用同一个端口的服务不适用container方式
# 启动一个容器使用默认bridge的network
docker run -itd -p 8082:80 --name ubuntu2 ubuntu:latest /bin/bash
# 启动一个容器使用ubuntu2容器的网络
docker run -itd -p 8083:80 --network container:ubuntu2 --name ubuntu3 ubuntu:latest /bin/bash2.可用示例
# 启动一个容器使用默认bridge的network
docker run -itd --name alpine alpine:latest /bin/sh
# 启动一个容器使用alpine 容器的网络
docker run -itd --network container:alpine --name alpine1 alpine:latest /bin/sh# 进入容器查看网络
docker exec -it alpine /bin/sh
ifconfig
exit
docker exec -it alpine1 /bin/sh
ifconfig
exit可以看到两个容器的ip是同一个他们都是eth0 172.17.0.3
3.停掉共享源的容器其他容器只有本地回环lo地址
# 进入容器查看网络
docker stop alpine
docker exec -it alpine1 /bin/sh
ifconfig
exit总结
新建的容器和已经存在的一个容器共享一个网络ip配置而不是和宿主机共享新创建的容器不会创建自己的网卡配置自己的ip而是和一个指定的容器共享IP、端口范围等共享源容器如果停掉其他共享这个网络的容器将只有lo回环地址container网络可以在容器创建时通过 --network container:容器名或容器ID来指定两个容器除了网络方面其他的如文件、进程列表等还是隔离的。
二、自定义网络
应用示例
默认bridge容器间ip通信
# 启动一个容器默认网络
docker run -itd -p 8090:80 --name u1 ubuntu:latest /bin/bash
# 启动一个容器默认网络
docker run -itd -p 8091:80 --name u2 ubuntu:latest /bin/bash
docker exec -it u1 /bin/bash
ip addr
docker exec -it u2 /bin/bash
ip addr
# 在u2中ping u1的ip网络是通的
ping 172.17.0.3docker exec -it u1 /bin/bash
ip addr
# 在u1中ping u2的ip网络是通的
ping 172.17.0.4结论默认bridge的情况下使用docker内部分配的ip容器之间可以通过ip通信
默认bridge容器间服务名不通
docker exec -it u1 /bin/bash
ping u2结论默认bridge的情况下容器之间不可以通过服务名通信
思考bridge情况下容器挂了ip会重新分配那么使用ip通信是不可靠的使用服务名又不通那应该如何解决这个问题呢
自定义网络
docker network ls
docker network create test_network
docker run -itd -p 8070:80 --network test_network --name u70 ubuntu:latest /bin/bash
docker run -itd -p 8071:80 --network test_network --name u71 ubuntu:latest /bin/bashdocker exec -it u70 /bin/bash
ping u71总结
创建networkdocker network create 自定义名字在容器创建时通过 --network 自定义的network名字 来指定容器之间可以通过ip或主机名通信
三、尝试看图
学到这里应该能大体看懂这个图了细品一下吧~