我尝试使用'docker restart'命令在Docker中重新启动Postgres。它停止了,但我无法启动它。当我运行命令“ps -a”时,它将状态显示为“已退出”。有什么方法可以重新启动吗?我不想丢失该数据库中的任何数据。
容器在重新启动期间有一个活动连接。这是否会造成问题?在Docker中重新启动Postgres
回答
如果容器因错误或其他原因而崩溃,则可能无法重新启动它。但是,通过从要恢复的容器中创建新映像,您仍然应该能够恢复至少部分数据。这里是你如何做到这一点:
首先,列出所有已在你的机器上运行的容器:
docker ps -a
找出哪一个是与所有你想要的数据运行容器恢复。您应该能够从
CREATED
字段中找出(您知道何时启动它)。抓住散列(
CONTAINER_ID
)容器,并执行以下命令:docker commit <hash> <a_new_name:tag>
这将容器保存为可以执行图像。
与
bash
或sh
会话中,执行容器,这取决于我们的基本图像提供:docker run --entrypoint sh/bash -it <a_new_name:tag>
这将使你在退出时获得的容器的状态,这将允许您检查其条件,发现错误并可能恢复某些数据。祝你好运!
谢谢。我刚刚检查了日志。它说'错误:好像另一个PostgreSQL服务器使用DB数据,因为'/var/lib/pgsql/data/data/postmaster.pid'文件已经存在。如果您确定pidfile是剩余的,请使用'clear_pgdata_pidfile'选项(请参阅'容器使用'了解更多信息)'。我试图恢复同一个容器。 –
我提交了图像并使用该图像创建了一个新的容器。它创建了一个新的容器,但我无法连接到数据库。不是因为理由而起诉。最后以root用户身份登录并删除'/var/lib/pgsql/data/data/postmaster.pid'。现在我能够成功启动相同的容器。我将详细探讨如何使用创建的图像创建容器。 –
我永远不会推荐从这样的现有容器提交图像。您的数据应该已经成为数量,并且100%可以访问。使用'docker检查
- 1. 在Docker容器中启动Postgres
- 2. docker-compose不启动postgres
- 3. 重新启动Postgres的
- 4. 如何重新启动Docker镜像而不是重新启动Docker?
- 5. Docker正在重新启动并且agin
- 6. 在Docker上重新启动Apache
- 7. 重新启动服务器后重新启动Docker容器
- 8. 在django重新启动postgres连接
- 9. Docker中的Redis启动/重新启动多次?
- 10. postgres有时在重新启动后无法启动
- 11. Docker-Compose重新启动策略
- 12. WSO2 Carbon/API/DSS/ESB - Docker重新启动
- 13. docker-compose不启动postgres图像
- 14. 停止postgres进程重新启动 - mac
- 15. 如何在Docker中重新启动tcserver实例?
- 16. Postgres数据库不在Docker中启动 - Mac
- 17. 在码头环境中重新启动postgres
- 18. Docker在重新启动后在主机上重新创建目录
- 19. Docker卷,并重新启动始终启用选项
- 20. 重新启动后重新启动
- 21. 在重新启动
- 22. docker:如何从/ var/lib/docker/containers文件中重新启动容器
- 23. Docker容器中的ntpd服务已死,无法重新启动
- 24. 在Docker上重新启动vs构建容器
- 25. 如何在docker centos 6上启动postgres 9.6服务6 image
- 26. 有没有办法在Heroku上重新启动postgres?
- 27. 让Docker Windows容器在重启时自动启动
- 28. 是否有可能重新启动在Docker容器内运行的操作系统(linux)? (重新启动GPU)
- 29. postgres,ubuntu如何在启动时重新启动服务?重启实例后遇到集群
- 30. Docker - 进程不在启动时启动
您需要为您的问题添加更多信息。用什么命令启动原始容器?什么版本的Docker? Docker安装了什么主机操作系统?如果安装在macOS上,您是使用Docker for Mac还是Docker Machine? docker logs'的输出是什么?什么是退出代码? –