docker容器添加新的端口映射


docker容器新增端口映射


作者:elfin   資料來源:CSDN博客



記憶中,docker並沒有提供直接添加端口映射的接口,所以我們只能修改容器的配置文件了!期望新版本能夠更新此功能吧。

當前docker版本:Docker version 19.03.12


1、查看容器哈希編碼

$ docker inspect centos-desktop-vnc | grep Id
"Id": "22132e73736a5700dd5b4215a122310220fc3192b19754917caa1b83ecb89dd3",

這里的Id就是哈希編碼。


Top  ---  Bottom

2、停止目標容器

$ docker stop centos-desktop-vnc

Top  ---  Bottom

3、修改配置文件

$ sudo vim /var/lib/docker/containers/<容器Id>/hostconfig.json

容器的本身端口映射:

{
    "PortBindings":{
			"22/tcp":[{"HostIp":"","HostPort":"10112"}],
			"5901/tcp":[{"HostIp":"","HostPort":"10113"}],
	},
}

容器本身的端口映射配置是:

{
    "PortBindings":{
			"22/tcp":[{"HostIp":"","HostPort":"10112"}],
			"5901/tcp":[{"HostIp":"","HostPort":"10113"}],
			"3306/tcp": [{"HostIp":"","HostPort":"10114"}],
			"5672/tcp": [{"HostIp":"","HostPort":"10115"}],
			"6379/tcp": [{"HostIp":"","HostPort":"10116"}],
			"8080/tcp": [{"HostIp":"","HostPort":"10117"}],
			"80/tcp": [{"HostIp":"","HostPort":"10118"}],
	},
}

修改下一個配置:

$ sudo vim /var/lib/docker/containers/<容器Id>/config.v2.json

將下面字段的端口補齊,如我這里要添加3306、5672、6379、8080、80.

{
    "ExposedPorts":{
        "22/tcp":{},
        "5901/tcp":{},
        "3306/tcp":{},
        "5672/tcp":{},
        "6379/tcp":{},
        "8080/tcp":{},
        "80/tcp":{}
    }
}

Top  ---  Bottom

4、重啟docker服務

$ service docker restart

這一步耗時比較久!


Top  ---  Bottom

5、重啟容器

$ docker start centos-desktop-vnc

訪問相應的端口就可以使用了!



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM