在Docker中重新启动Postgres

我试图使用'docker restart'命令在Docker中重新启动Postgres。 它停了,但我无法启动它。 当我运行“ps -a”命令时,状态显示为“已退出”。 有什么办法可以重新启动吗? 我不想丢失该数据库中的任何数据。
容器在重新启动期间有一个活动连接。 这是造成一个问题吗?

如果容器因为错误或其他原因而崩溃,则可能无法重新启动。 但是,通过从要恢复的容器中创build新映像,仍然应该能够恢复至less部分数据。 以下是你如何做到这一点:

  1. 首先,列出在您的机器上运行的所有容器:

     docker ps -a 
  2. 找出哪一个是你想要恢复的所有数据运行的容器。 您应该能够从CREATED字段中找出(您知道何时启动它)。

  3. 抓取CONTAINER_ID的散列( CONTAINER_ID ),并执行以下命令:

     docker commit <hash> <a_new_name:tag> 

    这会将容器保存为可执行的映像。

  4. 使用bashsh会话执行容器,具体取决于我们的基本映像提供的内容:

     docker run --entrypoint sh/bash -it <a_new_name:tag> 

这将使您可以访问退出时的容器状态,这将允许您检查其状况,查找错误并可能恢复某些数据。 祝你好运!