Docker容器添加新端口映射的方法與詳細(xì)步驟
在Docker容器已經(jīng)創(chuàng)建后,需要添加新的端口映射,即對(duì)已經(jīng)存在的Docker容器添加新的端口映射,可以通過(guò)以下步驟來(lái)添加,即通過(guò)修改配置文件的方法。
Windows 10 下 Dockers容器的配置文件修改步驟:
1、先找到要修改的容器hash值:
docker inspect 容器名稱(chēng)
2、然后退出docker Desktop服務(wù)
(因?yàn)樵诰€狀態(tài)配置文件修改保存不了)
3、資源管理器中打開(kāi)最新安裝的Docker的配置文件的路徑:
\\wsl$\docker-desktop-data\data\docker\containers\[容器hash值]
win11一般為: \\wsl.localhost\docker-desktop-data\data\docker\containers\[容器hash值]
4、修改配置文件
打開(kāi)后修改其中的 config.v2.json 和 hostconfig.json
config.v2.json有兩處需要添加,只修改一處,是不行的:
位置1:
"ExposedPorts":{"20/tcp":{},"21/tcp":{},"22/tcp":{},"3306/tcp":{},"443/tcp":{},"6379/tcp":{},"80/tcp":{},"8081/tcp":{},"8082/tcp":{},"8083/tcp":{},"8084/tcp":{},"888/tcp":{},"8888/tcp":{},"9501/tcp":{},"9502/tcp":{}}
位置2:
"Ports":{"20/tcp":[{"HostIp":"0.0.0.0","HostPort":"1020"}],"21/tcp":[{"HostIp":"0.0.0.0","HostPort":"1021"}],"22/tcp":[{"HostIp":"0.0.0.0","HostPort":"1022"}],"3306/tcp":[{"HostIp":"0.0.0.0","HostPort":"13306"}],"443/tcp":[{"HostIp":"0.0.0.0","HostPort":"10443"}],"6379/tcp":[{"HostIp":"0.0.0.0","HostPort":"16379"}],"80/tcp":null,"8081/tcp":[{"HostIp":"0.0.0.0","HostPort":"8081"}],"8082/tcp":[{"HostIp":"0.0.0.0","HostPort":"8082"}],"8083/tcp":[{"HostIp":"0.0.0.0","HostPort":"8083"}],"8084/tcp":[{"HostIp":"0.0.0.0","HostPort":"8084"}],"888/tcp":[{"HostIp":"0.0.0.0","HostPort":"888"}],"8888/tcp":[{"HostIp":"0.0.0.0","HostPort":"8888"}],"9501/tcp":[{"HostIp":"0.0.0.0","HostPort":"9501"}],"9502/tcp":[{"HostIp":"0.0.0.0","HostPort":"9502"}]}
hostconfig.json 有一處:
"PortBindings":{"20/tcp":[{"HostIp":"","HostPort":"1020"}],"21/tcp":[{"HostIp":"","HostPort":"1021"}],"22/tcp":[{"HostIp":"","HostPort":"1022"}],"3306/tcp":[{"HostIp":"","HostPort":"13306"}],"443/tcp":[{"HostIp":"","HostPort":"10443"}],"6379/tcp":[{"HostIp":"","HostPort":"16379"}],"8081/tcp":[{"HostIp":"","HostPort":"8081"}],"8082/tcp":[{"HostIp":"","HostPort":"8082"}],"8083/tcp":[{"HostIp":"","HostPort":"8083"}],"8084/tcp":[{"HostIp":"","HostPort":"8084"}],"888/tcp":[{"HostIp":"","HostPort":"888"}],"8888/tcp":[{"HostIp":"","HostPort":"8888"}],"9501/tcp":[{"HostIp":"","HostPort":"9501"}],"9502/tcp":[{"HostIp":"","HostPort":"9502"}]}
5、啟動(dòng)Docker Desktop服務(wù):
點(diǎn)擊容器名稱(chēng) - 點(diǎn)擊 Imspect 即可查看到映射的端口列表
補(bǔ)充知識(shí):如何給運(yùn)行中的docker容器增加映射端口
#1、查看容器的信息 docker ps -a #2、查看容器的端口映射情況,在容器外執(zhí)行: docker port 容器ID 或者 docker port 容器名稱(chēng) #3、查找要修改容器的全I(xiàn)D docker inspect 容器ID |grep Id #4、進(jìn)到/var/lib/docker/containers 目錄下找到與全 Id 相同的目錄,修改 其中的hostconfig.json 和 config.v2.json文件: #注意:若該容器還在運(yùn)行中,需要先停掉 docker stop 容器ID 或者 docker stop 容器名稱(chēng) #再停掉docker服務(wù) systemctl stop docker #可能會(huì)提示錯(cuò)誤 Warning: Stopping docker.service, but it can still be activated by: docker.socket 不要管他 這是docker在關(guān)閉狀態(tài)下被訪問(wèn)自動(dòng)喚醒機(jī)制,很人性化,即這時(shí)再執(zhí)行任意docker命令會(huì)直接啟動(dòng) #5、修改hostconfig.json如下 # 格式如:"{容器內(nèi)部端口}/tcp":[{"HostIp":"","HostPort":"映射的宿主機(jī)端口"}] "PortBindings":{"22/tcp":[{"HostIp":"","HostPort":"3316"}],"80/tcp":[{"HostIp":"","HostPort":"801"}]} #6、修改config.v2.json在ExposedPorts中加上要暴露的端口 # 兩個(gè)地方 "ExposedPorts":{"3306/tcp":{},"80/tcp":{}}" "Ports":{"3306/tcp":[{"HostIp":"0.0.0.0","HostPort":"33061"}],"80/tcp":[{"HostIp":"","HostPort":"801"}]}"
最后改完之后,重啟docker服務(wù)就行了
systemctl restart docker
總結(jié)
到此這篇關(guān)于Docker容器添加新端口映射的方法與詳細(xì)步驟的文章就介紹到這了,更多相關(guān)Docker容器添加新端口映射內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解析docker妙用SpringBoot構(gòu)建微服務(wù)實(shí)戰(zhàn)記錄
Spring Boot 是 Spring 開(kāi)源組織的子項(xiàng)目,是 Spring 組件一站式解決方案,本文通過(guò)詳細(xì)案例給大家解析docker妙用SpringBoot構(gòu)建微服務(wù)實(shí)戰(zhàn)記錄,感興趣的朋友跟隨小編一起看看吧2021-11-11Docker使用過(guò)程中的一些注意事項(xiàng)
這篇文章主要為大家介紹了在使用Docker過(guò)程中的一些注意事項(xiàng),就個(gè)人的一些經(jīng)驗(yàn)分享給大家,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。2016-10-10docker利用nextcloud搭建一個(gè)私有百度云盤(pán)
這篇文章主要介紹了docker利用nextcloud搭建一個(gè)私有百度云盤(pán),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02docker 命令報(bào)異常permission denied的解決方案
這篇文章主要介紹了docker 命令報(bào)異常permission denied的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03Docker集群的創(chuàng)建與管理實(shí)例詳解
這篇文章主要介紹了Docker集群的創(chuàng)建與管理,結(jié)合實(shí)例形式詳細(xì)分析了docker集群原理、創(chuàng)建、訪問(wèn)等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-06-06vscode進(jìn)入服務(wù)器docker容器的方法
這篇文章主要介紹了vscode進(jìn)入服務(wù)器docker容器的方法,首先要確保已經(jīng)運(yùn)行docker容器,已經(jīng)用vscode鏈接服務(wù)器,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-04-04docker拉取鏡像報(bào)錯(cuò):Error?response?from?daemon:?Get?“https://r
今天做完一個(gè)新項(xiàng)目,搭建了一個(gè)新的虛擬機(jī),打算使用docker來(lái)搭建各種環(huán)境,發(fā)現(xiàn)拉取鏡像報(bào)錯(cuò)Error?response?from?daemon:?Get?"https://registry-1.docker.io/v2/":?dial?tcp,所以接下來(lái)給大家介紹了docker拉取鏡像報(bào)錯(cuò)的解決過(guò)程,需要的朋友可以參考下2024-08-08docker-compose啟動(dòng)的容器一直處于restarting狀態(tài)的問(wèn)題解決
本文主要介紹了docker-compose啟動(dòng)的容器一直處于restarting狀態(tài)的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11docker swarm如何在指定的node上運(yùn)行指定的容器
這篇文章主要介紹了docker swarm如何在指定的node上運(yùn)行指定的容器,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07