从现有的泊坞窗容器中移除端口绑定

目前我有一个容器创build

docker run --detach --name gitlab_app --restart=always --publish 192.168.0.200:80:80 --publish 192.168.0.200:22:22 --volumes-from gitlab_data gitlab_image 

我想从图像中删除端口绑定8022 。 是否有可能从现有的docker集装箱中删除端口绑定?

注意:可以将容器卸下来取出装订。

如果允许容器脱机,为什么不移除端口开关就再次运行?

如果你确实需要这样做而不删除容器,你可以修改底层的iptables更改。

 # Will list the rules iptables -L # Will delete the rule you want to remove iptables --delete [chain] <Rule definition> 

一般来说,你的数据应该总是在3个地方之一

  1. 可以与重新启动的服务容器链接的仅数据容器。
  2. 在服务容器中定义的卷可以与新容器链接以进行备份。 看这里的例子。
  3. 在主机安装的卷中,以便您可以重新启动容器并将相同的位置安装到新的容器中。

随着这三种方法之一重新启动服务变得容易,这应该是标准的,因为微服务应该被devise成可以经常停机和恢复。 这些方法也将加速您的应用程序,因为默认联合文件系统比用于卷的常规文件系统慢。

如果您需要从未正确计划卷的容器恢复数据,则可以使用泊坞窗导出function导出容器的状态。 然后将其导入到安装了主机卷的新容器中。 将您的关键数据从容器内复制到卷。