docker容器之间组建局域网

65 阅读1分钟

docker容器之间为什么要组建局域网?

  • 为了方便容器之间直接进行通信
  • 避免宿主机的端口占用

docker容器之间没有局域网,怎么进行通信?

需要宿主机与容器建立一个端口映射,如: 将宿主机的8080端口,映射到B容器的80端口,C容器想与B容器通信,就得通过宿主机的8080端口进行

如何建立容器之间的局域网

查看已有的network

docker network ls

创建新的network

docker network create docker-network

docker-network是网络的名称

创建容器,并加入docker-network

容器启动时就加入指定网络

docker run --name docker-nginx -d --network docker-network --network-alias nginx-network nginx

--network docker-network: 表示这个容器要连接到 docker-network 这个网络

--network-alias 表示这个容器在此网络中的名称为 nginx-network,也可以使用--ip来指定容器的ip

容器启动后手动指定加入指定网络

docker network connect docker-network

容器之间就可以通过别名访问了, 如果没有指定别名,则直接通过容器名访问

以nginx反向代理为例

location / { 
    proxy_pass http://wp-network:80/; 
}

查看网络连接情况

docker network inspect docker-network