参考:
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为宿主机端口。
2、重启服务 systemctl restart docker
优点:没有副作用。
缺点:要重启整个docker服务。
方法三:利用docker commit新构镜像
docker commit:把一个容器的文件改动和配置信息commit到一个新的镜像。这个在测试的时候会非常有用,把容器所有的文件改动和配置信息导入成一个新的docker镜像,然后用这个新的镜像重起一个容器,这对之前的容器不会有任何影响。
1、停止docker容器
docker stop container01
2、commit该docker容器
docker commit container01 new_image:tag
3、用前一步新生成的镜像重新起一个容器
docker run --name container02 -p 80:80 new_image:tag
优点:不影响其他容器
缺点:管理比较混乱,要生成新的镜像