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