大家都知道docker run可以指定埠對映,但是容器一旦生成,就沒有乙個命令可以直接修改。通常間接的辦法是,儲存映象,再建立乙個新的容器,在建立時指定新的埠對映。
有沒有辦法不儲存映象而直接修改已有的這個容器呢?有。在stackoverflow上面找到答案了,原帖如下
我的操作步驟是:
1) 停止容器
2) 停止docker服務(systemctl stop docker)
3) 修改這個容器的hostconfig.json檔案中的埠(原帖有人提到,如果config.v2.json裡面也記錄了埠,也要修改)
cd /var/lib/docker/3b6ef264a040* #這裡是container id
vi hostconfig.json
如果之前沒有埠對映, 應該有這樣的一段:
"portbindings":{}
增加乙個對映, 這樣寫:
"portbindings":]}
前乙個數字是容器埠, 後乙個是宿主機埠.
而修改現有埠對映更簡單, 把埠號改掉就行.
4) 啟動docker服務(systemctl start docker)
5) 啟動容器
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可以指定埠對映,但是容器一旦生成,就沒有乙個命令可以直接修改。通常間接的辦法是,儲存映象,再建立乙個新的容器,在建立時指定新的埠對映。方法一cd var lib docker containers d00254ce3af7 這裡是container id vim hos...