在Docker中重新启动Postgres
我试图使用'docker restart'命令在Docker中重新启动Postgres。 它停了,但我无法启动它。 当我运行“ps -a”命令时,状态显示为“已退出”。 有什么办法可以重新启动吗? 我不想丢失该数据库中的任何数据。
容器在重新启动期间有一个活动连接。 这是造成一个问题吗?
如果容器因为错误或其他原因而崩溃,则可能无法重新启动。 但是,通过从要恢复的容器中创build新映像,仍然应该能够恢复至less部分数据。 以下是你如何做到这一点:
-
首先,列出在您的机器上运行的所有容器:
docker ps -a
-
找出哪一个是你想要恢复的所有数据运行的容器。 您应该能够从
CREATED
字段中找出(您知道何时启动它)。 -
抓取
CONTAINER_ID
的散列(CONTAINER_ID
),并执行以下命令:docker commit <hash> <a_new_name:tag>
这会将容器保存为可执行的映像。
-
使用
bash
或sh
会话执行容器,具体取决于我们的基本映像提供的内容:docker run --entrypoint sh/bash -it <a_new_name:tag>
这将使您可以访问退出时的容器状态,这将允许您检查其状况,查找错误并可能恢复某些数据。 祝你好运!