使用docker-compose创建网桥过程
作者:仙吟
文章介绍了通过docker-compose创建网桥(使用hello-world镜像),容器退出后网桥仍存在;删除网桥时使用docker-composedown,网桥消失但其他容器可能仍依赖其网络
1.docker-compose创建网桥
通过安装hello-world镜像来实现网桥的创建。
version: '3'
networks:
ubuntu-network:
name: ubuntu-network
ipam:
config:
- subnet: "192.168.3.0/24"
gateway: "192.168.3.1"
services:
hello-world:
image: hello-world
container_name: hello-world
networks:
- ubuntu-network
容器hello-world运行完成便会退出,不会保留容器,但网桥还保留。
test@test:~/network# docker compose up -d [+] Running 1/2 ⠼ Network ubuntu-network Created 0.5s ✔ Container hello-world Started
查询当前网络,可以看到已经创建了一个名为ubuntu-network的网桥。
test@test:~/network# docker network ls NETWORK ID NAME DRIVER SCOPE e66ea9b6eb57 bridge bridge local 8948e1300549 host host local 5f8cdd39b77a none null local 5f4d025d0ce2 ubuntu-network bridge local
查询当前容器,可以看到当前没有任何容器在运行
test@test:~/network# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2.删除网桥
使用docker-compose down删除网桥
test@test:~/network# docker compose down [+] Running 2/2 ✔ Container hello-world Removed 0.0s ✔ Network ubuntu-network Removed
查询网络,便会发现网桥已删除
test@test:~/network# docker network ls NETWORK ID NAME DRIVER SCOPE e66ea9b6eb57 bridge bridge local 8948e1300549 host host local 5f8cdd39b77a none null local
3.其他容器使用网桥
version: '3'
services:
nginx:
restart: always
container_name: nginx
image: nginx
ports:
- 80:80
- 443:443
networks:
- ubuntu-network
networks:
ubuntu-network:
name: ubuntu-network
external: true
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
