【问题标题】:protect docker container and\or volume from accidental deletion保护 docker 容器和/或卷不被意外删除
【发布时间】:2019-07-04 13:49:52
【问题描述】:

我们有一个正在使用的 docker 容器 (mongodb),通过卷挂载来持久存储数据。

我想保护容器和\或卷不被命令“docker volume prune”甚至只是“docker volume rm”意外删除

有什么建议吗?

【问题讨论】:

  • 一个hacky方式是chattr +i /path/to/docker/volume/on/host
  • 正确保护您的 docker 引擎,只允许访问授权和有能力的操作,并进行定期备份。 @Robert 除非我错过了什么,否则您的解决方案还会阻止将卷写入(这对于数据库来说可能很烦人)。
  • @Zeitounator - 我害怕的是我自己。 :\

标签: docker docker-volume data-protection


【解决方案1】:

为防止意外删除容器/卷,docker 没有为它提供任何内置方式。

签出this

还有一个代码更改,以提供 here 提到的此功能,但由于 reasons 很少,因此被所罗门 hykes 投票反对。


但是有办法防止在使用docker volume prune时意外删除卷。

签出this

希望这会有所帮助。

【讨论】:

  • 嗨。我正在阅读有关如何应用修剪过滤器的信息。似乎我只能通过创建 $HOME/.docker/config.json 文件来配置(意思是按用户配置)。有没有办法为所有用户提供这样的配置文件?
  • @GKman docs.docker.com/engine/reference/commandline/cli/… 这应该会有所帮助。
【解决方案2】:

在 bash 配置文件或 bashrc 中创建函数/别名。

function docker {
  docker_vol_res="Y"
  [[ $1 == vol* ]] && [[ $2 == prune || $2 == rm ]] && echo -n "Do you want to \"$2\" the volume (Y/N)? " && read docker_vol_res
  [[ $docker_vol_res == "Y" ]] && /usr/bin/docker $*
}

【讨论】:

    猜你喜欢
    • 2012-09-24
    • 1970-01-01
    • 2023-02-10
    • 1970-01-01
    • 2018-12-30
    • 2013-12-08
    • 2014-08-08
    • 1970-01-01
    • 2018-06-08
    相关资源
    最近更新 更多