docker如何給已存在的容器添加或修改端口映射
簡(jiǎn)述
這幾天研究了一下docker, 發(fā)現(xiàn)建立完一個(gè)容器后不能增加端口映射了,
因?yàn)?docker run -p 有 -p 參數(shù)
但是 docker start 沒有 -p 參數(shù)
讓我很苦惱,無奈谷歌了一番,終于讓我找到了解決辦法
解決辦法
一種是將原來的容器提交成鏡像,然后利用新的建立的鏡像重新建立一個(gè)帶有端口映射的容器,不推薦這種辦法
另一種就是改容器配置文件(也是我推薦的解決辦法):
配置文件在
/var/lib/docker/containers/[hash_of_the_container]/hostconfig.json
還有
config.v2.json
這倆文件
hash_of_the_container 可以通過 docker inspect 容器名字 來查看

id 就是 容器的 hash 數(shù)值,在 hostconfig.json 里有 "PortBindings":{} 這個(gè)配置項(xiàng),
可以改成
"PortBindings":{"80/tcp":[{"HostIp":"","HostPort":"8080"}]} 這里 80 是容器端口,
8080 是本地端口, 然后在 config.v2.json 里面添加一個(gè)配置項(xiàng) "ExposedPorts":{"80/tcp":{}} ,
將這個(gè)配置項(xiàng)添加到 "Tty": true, 前面,
我不知道添加到別的地方會(huì)不會(huì)有影響,因?yàn)榻?jīng)過對(duì)比正常的端口映射配置項(xiàng)是在這個(gè)位置,
這個(gè)就是將容器內(nèi)部端口暴露出來,如果不加這一句端口映射不會(huì)成功的,
最后重啟 docker的守護(hù)進(jìn)程 service docker restart
這里有個(gè)問題就是重啟后 用docker ps -a 是看不到端口映射的,但實(shí)際已經(jīng)映射好了
我正常在新建一個(gè)帶有端口映射容器的時(shí)候,重啟 docker的守護(hù)進(jìn)程,
端口映射也不會(huì)顯示出來,但是通過docker inspect 容器名 可以看到配置項(xiàng)已經(jīng)修改成功了。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Windows的docker刪除容器后WSL2磁盤空間不釋放的問題的解決方法
很多同學(xué)拉取鏡像使用一段時(shí)間后發(fā)現(xiàn) C 盤快滿了,把之前用過的鏡像和容器刪除,發(fā)現(xiàn) WSL 掛載目錄的虛擬磁盤大小沒有變化,非常的奇怪,所以本文介紹了Windows的docker刪除容器后WSL2磁盤空間不釋放的問題的解決方法,需要的朋友可以參考下2024-12-12
docker安裝opengauss數(shù)據(jù)庫(kù)配置過程詳解
這篇文章主要為大家介紹了docker安裝opengauss數(shù)據(jù)庫(kù)配置過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
nexus搭建私有docker倉(cāng)庫(kù)的方法
Nexus之前已支持了maven/npm/composer,由于docker倉(cāng)庫(kù)和前面幾個(gè)存在比較大的差異,所以我特此記錄下走過的坑,本文重點(diǎn)介紹nexus搭建私有docker倉(cāng)庫(kù)的相關(guān)知識(shí),感興趣的朋友一起看看吧2024-03-03
修改Docker容器bisheng-frontend中的靜態(tài)文件的操作步驟
本教程將指導(dǎo)你如何安全地修改運(yùn)行中的 bisheng-frontend Docker 容器內(nèi)的靜態(tài)文件(如圖片、SVG 等),我們將采用復(fù)制文件 -> 本地修改 -> 掛載重啟的最佳實(shí)踐,以避免直接在容器內(nèi)修改帶來的風(fēng)險(xiǎn),需要的朋友可以參考下2025-11-11
Docker容器網(wǎng)絡(luò)地址的創(chuàng)建修改
Docker提供了一個(gè)方便的方式來配置容器的網(wǎng)絡(luò)地址,在本文中,我們將介紹如何修改Docker容器的網(wǎng)絡(luò)地址,本文主要介紹了Docker容器網(wǎng)絡(luò)地址的創(chuàng)建修改,感興趣的可以了解一下2024-01-01
Docker部署Zookeeper官方鏡像的保姆級(jí)教程
這篇文章介紹了如何使用Docker和Docker Compose部署Zookeeper官方鏡像,包括安裝Docker及可視化工具、創(chuàng)建掛載目錄、運(yùn)行Zookeeper容器、查看運(yùn)行狀態(tài)以及驗(yàn)證是否正常運(yùn)行,需要的朋友可以參考下2025-02-02

