Docker容器在運行期間有時可能會需要修改或者添加暴露的端口,但是有時候運行的容器又不想再另外建立一個新的鏡像。這時可以找到docker容器的存放地方,然后直接修改配置文件。
我們的容器都是保存在/var/lib/docker/containers下
面。
![](/d/20211016/5083b2dd7005400d816a10924c28271d.gif)
我的容器是在/var/lib/docker/containers/797f3d0cb82aec7d1c355c7461b5bc5a050c1c0cbbe5d813ede0edad061e6632
每個容器ID對應一個hash_id,可以看到nginx容器暴露了兩個端口。下面我們來添加多一個9999端口。
進入容器對應的目錄:
cd /var/lib/docker/containers/797f3d0cb82aec7d1c355c7461b5bc5a050c1c0cbbe5d813ede0edad061e6632
我們看到:
![](/d/20211016/ccb1c7cb830619526ffae1fed1952485.gif)
把hostconfig.json復制出來使用json轉(zhuǎn)換工具找到“PortBindings”節(jié)點
接下來我們就依葫蘆畫瓢在上面添加一個。
如圖:
![](/d/20211016/40ca8b7aafa2c1203c646d84cd0a31c1.gif)
修改hostconfig.json
并保存。
然后再修改config.v2.json的ExposedPorts
,如圖:
![](/d/20211016/23b8f539b7583037bca07bb634fd7cf7.gif)
保存退出。
重啟docker ,
重啟容器。
![](/d/20211016/898a1143162abfae44ca9cda5eb176a0.gif)
可以看到,9999端口已經(jīng)暴露出來了。
總結
以上所述是小編給大家介紹的Docker動態(tài)添加端口不需要重新建立鏡像的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!