以下是在Ubuntu上配置Docker网络的常用方法:
查看网络
docker network ls
:列出所有网络。
创建自定义网络
docker network create --driver bridge my_bridge
。docker network create --driver bridge --subnet=192.168.1.0/24 --gateway=192.168.1.1 my_bridge
。连接容器到网络
docker run -d --name my_container --network my_bridge nginx
。
或连接已运行的容器:
docker network connect my_bridge my_container
。
配置网络参数
-p 8080:80
(宿主机端口:容器端口)。--ip 192.168.1.10
(需在自定义网络中提前规划IP段)。--dns=8.8.8.8
。--alias my_alias
。使用默认网络
bridge
(默认):docker run -d --network bridge nginx
。host
(共享宿主机网络):docker run -d --network host nginx
。none
(无网络):docker run -d --network none nginx
。删除网络
docker network rm my_bridge
。
高级配置
/etc/docker/daemon.json
,修改默认网络参数(如bip
定义bridge网段),修改后需重启Docker:sudo systemctl restart docker
。docker-compose.yml
中配置networks
字段。示例:创建自定义桥接网络并运行容器
# 创建网络
docker network create --driver bridge --subnet=172.18.0.0/16 --gateway=172.18.0.1 my_net
# 运行容器并连接网络,指定静态IP
docker run -d --name web --network my_net --ip 172.18.0.10 -p 8080:80 nginx
# 查看网络详情
docker network inspect my_net
根据需求选择合适的网络模式,简单场景可直接使用默认bridge
,复杂场景可自定义网络或使用overlay
(跨主机通信)等模式。