在docker run创建并运行容器的时候,可以通过-p指定端口映射规则。但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改。当docker start运行容器后并没有提供一个-p选项或设置
方法一:删除原有容器,重新建新容器
这个解决方案最为简单,把原来的容器删掉,重新建一个。当然这次不要忘记加上端口映射。
优点是简单快捷,在测试环境使用较多。
缺点是如果是数据库镜像,那重新建一个又要重新配置一次,就比较麻烦了。
方法二:修改容器配置文件,重启docker服务
容器的配置文件路径:
vim /var/lib/docker/containers/[hash_of_the_container]/hostconfig.json
其中的hashofthecontainer是docker镜像的hash值(容器id),可以通过docker ps或者docker inspect containername(容器名字)查看。
这里以mysql为例
这是mysql没加端口映射的时候,通过docker container port 容器id 查不到信息。