目前我有一个用
创建的容器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
我想从图片中删除端口绑定80
和22
。是否可以从现有的docker容器中删除端口绑定?
注意:可以将容器脱机以删除绑定。
答案 0 :(得分:2)
如果容器可以脱机,那么为什么不在没有端口开关的情况下移除并再次运行?
如果确实需要在不删除容器的情况下执行此操作,则只需修改基础iptables更改即可。
# Will list the rules
iptables -L
# Will delete the rule you want to remove
iptables --delete [chain] <Rule definition>
一般来说,您的数据应始终位于3个地方之一
使用这三种方法中的一种,重新启动服务变得很容易,这应该是标准的,因为应该设计微服务,以便它们可以经常停机和恢复。这些方法也将加速您的应用程序,因为默认的联合文件系统比用于卷的普通文件系统慢。
如果需要从未正确规划卷的容器中恢复数据,可以使用docker export功能导出容器的状态。然后将其导入到具有主机安装卷的新容器中。将关键数据从容器内复制到卷。