简述
docker容器在启动的时候,或者dockerfile构建的时候就定义好了映射到宿主机的端口。如果想要新增或者删除映射端口,应该如何操作呢。
方法
注意,该方法 需要重启docker和容器。
1.修改容器的配置文件
首先根据容器的CONTAINER ID进入docker的容器存放目录
cd /var/lib/docker/containers/
停止容器和docker服务
docker stop 容器名
systemctl stop docker
2.修改hostconfig.json,如果该目录下有config.v2.json也记录了端口信息,也需要进行修改。如下:
如果没开端口映射,应该能看到下面的信息:
"PortBindings":{}
需要添加或者新增按照下面的方式进行修改,多个端口以逗号进行间隔
前面的端口为容器端口,后面的为映射到宿主机的端口
3.启动docker服务和容器
systemctl start docker
docker start 容器名
查看PORTS列,看映射是否成功
docker ps
同理更改挂载目录
“MountPoints”:{"/home/project":{“Source”:"/home/theia",“Destination”:"/home/project",“RW”:true,“Name”:"",“Driver”:"",“Type”:“bind”,“Relabel”:“cached”,“Propagation”:“rprivate”,“Spec”:{“Type”:“bind”,“Source”:"/home/theia",“Target”:"/home/project"},“SkipMountpointCreation”:false}}
Source:宿主机地址
Destination/Target:容器地址