我們知道docker run是可以指定連接埠對映的,但是容器一旦產生就沒有指令可以直接修改。通常間接的辦法是保存鏡像,再建立一個新的容器,在建立時指定新的連接埠對映。
(推薦教學:docker教學)
那麼有什麼辦法可以不保存映像而直接修改已有的這個容器呢?
具體方法如下:
1) 停止容器
2) 停止docker服務(systemctl stop docker)
3) 修改這個容器的hostconfig. json檔案中的連接埠(原文有人提到,如果config.v2.json裡面也記錄了端口,也要修改)
cd /var/lib/docker/3b6ef264a040* #这里是CONTAINER ID vi hostconfig.json #如果之前没有端口映射, 应该有这样的一段: "PortBindings":{} #增加一个映射, 这样写: "PortBindings":{"3306/tcp":[{"HostIp":"","HostPort":"3307"}]} #前一个数字是容器端口, 后一个是宿主机端口. #而修改现有端口映射更简单, 把端口号改掉就行.
4) 啟動docker服務(systemctl start docker)
5) 啟動容器
以上是如何更改docker容器端口的詳細內容。更多資訊請關注PHP中文網其他相關文章!