← ClaudeAtlas

networkinglisted

Docker 容器网络
ryukyagamilight/terminal-skills · ★ 1 · AI & Automation · score 79
Install: claude install-skill ryukyagamilight/terminal-skills
# Docker 容器网络 ## 概述 容器网络模式、跨主机通信等技能。 ## 网络驱动 ### 网络类型 ```bash # bridge(默认)- 单主机容器通信 # host - 共享主机网络 # none - 无网络 # overlay - 跨主机通信(Swarm) # macvlan - 分配 MAC 地址 ``` ### 查看网络 ```bash # 列出网络 docker network ls # 网络详情 docker network inspect bridge docker network inspect network_name # 查看容器网络 docker inspect container_name --format '{{json .NetworkSettings.Networks}}' ``` ## Bridge 网络 ### 默认 bridge ```bash # 容器使用默认 bridge docker run -d --name web nginx # 查看 IP docker inspect web --format '{{.NetworkSettings.IPAddress}}' # 默认 bridge 容器间通过 IP 通信 # 不支持容器名解析 ``` ### 自定义 bridge ```bash # 创建网络 docker network create mynet docker network create --driver bridge --subnet 172.20.0.0/16 mynet # 使用自定义网络 docker run -d --name web --network mynet nginx docker run -d --name api --network mynet myapi # 自定义网络支持容器名解析 docker exec api ping web ``` ### 连接多个网络 ```bash # 创建网络 docker network create frontend docker network create backend # 容器连接多个网络 docker run -d --name app --network frontend myapp docker network connect backend app # 断开网络 docker network disconnect frontend app ``` ## Host 网络 ```bash # 使用主机网络 docker run -d --network host nginx # 容器直接使用主机端口 # 无需端口映射 # 性能最好,但端口可能冲突 ``` ## None 网络 ```bash # 无网络 docker run -d --network none myapp # 完全隔离,无网络访问 # 适用于安全敏感场景 ``` ## 端口映射 ```bash # 映射端口 docker run -d -p 8080:80 nginx # HOST:CONTAINER docker run -d -p 80:80 -p 443:443 nginx # 多端口 docker run -d -p 127.0.0.1:8080:80 nginx # 绑定特定 IP docker run -d -P nginx