参考:
https://juejin.im/post/5c66c885f265da2dbd7fe8cf

方法一:删除原有容器,重新建新容器

优点:简单快捷
缺点:如果是数据库镜像,就要重新配置

方法二:修改容器配置文件,重启docker服务

1、编辑文件 vim /var/lib/docker/containers/[hash_of_the_container]/hostconfig.json

hashofthecontainer是docker镜像的hash值,可以通过docker ps查看。

如下图,8080为容器内端口,9190为宿主机端口。

docker修改端口映射 - 图1

2、重启服务 systemctl restart docker

优点:没有副作用。
缺点:要重启整个docker服务。

方法三:利用docker commit新构镜像

docker commit:把一个容器的文件改动和配置信息commit到一个新的镜像。这个在测试的时候会非常有用,把容器所有的文件改动和配置信息导入成一个新的docker镜像,然后用这个新的镜像重起一个容器,这对之前的容器不会有任何影响。

1、停止docker容器

  1. docker stop container01

2、commit该docker容器

  1. docker commit container01 new_image:tag

3、用前一步新生成的镜像重新起一个容器

  1. docker run --name container02 -p 80:80 new_image:tag

优点:不影响其他容器
缺点:管理比较混乱,要生成新的镜像