【问题标题】:Docker Postgres Clear all DataDocker Postgres 清除所有数据
【发布时间】:2017-04-25 18:38:13
【问题描述】:

我在 docker 容器中运行 postgress。我正在尝试完全删除它并重新安装。

每次我开始时,它似乎都是在“重新启动”而不是创建一个新实例。

当我重新启动新实例时,我会收到这样的消息,告诉我上次关闭以前的数据库的时间:

postgres            | LOG:  database system was shut down at 2017-04-25 18:28:02 UTC

这些是我尝试完全删除数据库的步骤。

  docker kill $(docker ps -q) # stop all containers
  docker rm $(docker ps -a -q) # remove all containers 
  docker rmi $(docker images -q) # remove all images
  docker network prune # remove all networks
  docker volume prune # remove all volumes 

然而,我总是得到指示先前数据库何时关闭的日志。如何彻底清除数据库的所有痕迹?

【问题讨论】:

    标签: docker docker-compose


    【解决方案1】:

    对于docker-compose,删除卷的正确方法是docker-compose down --volumesdocker-compose down --rmi all --volumes

    欲了解更多信息,请参阅https://docs.docker.com/compose/reference/down/

    【讨论】:

      【解决方案2】:

      你可以试试:

      docker volume rm $(docker volume ls -q)
      

      否则,正确的做法是:

      docker rm -f -v postgres_container_name
      

      但是,我认为数量不是问题。当您执行docker run --rm -it postgres 时,入口点会加载一些配置并重新启动数据库,因此应该会看到该消息。

      【讨论】:

      • 谢谢,问题是我正在运行一个最初有效的撰写项目 (github.com/puppetlabs/puppet-in-docker-examples/blob/master/…)。我现在正在运行完全相同的代码,但数据库失败了。所以我试图完全重置一切,但没有运气。您是说即使我是第一次运行数据库也会看到该消息?
      • 是的,即使是第一次,您也会看到该消息。
      • 尝试启动一个空的 docker 机器,看看是否可以重现。不过,问题可能出在其他地方。
      • 好的,谢谢,我会试试的。 Docker机器指的是主机吧?
      • 如果您愿意/可以,可以成为主机,否则,您可以使用工具 docker-machine 来启动一个隔离的 docker vm。 docs.docker.com/machine
      【解决方案3】:

      最终是 docker compose 在启动时挂载文件夹,这些文件夹在 docker-compose.yml 中指定,如下所示:

      volumes:
        - ./code:/etc/puppetlabs/code/
        - ./puppet/ssl:/etc/puppetlabs/puppet/ssl/
        - ./puppet/serverdata:/opt/puppetlabs/server/data/puppetserver/
      

      文件夹在使用时更新。通过删除它们,我能够解决我的问题。

      【讨论】:

      • 要完成答案,删除卷的正确方法是使用:docker volume prune
      【解决方案4】:

      在您从 docker-compose 中删除绑定挂载卷之前,Docker 停止和 docker rm 将不起作用。

      从你的 docker-compose 中删除它

       - ./data/postgres:/var/lib/postgresql/data
      

      或从里面的主机目录中删除所有内容

      ./data/postgres

      【讨论】:

        猜你喜欢
        • 2017-05-08
        • 1970-01-01
        • 2011-11-04
        • 2017-09-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-21
        相关资源
        最近更新 更多