一个容器已经暴露了一个端口被外界使用,但是这个端口被公司不允许使用,需要修改为其他的端口,怎么办?
1、删除原容器,重启新容器
删除已启动容器,从镜像重启新容器。
2、修改原容器配置文件
3、生成镜像,新启容器
停止docker容器,使用commit将容器打包为新镜像:docker commit 容器id 镜像名:tag。使用新镜像启动新容器即可。
在这里我推荐第二种方法,具体操作如下:
优点:完整保留了容器内容,不会系统配置或数据遗失。
缺点:需要重启docker服务,如果有多个容器运行,需要考虑对其他容器的影响。
进入目录:/var/lib/docker/containers/[容器id]/下修改文件hostconfig.json和config.v2.json,将旧端口后更新为新端口号即可。然后重启docker服务,启动容器即可。