在Debian上配置Docker网络可按以下步骤操作,涵盖网络模式选择、自定义网络创建及容器连接等核心场景:
安装Docker
sudo apt update && sudo apt install docker.io
sudo systemctl start docker && sudo systemctl enable docker
查看默认网络
docker network ls
(默认包含bridge
、host
、none
网络)
docker0
通信,需端口映射(-p
)访问外部。docker run -d --name nginx -p 8080:80 nginx # 将容器80端口映射到宿主机8080
docker run -d --network host nginx # 容器端口直接绑定宿主机端口
docker run -d --network none busybox
docker network create --driver overlay --subnet 10.0.0.0/24 my_overlay
docker service create --network my_overlay --name web nginx
创建自定义桥接网络
docker network create --driver bridge \
--subnet 192.168.1.0/24 \
--gateway 192.168.1.1 \
my_custom_bridge
连接容器到自定义网络
docker run -d --network my_custom_bridge --name my_container nginx
配置静态IP
docker run -d --network my_custom_bridge --ip 192.168.1.10 nginx
配置Docker守护进程网络:编辑/etc/docker/daemon.json
,指定监听端口或默认网络。
{
"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"],
"bip": "192.168.1.1/24" # 设置默认网桥IP
}
重启Docker生效:sudo systemctl restart docker
使用Docker Compose:通过docker-compose.yml
定义多容器网络。
version: '3'
services:
web:
image: nginx
networks:
- my_bridge
networks:
my_bridge:
driver: bridge
subnet: 192.168.1.0/24
启动服务:docker-compose up -d
docker inspect <容器名>
docker exec -it <容器名> ping 192.168.1.1 # 测试网关连通性
根据需求选择合适的网络模式,简单场景优先使用默认桥接或主机模式,复杂多主机环境需配置覆盖网络或自定义网络。