如何通过Docker搭建一个完整的开发环境?

摘要:通过 Docker 创建开发环境 网络设置 1. 查看所有Docker网络 docker network ls 示例结果: NETWORK ID NAME DRIVER SCOPE b649b57f5bc5 bridge bridge lo
通过 Docker 创建开发环境 网络设置 1. 查看所有Docker网络 docker network ls 示例结果: NETWORK ID NAME DRIVER SCOPE b649b57f5bc5 bridge bridge local 7e8c2d2c0b5a host host local 6a9c8d69bfb2 none null local bridge: Docker默认的桥接网络 host: 使用主机网络 none: 不使用网络 2. 查看特定网络的详细信息 docker network inspect nacos-net 显示信息: 网络的子网范围 网关地址 该网络下所有容器的IP和名称 3. 查看网络内的所有容器 docker network inspect nacos-net | findstr "Name" "IPAddress" 或者更简洁的方式: docker network inspect nacos-net --format '{{ range .Containers }}{{ .Name }} - {{ .IPAddress }}{{ end }}' 更复杂的网络设置 1. 自定义桥接网络 docker network create \ --driver bridge \ --subnet 192.168.100.0/24 \ --gateway 192.168.100.1 \ --ip-range 192.168.100.0/25 \ net-name --driver: 指定网络驱动类型为 bridge(桥接模式,Docker 默认的网络类型,用于单机容器之间的通信) --subnet: 指定网络的子网 --gateway: 指定网关 --ip-range: 指定可用IP范围 2. Overlay网络(跨主机通信) # 在第一个主机上创建 docker network create --driver overlay my-overlay-net # 在第二个主机上加入 docker network connect my-overlay-net <container-name> 3. 多网络连接(微服务架构) # 创建两个网络 docker network create frontend-net docker network create backend-net # 启动前端服务 docker run -d --name frontend --network frontend-net nginx # 启动后端服务 docker run -d --name backend --network backend-net --network frontend-net app # 启动数据库 docker run -d --name mysql --network backend-net mysql 这样设置后,前端服务可以通过frontend-net网络访问,后端服务可以通过backend-net网络访问数据库,同时也能通过frontend-net与前端通信。
阅读全文