Docker給容器添加新端口映射的兩種方法及常用命令舉例詳解
代碼示例:
Docker 是一個開源的應用容器引擎,它允許開發(fā)者打包他們的應用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。
在 Docker 中,端口映射是將容器內部的端口映射到宿主機的端口上,使得外部可以通過宿主機的端口訪問容器內部的服務。以下是為 Docker 容器添加新端口映射的兩種方法及常用命令的詳細例子:
方法一:使用 docker run 命令時指定端口映射
當你啟動一個容器時,可以直接在 docker run
命令中使用 -p
或 --publish
參數來指定端口映射。
命令格式:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
選項說明:
-p
或--publish
:格式為<宿主機端口>:<容器端口>
或<宿主機端口>
(此時 Docker 會自動分配容器端口)。-P
或--publish-all
:將容器內部所有暴露的端口都映射到宿主機的高端口上。
例子:
# 將容器的 80 端口映射到宿主機的 8080 端口 docker run -p 8080:80 nginx # 將容器的 22 端口(SSH)映射到宿主機的 2202 端口 docker run -p 2202:22 ubuntu # 將容器的所有端口都映射到宿主機的高端口上 docker run -P nginx
方法二:使用 docker network 命令修改網絡設置
如果你已經啟動了容器,想要添加新的端口映射,可以使用 docker network connect
命令來重新連接網絡,并指定新的端口映射。
命令格式:
docker network connect [OPTIONS] NETWORK CONTAINER
選項說明:
--publish
:格式為<宿主機端口>:<容器端口>
。
例子:假設你已經有一個名為 my_container
的容器和一個名為 my_network
的網絡,現在想要將容器的 80 端口映射到宿主機的 8081 端口上。
- 首先,斷開容器與網絡的連接(可選,但推薦):
docker network disconnect my_network my_container
- 重新連接網絡,并添加新的端口映射:
docker network connect --publish 8081:80 my_network my_container
這樣,你就成功地為已存在的容器添加了新的端口映射。
常用命令
docker ps
:列出當前運行的容器。docker inspect <容器ID或名稱>
:查看容器的詳細信息,包括端口映射。docker port <容器ID或名稱>
:查看容器的端口映射詳情。
請注意,使用 Docker 時,確保你有足夠的權限來執(zhí)行這些命令,或者使用 sudo
來獲取必要的權限。此外,確保 Docker 服務正在運行。
總結
到此這篇關于Docker給容器添加新端口映射的兩種方法及常用命令舉例詳解的文章就介紹到這了,更多相關Docker給容器添加新端口映射內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
skywalking agent 關聯docker鏡像的多種方法
Apache SkyWalking 提供了多種方式來部署和使用 SkyWalking Agent,包括在 Docker 容器中運行的應用,本文給大家分享幾種方式將 SkyWalking Agent 集成到你的 Docker 應用中,感興趣的朋友一起看看吧2025-04-04Docker啟動RabbitMQ實現生產者與消費者的詳細過程
這篇文章主要介紹了Docker啟動RabbitMQ,實現生產者與消費者,通過Docker拉取鏡像并啟動RabbitMQ,本文結合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-02-02