简述
docker容器在启动的时候,或者dockerfile构建的时候就定义好了映射到宿主机的端口。如果想要新增或者删除映射端口,应该如何操作呢。
方法
注意,该方法 需要重启docker和容器。
- 修改容器的配置文件
- 首先根据容器的
CONTAINER ID
进入docker的容器存放目录
cd /var/lib/docker/containers/`docker ps -a|grep 容器名|awk 'NR==2{print $1}'`*
- 停止容器和docker服务
docker stop 容器名 systemctl stop docker
- 修改hostconfig.json,如果该目录下有config.v2.json也记录了端口信息,也需要进行修改。如下
如果没开端口映射,应该能看到下面的信息:
需要添加或者新增按照下面的方式进行修改,多个端口以逗号进行间隔"PortBindings":{}
# 前面的端口为容器端口,后面的为映射到宿主机的端口 "PortBindings":{"6379/tcp":[{"HostIp":"","HostPort":"6380"}]
- 启动docker服务和容器
systemctl start docker docker start 容器名
- 查看PORTS列,看映射是否成功
docker ps
- 首先根据容器的