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
|