修改docker容器埠對映的方法

2021-09-23 17:21:04 字數 898 閱讀 3306

大家都知道docker run可以指定埠對映,但是容器一旦生成,就沒有乙個命令可以直接修改。通常間接的辦法是,儲存映象,再建立乙個新的容器,在建立時指定新的埠對映。

方法一

cd /var/lib/docker/containers/d00254ce3af7*     #這裡是container id

vim hostconfig.json

如果之前沒有埠對映, 應該有這樣的一段:

"portbindings":{}

增加乙個對映, 這樣寫:

"portbindings":]}

前乙個數字是容器埠, 後乙個是宿主機埠。將宿主機的60000埠對映到容器的8080埠

而修改現有埠對映更簡單, 把埠號改掉就行。

hostconfig.json檔案

config.v2.json檔案

方法二1、獲得容器ip

將container_name 換成實際環境中的容器名

docker inspect `container_name` | grep ipaddress
將宿主機的60000埠對映到容器的8080埠

iptables -t nat -a  docker -p tcp --dport 60000 -j dnat --to-destination 172.17.0.2:8080

Docker容器修改埠對映

對於已經建立的docker容器,需要新增容器對主機的埠對映,主要分為三種 1.使用docker ps a命令找到要修改容器的container id 2.執行以下命令,進入該容器目錄 docker inspect container id grep id cd var lib docker cont...

修改docker容器的埠對映

大家都知道docker run可以指定埠對映,但是容器一旦生成,就沒有乙個命令可以直接修改。通常間接的辦法是,儲存映象,再建立乙個新的容器,在建立時指定新的埠對映。有沒有辦法不儲存映象而直接修改已有的這個容器呢?有。在stackoverflow上面找到答案了。方法一cd var lib docker...

修改docker容器埠對映的方法

大家都知道docker run可以指定埠對映,但是容器一旦生成,就沒有乙個命令可以直接修改。通常間接的辦法是,儲存映象,再建立乙個新的容器,在建立時指定新的埠對映。有沒有辦法不儲存映象而直接修改已有的這個容器呢?有。在stackoverflow上面找到答案了,原帖如下 我的操作步驟是 1 停止容器 ...