精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

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

dyquk4xk2p3d ? 來源:良許Linux ? 2023-03-20 09:25 ? 次閱讀

		

		

容器未啟動?

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

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

容器已啟動?

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

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

dockerstop{容器的名稱或者id}

比如:

dockerstopcbe26510c276

查看容器完整的 hash_of_the_container 數值:

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

#比如:
dockerinspectcbe26510c276|grepId
#會得到如下結果:
#"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 數值,你也可以直接先切換到當前容器相關目錄中 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 對應的端口代表 宿主機 的端口。

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

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

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

只需要修改 "ExposedPorts": {} 相關之處。

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

最后重啟 docker,然后查看容器相關配置信息是否已經修改完畢

#重啟docker
servicedockerrestart
#或者
systemctlrestartdocker

查看容器相關配置信息:

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 配置獲得。

那么我們如何進入這個虛擬機呢?

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

dockerrun-it--rm--privileged--pid=hostjustincormack/nsenter1
  • –rm 表示在退出的時候就自動刪除該容器;
  • –privileged 表示允許該容器訪問宿主機(也就是我們想要登錄的 VM )中的各種設備;
  • –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

審核編輯 :李倩



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

    關注

    4

    文章

    955

    瀏覽量

    32014
  • 容器
    +關注

    關注

    0

    文章

    494

    瀏覽量

    22045
  • Docker
    +關注

    關注

    0

    文章

    454

    瀏覽量

    11815

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

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

收藏 人收藏

    評論

    相關推薦

    ARM平臺實現Docker容器技術

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

    ARM平臺實現Docker容器技術

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

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

    軟件名稱:天銳端口映射器軟件版本:V1.0軟件大小:72kB下載:天銳端口映射器.rar 軟件介紹:本軟件是綠色軟件,實現TCP/IP端口重定向。通過在服務器安裝運行此程序,可以把內網
    發表于 08-12 17:06

    Linux如何配置本地端口映射

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

    Docker端口映射和nginx安裝流程

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

    Docker端口映射和nginx安裝

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

    路由器端口映射的原理及設置

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

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

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

    關于自動端口映射功能實現步驟和調試

    接下來,小編就為大家講解如何使用UPnP協議實現網絡設備自動配置路由器進行端口映射
    發表于 09-23 10:00 ?4次下載
    關于自動<b class='flag-5'>端口映射</b>功能實現步驟和調試

    端口映射端口轉發的區別?

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

    Linux或Windows上實現端口映射

    Linux或Windows上實現端口映射
    的頭像 發表于 04-07 10:19 ?857次閱讀

    端口轉發和端口映射的區別 端口映射端口轉發的各自意義?

    端口轉發和端口映射的區別 端口映射端口轉發的各自意義? 端口轉發和端口映射是兩種網絡技術,它們
    的頭像 發表于 11-22 17:41 ?4984次閱讀

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

    有一個Web服務器在您的家庭網絡中運行,您可以使用路由器映射將其公開到互聯網上。這樣,任何人都可以從互聯網上訪問該Web服務器。 路由器端口映射的好處有: 1. 隱藏原地址端口。或者說
    的頭像 發表于 05-10 13:42 ?1197次閱讀

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

    容器與注入機的映射通常涉及網絡端口、文件系統和環境變量等方面的配置。以下是如何在不同方面完成容器和注入機映射的詳細說明: 1. 網絡
    的頭像 發表于 06-06 15:18 ?328次閱讀

    如何設置內網IP的端口映射到公網

    在現代網絡環境中,端口映射(Port Mapping)是一項非常實用的技術,它允許用戶將內網設備的服務端口映射到公網,使外網用戶可以訪問內網中的服務。這項技術在遠程辦公、設備遠程控制、游戲
    的頭像 發表于 11-14 14:23 ?255次閱讀