收藏本页 | 设为主页 | RSS
LOGO

我就上乐乐吧

在Docker创建并运行容器的时候,大家都知道,可以通过-p指定端口来映射。但是,有人也许手贱,经常会发现设置错了端口映射需要修改。但是问题就存在于,当Doc...

您当前的位置:首页 » 技术杂萃
全站公告
重要提示!

本站收集各类美图,以无LOGO原汁原味图为主!欢迎大家交流。
怕失联,请认准如下地址:
微博:传送门
土豆:传送门
电报:传送门
微信:superimagelove
花瓣:传送门
Q群1:231151757
Q群2:583138281
文件解压密码:593668.com
热心赞助

站内搜索
 
相关文章
热门文章
热搜词组
文章归档
友情链接
如何修改运行中的Docker容器的端口映射

发布日期:2019-09-11  关键词: Docker

在Docker创建并运行容器的时候,大家都知道,可以通过-p指定端口来映射。但是,有人也许手贱,经常会发现设置错了端口映射需要修改。但是问题就存在于,当Docker 运行容器后并不会提供选项,能修改指定端口映射规则。

那么这种情况,问题总得要怎么处理吧,所以还是有人想出如下三个办法:

1)删除原有容器,再重新建新容器

这个解决方案就不多说了,最为简单,直接使用命令把原来的容器删掉,再修改端口映射重新建一个。

优点:优点是简单快捷,在测试环境使用较多。
缺点:如果是带数据迁移,那么重新建一个还得要导数据,就比较麻烦了。

2)直接修改容器配置文件
具体可以参考站内文章《如何修改Docker容器启动配置参数》

如何修改运行中的Docker容器的端口映射,Docker,技术杂萃

如上图,hostconfig.json文件中其中有一项是PortBindings,其中3306/tcp对应的是容器内部的端口,HostPort对应的是映射到宿主机的端口3806。按需修改端口,然后重启docker服务,再启动容器就可以了。

优点:这个方法的优点是没有副作用,操作简单。
缺点:是需要重启整个docker服务,如果在同一个宿主机上还运行着多个其它容器服务的话,就会影响比较大。

3)利用docker commit新构镜像
把一个容器的文件改动和配置信息commit到一个新的镜像,然后用这个新的镜像重起一个容器,这对之前的容器或其它容器都不会有任何影响。

1、停止docker容器
docker stop container01

2、commit该docker容器
docker commit container01 new_image:tag

3、用前一步新生成的镜像重新起一个容器
docker run --name container02 -p 3306:3306 new_image:tag

优点:这种方式的优点是不会影响统一宿主机上的其他容器。
缺点:容器过多,管理起来会显得比较乱,也比较占磁盘空间

当然那种选择并不重要,只要适应自己的环境就好,大家可以随意。
猜您喜欢:
Q群: 231151757微信:superimagelove 官网:www.593668.com