Docker 提供了多种网络连接方式,以下是主要的联网方法:
Docker 默认提供三种网络: - bridge:默认网络模式,容器通过虚拟网桥连接到主机网络 - host:容器直接使用主机网络栈 - none:容器没有网络连接
docker network ls
docker network create my-network
docker run --network bridge -it ubuntu bash
docker run --network host -it ubuntu bash
docker run --network my-network -it ubuntu bash
在同一个网络中的容器可以通过容器名互相访问:
# 在第一个终端运行一个容器
docker run --name container1 --network my-network -it ubuntu bash
# 在第二个终端运行另一个容器
docker run --name container2 --network my-network -it ubuntu bash
# 在container1中ping container2
ping container2
将容器端口映射到主机端口:
docker run -p 8080:80 nginx
这将把容器的80端口映射到主机的8080端口。
docker network connect my-network existing-container
docker network disconnect my-network container-name
docker network inspect my-network
docker network rm my-network
容器无法访问外网:
docker run --dns 8.8.8.8 ...
容器间无法通信:
端口冲突:
希望这些信息能帮助您配置Docker网络。如需更高级的网络配置,可以考虑使用overlay网络(用于Swarm集群)或macvlan网络。