大家都知道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
2、iptable**埠
將宿主機的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 停止容器 ...