发布于 2024-10-21
理解 Docker 的网络和数据卷管理对于运行容器化应用至关重要。
Docker 网络类型
- bridge — 默认网络,容器间可通过 IP 通信
- host — 容器直接使用宿主机网络
- overlay — 跨主机容器通信(Swarm 模式)
- none — 无网络
# 创建自定义网络 docker network create mynet # 查看网络 docker network ls docker network inspect mynet # 在指定网络中运行容器 docker run -d --network mynet --name web nginx
Docker 数据卷
# 创建数据卷 docker volume create mydata # 查看数据卷 docker volume ls # 挂载数据卷 docker run -d -v mydata:/var/lib/mysql mysql:8.0 # 绑定挂载 docker run -d -v /host/path:/container/path nginx # 临时卷(tmpfs) docker run -d --tmpfs /tmp nginx
容器间通信
# 使用容器名通信(需在同一网络) docker run -d --network mynet --name db mysql docker run -d --network mynet --name app -e DB_HOST=db myapp # 暴露端口 docker run -d -p 8080:80 nginx