docker learn 4 网络


docker learn 4 网络

docker允许通过端口映射的方式实现外部网络访问。容器之间也可以实现网络互联。

外部访问容器

1
2
3
4
5
6
7
8
9
10
11
12
13
# -p 的格式如下 ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort
# -p 指定主机端口1000映射至容器端口80 可以多次使用 -p 来指定多个映射
docker run -d -p 1000:80 nginx
# 这时候可以在主机中使用nginx的反向代理将某sever来的流量转发至1000端口,继而转发到容器的80端口,实现访问。nginx中的配置如下
server {
server_name sing.cuimouren.cn;
location / {
proxy_pass http://localhost:1000/;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Accept-Encoding gzip;
}
}

容器互联

容器可以通过网络互相连接

1
2
3
4
5
6
7
#新建一个网络 -d 指定网络参数 默认为 bridge
docker network create -d bridge mynet
#建立容器并加入这个网络
docker run -itd --name host1 --network mynet alpine
docker run -itd --name host2 --network mynet alpine
#ping
docker exec -it host1 ping host2

文章作者: 崔文耀
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 崔文耀 !
  目录