关于 docker 后期添加端口

Rimifon 2020-08-06 10:01:22
docker 运行一段时间后想增加服务,又不想搭建新的 docker,难道真的只能关闭服务再编辑配置文件吗?这样做的话,既影响线上业务,而且有可能造成 docker 服务无法启动。还有更好更安全的方法吗?
...全文
3009 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rimifon 2020-08-07
  • 打赏
  • 举报
回复
docker 应该出一个动态配置端口映射的命令。
Rimifon 2020-08-07
  • 打赏
  • 举报
回复
iptables 的方式是可以实现,但 alpine 好像默认没有 iptables,另外,容器系统的IP不是固定的,服务器重启后IP就变了。
EVKJ 2020-08-06
  • 打赏
  • 举报
回复
## 查看id 就是 容器的 hash_of_the_container 数值 docker inspect 容器名字 ## 修改hostconfig.json vim /var/lib/docker/containers/[hash_of_the_container]/hostconfig.json 在 hostconfig.json 里有 "PortBindings":{} 这个配置项,可以改成 "PortBindings":{"80/tcp":[{"HostIp":"","HostPort":"8080"}]} ## 修改config.v2.json vim /var/lib/docker/containers/[hash_of_the_container]/config.v2.json 在 config.v2.json 里面添加一个配置项 "ExposedPorts":{"80/tcp":{}} , 将这个配置项添加到 "Tty": true, 前面 ## 最后重启 docker的守护进程 service docker restart ## 查看配置项已经修改成功 docker inspect 容器名 https://www.cnblogs.com/wangkai333/p/11794521.html
bwlab 2020-08-06
  • 打赏
  • 举报
回复
1、获得容器IP 将container_name 换成实际环境中的容器名 docker inspect `container_name` | grep IPAddress 2、 iptable转发端口 将容器的8000端口映射到docker主机的8001端口 iptables -t nat -A DOCKER -p tcp --dport 8001 -j DNAT --to-destination 172.17.0.19:8000
bwlab 2020-08-06
  • 打赏
  • 举报
回复
这个没有办法,都上docker了肯定要高可用了,挂一个要不影响业务才行

1,163

社区成员

发帖
与我相关
我的任务
社区描述
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux 机器上,也可以实现虚拟化。
社区管理员
  • Docker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧