前面的推文我們學了Docker操作的常用命令,今天開始給大家分享Docker端口映射與容器互聯,歡迎關注。Docker不管是程序員,架構師或者測試工程師都必須要掌握的一門主流技術。
Docker除了通過網絡訪問外,還提供了兩個很方便的功能來滿足服務訪問的基本需求,一個是允許映射容器內應用的服務端口到本地宿主主機;另一個是互聯機制實現多個容器間通過容器名來快速訪問。
01端口映射實現容器訪問
1、從外部訪問容器應用
在啟動容器時,如果不指定對應參數,在容器外部是無法通過網絡來訪問容器內的網絡應用和服務的,當容器中運行一些網絡應用,要讓外部訪問這些應用時,可以通過-P或-p參數來指商品映射,當使用-P(大寫)選項時,Docker會隨機映射一個49000-49900的商品到內部之余器開放的網絡端口。
root@localhost ~]# docker run -it --name test_tomcat -P 299d4c2f91fd
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
614da5b158d9 299d4c2f91fd "catalina.sh run" 4 minutes ago
Up 4 minutes 0.0.0.0:32770->8080/tcp test-tomcat
3b93cdf44fc3 mysql "docker-entrypoint.s 3 weeks ago
Up 22 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp mysql-test
可以看到本機的32770被映射到容器的8080端口,訪問宿主主機的32770端口即可訪問容器內的web應用程序。
2、映射所有接口地址
使用HostPort:ContainerPort格式本地的8080端口映射到容器的8080端口,可以執行如下命令:???????
[root@localhost ~]# docker