Docker容器修改端口映射的實現(xiàn)
可解決問題如下
(1) 在不刪除現(xiàn)有容器的情況下, 修改原有容器的端口映射;
(2) 創(chuàng)建容器的時候指定了一個端口映射, 但是創(chuàng)建之后的容器存在多個端口映射; 具體描述
1 首先創(chuàng)建一個容器并指定端口映射;
sudo docker run -it --name forge_restful -v /data01/wangxiaofei01/project/restful/wanmingTask/forge_restful_api -p 8076:8076 -d 010979f7d3c2
2 實際容器存在連個端口映射

解決方案
1、停止容器
docker stop 容器id
2、停止docker服務(wù)
systemctl stop docker
3、修改這個容器的hostconfig.json(對應(yīng)下面的文件1)的端口
cd /var/lib/docker/CONTAINER_ID vi hostconfig.json
備注: 可通過inspect命令查看對應(yīng)容器的id

如果之前沒有端口映射, 應(yīng)該有這樣的一段:
“PortBindings”:{}
增加一個映射,這樣寫:
“PortBindings”:{“3306/tcp”:[{“HostIp”:"",“HostPort”:“3307”}]}
前一個數(shù)字3306是容器端口,后一個3307是宿主機端口而修改現(xiàn)有端口映射更簡單,把端口號改掉就行
例如:“PortBindings”:{“3306/tcp”:[{“HostIp”:"",“HostPort”:“3306”}]}
4、config.v2.json(對應(yīng)文件2)里面也記錄了端口,也要修改;
5 重啟docker服務(wù)和對應(yīng)容器
systemctl start docker
結(jié)果

文件1 核心配置
{
"Binds": null,
"ContainerIDFile": "",
"LogConfig": {
"Type": "json-file",
"Config": {}
},
"NetworkMode": "default",
"PortBindings": {
"8076/tcp": [{
"HostIp": "",
"HostPort": "8076"
}]
}
}
文件2 config.v2.json 核心配置
絕對路徑: /var/lib/docker/containers/對應(yīng)容器的id/config.v2.json
{
"StreamConfig": {},
"State": {
"Running": false,
"Paused": false,
"Health": null
},
"Path": "/bin/bash",
"Config": {
"Hostname": "4a0d272304a5",
"Domainname": "",
"AttachStderr": false,
"ExposedPorts": {
"8076/tcp": {},
"8077/tcp": {}
},
},
}
到此這篇關(guān)于Docker容器修改端口映射的實現(xiàn)的文章就介紹到這了,更多相關(guān)Docker 修改端口映射內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決Docker中的error during connect異常情況
這篇文章主要介紹了解決Docker中的error during connect異常情況,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
Alpine鏡像中telnet轉(zhuǎn)移至busybox-extras
今天小編就為大家分享一篇關(guān)于Alpine鏡像中telnet轉(zhuǎn)移至busybox-extras,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12
Jenkins構(gòu)建Docker鏡像并推送至Harbor倉庫的實現(xiàn)
本文主要介紹了Jenkins構(gòu)建Docker鏡像并推送至Harbor倉庫,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09

