Docker容器添加新端口映射的方法與詳細步驟
在Docker容器已經(jīng)創(chuàng)建后,需要添加新的端口映射,即對已經(jīng)存在的Docker容器添加新的端口映射,可以通過以下步驟來添加,即通過修改配置文件的方法。
Windows 10 下 Dockers容器的配置文件修改步驟:
1、先找到要修改的容器hash值:
docker inspect 容器名稱

2、然后退出docker Desktop服務
(因為在線狀態(tài)配置文件修改保存不了)
3、資源管理器中打開最新安裝的Docker的配置文件的路徑:
\\wsl$\docker-desktop-data\data\docker\containers\[容器hash值] win11一般為: \\wsl.localhost\docker-desktop-data\data\docker\containers\[容器hash值]
4、修改配置文件
打開后修改其中的 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、啟動Docker Desktop服務:
點擊容器名稱 - 點擊 Imspect 即可查看到映射的端口列表

補充知識:如何給運行中的docker容器增加映射端口
#1、查看容器的信息
docker ps -a
#2、查看容器的端口映射情況,在容器外執(zhí)行:
docker port 容器ID 或者 docker port 容器名稱
#3、查找要修改容器的全ID
docker inspect 容器ID |grep Id
#4、進到/var/lib/docker/containers 目錄下找到與全 Id 相同的目錄,修改 其中的hostconfig.json 和 config.v2.json文件:
#注意:若該容器還在運行中,需要先停掉
docker stop 容器ID 或者 docker stop 容器名稱
#再停掉docker服務
systemctl stop docker
#可能會提示錯誤 Warning: Stopping docker.service, but it can still be activated by:
docker.socket 不要管他 這是docker在關(guān)閉狀態(tài)下被訪問自動喚醒機制,很人性化,即這時再執(zhí)行任意docker命令會直接啟動
#5、修改hostconfig.json如下
# 格式如:"{容器內(nèi)部端口}/tcp":[{"HostIp":"","HostPort":"映射的宿主機端口"}]
"PortBindings":{"22/tcp":[{"HostIp":"","HostPort":"3316"}],"80/tcp":[{"HostIp":"","HostPort":"801"}]}
#6、修改config.v2.json在ExposedPorts中加上要暴露的端口
# 兩個地方
"ExposedPorts":{"3306/tcp":{},"80/tcp":{}}"
"Ports":{"3306/tcp":[{"HostIp":"0.0.0.0","HostPort":"33061"}],"80/tcp":[{"HostIp":"","HostPort":"801"}]}"最后改完之后,重啟docker服務就行了
systemctl restart docker
總結(jié)
到此這篇關(guān)于Docker容器添加新端口映射的方法與詳細步驟的文章就介紹到這了,更多相關(guān)Docker容器添加新端口映射內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
云centos開啟docker遠程服務鏈接的實現(xiàn)步驟
本文主要介紹了云centos開啟docker遠程服務鏈接,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
docker搭建zookeeper集群和kafka集群并使用Java測試詳解
本文詳細介紹了如何在Linux虛擬機中使用Docker搭建Kafka集群環(huán)境,并通過Kafka-Manager進行可視化管理,文章包括了從鏡像拉取、容器網(wǎng)絡設置、Zookeeper和Kafka集群搭建到測試和使用Java連接集群的全過程2026-01-01
Dockerfile構(gòu)建自定義鏡像的實現(xiàn)
Dockerfile構(gòu)建鏡像的方式就目前而言是使用最為廣泛的,本文主要介紹了Dockerfile構(gòu)建自定義鏡像的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08
Jenkins整合Docker實現(xiàn)CICD自動化部署的詳細過程(若依項目)
本文介紹了如何使用Jenkins和Docker實現(xiàn)CI/CD自動化部署,文章介紹了環(huán)境準備,包括Jenkins、Docker、JDK、Node和Maven,然后討論了如何配置GitLab環(huán)境并利用Webhooks實現(xiàn)代碼的自動拉取和部署,最后,展示了如何部署前后端分離的項目,并通過實際操作驗證了整個流程的有效性2024-10-10
Docker如何打包本地環(huán)境為tar包給別人使用
這篇文章主要介紹了Docker如何打包本地環(huán)境為tar包給別人使用問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11

