Docker 多端口 TCP 是什么?在運(yùn)行 Docker 容器時(shí),我們通常會(huì)發(fā)現(xiàn)容器與宿主機(jī)之間需要進(jìn)行端口映射,從而實(shí)現(xiàn)容器內(nèi)的服務(wù)可以被外部訪問(wèn)。而 Docker 多端口 TCP 則是指可以將多個(gè)容器內(nèi)不同的服務(wù),在同一臺(tái)宿主機(jī)上同時(shí)展現(xiàn)出來(lái),通過(guò)使用不同的端口號(hào)來(lái)區(qū)分不同的服務(wù)。
如何實(shí)現(xiàn) Docker 多端口 TCP?下面我們以 Tomcat 容器為例:
docker run -p 8080:8080 -p 8009:8009 -p 8443:8443 -itd tomcat:latest
上面的命令指定了 Tomcat 容器需要開(kāi)放的三個(gè)端口號(hào)分別為 8080、8009 和 8443。其中,左側(cè)的數(shù)字為宿主機(jī)上的端口號(hào),右側(cè)的數(shù)字則為容器內(nèi)的端口號(hào)。通過(guò)這種方式,我們可以在本地訪問(wèn)指定的端口號(hào),就像訪問(wèn)宿主機(jī)上的服務(wù)一樣。
在實(shí)際應(yīng)用中,我們可能需要對(duì)多個(gè)容器內(nèi)的服務(wù)進(jìn)行端口暴露。這時(shí),可以使用 Docker Compose 工具來(lái)完善一些相關(guān)的配置:
version: "3" services: tomcat_1: image: tomcat:latest ports: - "8080:8080" - "8009:8009" - "8443:8443" tomcat_2: image: tomcat:latest ports: - "8081:8080" - "8010:8009" - "8444:8443"
在上面的配置中,我們創(chuàng)建了兩個(gè) Tomcat 容器,它們分別使用了不同的端口號(hào)。通過(guò)運(yùn)行docker-compose up
命令,我們就可以在同一臺(tái)宿主機(jī)上啟動(dòng)這兩個(gè)容器,并實(shí)現(xiàn)多端口 TCP 的功能。