Docker 是當前最流行的輕量級虛擬化技術(shù)之一,可以幫助開發(fā)者快速構(gòu)建、發(fā)布和管理應(yīng)用程序。在 Docker 中,每個應(yīng)用程序都被打包成一個或多個容器,提供了強大的隔離和封裝功能,并允許多個容器同時運行在同一個主機上。本文將介紹如何在 Docker 中運行多個容器,并提供多個端口以支持不同的應(yīng)用程序服務(wù)。
version: '3'
services:
web1:
image: nginx
container_name: web1
ports:
- "80:80"
volumes:
- ./config/web1:/etc/nginx/conf.d
- ./html:/usr/share/nginx/html
web2:
image: nginx
container_name: web2
ports:
- "81:80"
volumes:
- ./config/web2:/etc/nginx/conf.d
- ./html:/usr/share/nginx/html
以上是一個 Docker Compose 文件示例,其中定義了兩個容器,分別運行了兩個 Nginx 服務(wù)器。在每個容器中,我們將端口80
映射到宿主機的端口80
和81
上,以便在不同的端口上提供不同的服務(wù)。此外,我們還將每個容器的配置和網(wǎng)頁內(nèi)容映射到宿主機上的不同目錄中,以便在容器運行期間可以方便地修改和更新。
要啟動該 Docker Compose 文件,只需要執(zhí)行以下命令:
docker-compose up -d
上述命令將啟動兩個容器,分別提供80
和81
端口上的服務(wù)。您可以通過使用以下命令檢查運行情況:
docker-compose ps
通過訪問http://localhost
和http://localhost:81
,您可以在不同的端口上訪問兩個不同的 Nginx 服務(wù)器。為了實現(xiàn)其他服務(wù)的多端口映射,只需要通過修改上述docker-compose.yml
文件中的端口映射來實現(xiàn)即可。