修改运行中容器的端口
正在运行的容器端口冲突了,但是还需要这个容器,怎么办?只能修改端口了
过程:
停止需要修改的容器
修改
hostconfig.json
文件重启 docker 服务
启动修改容器
停止需要修改的容器
[root@test ~]# docker stop grafana
查看hostname路径
[root@test ~]# docker inspect grafana |grep HostnamePath"HostnamePath": "/var/lib/docker/containers/39b1633c38f45460d6fb11161e04550dc97bc68b345ae276eb12eb07babd1f42/hostname",
进入容器路径
[root@test ~]# cd /var/lib/docker/containers/39b1633c38f45460d6fb11161e04550dc97bc68b345ae276eb12eb07babd1f42/
修改文件中的 HostPort(外部地址)
根据个人需求修改
[root@test ~]# vim hostconfig.json"PortBindings":{"9200/tcp":[{"HostIp":"","HostPort":"9201"}],# 修改外部端口就是所有HostPort名字的端口
停止其他容器
[root@test ~]# docker stop node。。。
停止 docker服务
[root@test ~]# systemctl stop docker
启动 docker服务
[root@test ~]# systemctl startdocker
启动其他容器
[root@test ~]# docker start node。。。
报错 container with id exists 处理
# 启动报错[root@test ~]# docker start grafanaError response from daemon: oci runtime error: container with id exists: 39b1633c38f45460d6fb11161e04550dc97bc68b345ae276eb12eb07babd1f42Error: failed to start containers: grafana# 搜索 /run/runc/ 下的 docker id[root@test ~]# find /run -name 39b1633c38f45460d6fb11161e04550dc97bc68b345ae276eb12eb07babd1f42/run/runc/39b1633c38f45460d6fb11161e04550dc97bc68b345ae276eb12eb07babd1f42# 找到 /run/runc 开头的 删除重启即可 [root@test ~]# rm -rf /run/runc/39b1633c38f45460d6fb11161e04550dc97bc68b345ae276eb12eb07babd1f42