最近實驗室項目需要在同一臺機器上運行多個服務,使用默認端口會造成端口沖突。想到了 docker,于是開始了解 docker 的多端口使用。
docker run -p [host_port]:[container_port] [image]
這是 docker 多端口映射的命令,其中:
host_port
代表宿主機的端口號,可以是任何正整數。container_port
代表容器內的端口號,需要和 Dockerfile 中的指定的端口一致。image
代表要啟動的鏡像名。
比如要把容器內的 3000 端口映射到宿主機的 5000 端口,可以使用如下命令:
docker run -p 5000:3000 [image]
這樣,在宿主機上就可以通過訪問localhost:5000
來訪問容器內啟動的服務。
當然,如果需要映射多個端口,可以使用多個-p
參數來設置,比如:
docker run -p 5000:3000 -p 6000:4000 [image]
這樣就將容器內的 3000 端口映射到宿主機的 5000 端口,同時將容器內的 4000 端口映射到宿主機的 6000 端口。
在 docker-compose 文件中也可以設置多端口映射,比如:
services:
service1:
build: .
ports:
- "5000:3000"
service2:
build: .
ports:
- "6000:4000"
這里,service1
和service2
都分別映射了一個端口,同樣可以使用多個ports
參數來設置多個端口。
總結一下,docker 的多端口映射非常簡單易懂,使用起來也非常方便。在實際應用中,多個服務可以通過映射不同的端口來實現隔離,從而避免端口沖突和服務互相影響的問題。
上一篇3.0vue
下一篇css加載服務器字體