99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

居然能修改已運行的Docker容器端口映射?

dyquk4xk2p3d ? 來源:良許Linux ? 2023-03-20 09:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群


		

		

容器未啟動?

如果你的容器還沒有構(gòu)建時,想添加端口映射時,你只需要在創(chuàng)建容器的時候添加 -p 參數(shù),想添加幾個端口映射就追加幾個 -p 參數(shù)。類似于如下示例:

dockerrun--nameapi_dfo_hyperf_ws
-v/Users/pudongping/glory/codes/dfo/api_dfo_hyperf:/api_dfo_hyperf
-p9502:9502
-p9503:9503
-p9504:9504
-p9505:9505-it
--entrypoint/bin/sh
alex/alex_api_dfo:v1.0

容器已啟動?

但是想修改或者添加端口時,先停止掉正在運行的容器。

以下內(nèi)容都是以容器 id 為 cbe26510c276 進行操作的,請務(wù)必將容器 id 換成你自己需要修改的容器 id。

dockerstop{容器的名稱或者id}

比如:

dockerstopcbe26510c276

查看容器完整的 hash_of_the_container 數(shù)值:

dockerinspect{容器的名稱或者id}|grepId

#比如:
dockerinspectcbe26510c276|grepId
#會得到如下結(jié)果:
#"Id":"cbe26510c276fa9a4487a8c2af8cbb49410f2a5305149d2b26eb8ce37c777d00"

打開 hostconfig.json 配置文件

vim/var/lib/docker/containers/{hash_of_the_container}/hostconfig.json

比如:

vim/var/lib/docker/containers/cbe26510c276fa9a4487a8c2af8cbb49410f2a5305149d2b26eb8ce37c777d00/hostconfig.json

如果你不想先查看完整的容器 hash_of_the_container 數(shù)值,你也可以直接先切換到當前容器相關(guān)目錄中 cd /var/lib/docker/containers/{hash_of_the_container}* , 然后再去編輯 hostconfig.json 配置文件。

cd/var/lib/docker/containers/{hash_of_the_container}*

比如

cd/var/lib/docker/containers/cbe26510c276*

然后再去編輯 hostconfig.json 配置文件:

vimhostconfig.json

修改 hostconfig.json 配置文件

在 hostconfig.json 配置文件中,找到 "PortBindings":{} 這個配置項,然后進行修改。我這里添加了兩個端口映射,分別將宿主機的 8502 端口以及 8505 端口映射到容器的 8502 端口和 8505 端口。

HostPort 對應(yīng)的端口代表 宿主機 的端口。

建議容器使用什么端口,宿主機就映射什么端口,方便以后管理。當然,具體情況,具體分析。

{
"PortBindings":{
"8502/tcp":[
{
"HostIp":"",
"HostPort":"8502"
}
],
"8505/tcp":[
{
"HostIp":"",
"HostPort":"8505"
}
]
}
}

如果 config.v2.json 配置文件或者 config.json 配置文件中也記錄了端口,也需要進行修改,如果沒有,就不需要改。

只需要修改 "ExposedPorts": {} 相關(guān)之處。

{
"Args":[],
"Config":{
"ExposedPorts":{
"8502/tcp":{},
"8505/tcp":{}
},
"Entrypoint":[
"/bin/sh"
]
}
}

最后重啟 docker,然后查看容器相關(guān)配置信息是否已經(jīng)修改完畢

#重啟docker
servicedockerrestart
#或者
systemctlrestartdocker

查看容器相關(guān)配置信息:

dockerinspect{容器的名稱或者id}
#比如:
dockerinspectcbe26510c276

配置符合你的要求后,再次啟動容器:

dockerstart{容器的名稱或者id}
#比如:
dockerstartcbe26510c276

Docker Desktop for Mac

How to login the VM of Docker Desktop for Mac

因為在 Docker for MacOS 中,容器的宿主機并不是 MacOS 本身,而是在 MacOS 中運行的一個 VM 虛擬機 。虛擬機的路徑可以通過查看 Docker Desktop 的配置界面 Disk image location 配置獲得。

那么我們?nèi)绾芜M入這個虛擬機呢?

最簡單的方式是采用 justincormack/nsenter1 進入,這個鏡像只有 101KB,已經(jīng)非常小了。

dockerrun-it--rm--privileged--pid=hostjustincormack/nsenter1
  • –rm 表示在退出的時候就自動刪除該容器;
  • –privileged 表示允許該容器訪問宿主機(也就是我們想要登錄的 VM )中的各種設(shè)備;
  • –pid=host 表示允許容器共享宿主機的進程命名空間(namespace),或者通俗點兒解釋就是允許容器看到宿主機中的各種進程;

然后再進入 /var/lib/docker/containers 目錄修改 config.v2.json 配置文件和 hostconfig.json 配置文件即可。整體來說,在 MacOS 上除了進入 /var/lib/docker/containers 目錄時,進入方式有所不同以外,修改配置文件方式和上文一樣。需要注意的是,修改的時候請使用 vi 編輯器,因為這個鏡像沒有安裝 vim 編輯器的。

比如:

vi/var/lib/docker/containers/a7377587b9f08cfe87af9a8ffa4da0f90bf07fb0a1cd6833a5ffcd9c37b842d0/config.v2.json

vi/var/lib/docker/containers/a7377587b9f08cfe87af9a8ffa4da0f90bf07fb0a1cd6833a5ffcd9c37b842d0/ho

審核編輯 :李倩



聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 端口
    +關(guān)注

    關(guān)注

    4

    文章

    1046

    瀏覽量

    32937
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    511

    瀏覽量

    22449
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    515

    瀏覽量

    12956

原文標題:騷操作!居然能修改已運行的 Docker 容器端口映射?

文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    ARM平臺實現(xiàn)Docker容器技術(shù)

    /home/tronlong/docker/myregistry:/var/lib/registry registry:2 參數(shù)說明: -d:后臺啟動容器。 -p:將容器的5000端口映射
    發(fā)表于 07-17 11:05

    ARM平臺實現(xiàn)Docker容器技術(shù)

    容器的5000端口映射至Ubuntu的5000端口(5000是registry服務(wù)端口)。 -v:將容器"/var/lib/reg
    發(fā)表于 07-25 14:36

    [分享]免費小軟件——天銳端口映射器V1.0

    軟件名稱:天銳端口映射器軟件版本:V1.0軟件大?。?2kB下載:天銳端口映射器.rar 軟件介紹:本軟件是綠色軟件,實現(xiàn)TCP/IP端口重定向。通過在服務(wù)器安裝運行此程序,可以把內(nèi)網(wǎng)
    發(fā)表于 08-12 17:06

    Linux如何配置本地端口映射

    在linux服務(wù)器上,1024以下的端口是禁止非root用戶使用的。所以如果想要使用80端口訪問tomcat,則修改conf/server.xml的端口為80,那么只能使用root用戶
    發(fā)表于 07-22 07:14

    Docker端口映射和nginx安裝流程

    Docker端口映射和nginx安裝
    發(fā)表于 04-14 11:44

    Docker端口映射和nginx安裝

    Docker端口映射和nginx安裝
    發(fā)表于 04-17 11:44

    路由器端口映射的原理及設(shè)置

    路由器端口映射的原理及設(shè)置 端口映射其實就是我們常說的?NAT地址轉(zhuǎn)換的一種,其功能就是把在公網(wǎng)的地址轉(zhuǎn)翻譯成私有地址,?采
    發(fā)表于 01-27 10:05 ?793次閱讀

    使用IdMappedPortTCP進行端口映射_Delphi教程

    Delphi教程使用IdMappedPortTCP進行端口映射,很好的Delphi學習資料。
    發(fā)表于 03-16 15:00 ?40次下載

    關(guān)于自動端口映射功能實現(xiàn)步驟和調(diào)試

    接下來,小編就為大家講解如何使用UPnP協(xié)議實現(xiàn)網(wǎng)絡(luò)設(shè)備自動配置路由器進行端口映射。
    發(fā)表于 09-23 10:00 ?4次下載
    關(guān)于自動<b class='flag-5'>端口映射</b>功能實現(xiàn)步驟和調(diào)試

    端口映射端口轉(zhuǎn)發(fā)的區(qū)別?

    端口轉(zhuǎn)發(fā),有時被叫做隧道,是安全殼為網(wǎng)絡(luò)安全通信使用的一種方法。端口轉(zhuǎn)發(fā)是轉(zhuǎn)發(fā)一個網(wǎng)絡(luò)端口從一個網(wǎng)絡(luò)節(jié)點到另一個網(wǎng)絡(luò)節(jié)點的行為端口映射是NAT的一種,功能是把在公網(wǎng)的地址轉(zhuǎn)翻譯成私有地
    發(fā)表于 12-04 17:31 ?3.7w次閱讀
    <b class='flag-5'>端口映射</b>和<b class='flag-5'>端口</b>轉(zhuǎn)發(fā)的區(qū)別?

    Linux或Windows上實現(xiàn)端口映射

    Linux或Windows上實現(xiàn)端口映射
    的頭像 發(fā)表于 04-07 10:19 ?1185次閱讀

    端口轉(zhuǎn)發(fā)和端口映射的區(qū)別 端口映射端口轉(zhuǎn)發(fā)的各自意義?

    端口轉(zhuǎn)發(fā)和端口映射的區(qū)別 端口映射端口轉(zhuǎn)發(fā)的各自意義? 端口轉(zhuǎn)發(fā)和端口映射是兩種網(wǎng)絡(luò)技術(shù),它們
    的頭像 發(fā)表于 11-22 17:41 ?5792次閱讀

    路由器映射是什么意思?路由器端口映射怎么設(shè)置?

    有一個Web服務(wù)器在您的家庭網(wǎng)絡(luò)中運行,您可以使用路由器映射將其公開到互聯(lián)網(wǎng)上。這樣,任何人都可以從互聯(lián)網(wǎng)上訪問該Web服務(wù)器。 路由器端口映射的好處有: 1. 隱藏原地址端口?;蛘哒f
    的頭像 發(fā)表于 05-10 13:42 ?2262次閱讀

    容器怎么完成和容器引擎的映射

    容器與注入機的映射通常涉及網(wǎng)絡(luò)端口、文件系統(tǒng)和環(huán)境變量等方面的配置。以下是如何在不同方面完成容器和注入機映射的詳細說明: 1. 網(wǎng)絡(luò)
    的頭像 發(fā)表于 06-06 15:18 ?630次閱讀

    如何設(shè)置內(nèi)網(wǎng)IP的端口映射到公網(wǎng)

    在現(xiàn)代網(wǎng)絡(luò)環(huán)境中,端口映射(Port Mapping)是一項非常實用的技術(shù),它允許用戶將內(nèi)網(wǎng)設(shè)備的服務(wù)端口映射到公網(wǎng),使外網(wǎng)用戶可以訪問內(nèi)網(wǎng)中的服務(wù)。這項技術(shù)在遠程辦公、設(shè)備遠程控制、游戲
    的頭像 發(fā)表于 11-14 14:23 ?1963次閱讀