Docker給容器添加新端口映射的兩種方法及常用命令舉例詳解

代碼示例:
Docker 是一個開源的應用容器引擎,它允許開發(fā)者打包他們的應用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,也可以實現(xiàn)虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。
在 Docker 中,端口映射是將容器內(nèi)部的端口映射到宿主機的端口上,使得外部可以通過宿主機的端口訪問容器內(nèi)部的服務。以下是為 Docker 容器添加新端口映射的兩種方法及常用命令的詳細例子:
方法一:使用 docker run 命令時指定端口映射
當你啟動一個容器時,可以直接在 docker run 命令中使用 -p 或 --publish 參數(shù)來指定端口映射。
命令格式:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
選項說明:
-p或--publish:格式為<宿主機端口>:<容器端口>或<宿主機端口>(此時 Docker 會自動分配容器端口)。-P或--publish-all:將容器內(nèi)部所有暴露的端口都映射到宿主機的高端口上。
例子:
# 將容器的 80 端口映射到宿主機的 8080 端口 docker run -p 8080:80 nginx # 將容器的 22 端口(SSH)映射到宿主機的 2202 端口 docker run -p 2202:22 ubuntu # 將容器的所有端口都映射到宿主機的高端口上 docker run -P nginx
方法二:使用 docker network 命令修改網(wǎng)絡設置
如果你已經(jīng)啟動了容器,想要添加新的端口映射,可以使用 docker network connect 命令來重新連接網(wǎng)絡,并指定新的端口映射。
命令格式:
docker network connect [OPTIONS] NETWORK CONTAINER
選項說明:
--publish:格式為<宿主機端口>:<容器端口>。
例子:假設你已經(jīng)有一個名為 my_container 的容器和一個名為 my_network 的網(wǎng)絡,現(xiàn)在想要將容器的 80 端口映射到宿主機的 8081 端口上。
- 首先,斷開容器與網(wǎng)絡的連接(可選,但推薦):
docker network disconnect my_network my_container
- 重新連接網(wǎng)絡,并添加新的端口映射:
docker network connect --publish 8081:80 my_network my_container
這樣,你就成功地為已存在的容器添加了新的端口映射。
常用命令
docker ps:列出當前運行的容器。docker inspect <容器ID或名稱>:查看容器的詳細信息,包括端口映射。docker port <容器ID或名稱>:查看容器的端口映射詳情。
請注意,使用 Docker 時,確保你有足夠的權限來執(zhí)行這些命令,或者使用 sudo 來獲取必要的權限。此外,確保 Docker 服務正在運行。
總結(jié)
到此這篇關于Docker給容器添加新端口映射的兩種方法及常用命令舉例詳解的文章就介紹到這了,更多相關Docker給容器添加新端口映射內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Docker?Buildx實現(xiàn)掛載緩存卷的3種高階應用場景
本文主要介紹了緩存卷掛載的3種高階應用場景,涵蓋多階段構(gòu)建、跨平臺編譯與CI/CD流水線中的實戰(zhàn)技巧,提升鏡像構(gòu)建效率與資源利用率,顯著縮短構(gòu)建時間,感興趣的可以了解一下2026-05-05
Docker中優(yōu)化Mysql運行內(nèi)存的操作
這篇文章主要介紹了Docker當中優(yōu)化Mysql運行內(nèi)存的操作,經(jīng)過一番操作可以優(yōu)化為只占用100mb內(nèi)存,具體優(yōu)化方法及技巧跟隨小編一起看看吧2022-01-01
docker.service啟動失敗:Unit not found的原因及解決辦法
這篇文章主要介紹了docker.service啟動失?。篣nit not found的原因分析及解決辦法,需要的朋友可以參考下2017-04-04
zabbix監(jiān)控docker容器狀態(tài)【推薦】
這篇文章主要介紹了zabbix監(jiān)控docker容器狀態(tài)的相關資料,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-06-06

