我一直在尝试在 Docker 中(在 Windows 上)运行 postgres 并保持数据的持久性存储,我认为我终于成功了,但现在当我尝试启动容器时,我会遇到以下错误:
LOG: invalid primary checkpoint record
LOG: invalid secondary checkpoint record
PANIC: could not locate a valid checkpoint record
以下是我启动容器的步骤:
docker volume create ct_data
docker run --name postgres_ct -v ct_data:/var/lib/postgresql/data -p 5432:5432 postgres
我随后使用pgAdmin连接它,创建了一个新表,并使用恢复选项导入了一个postgres转储文件。数据加载没有问题。我启动了第二个容器,使用与上述相同的卷,但名称和端口号不同以进行测试,我能够连接,所以我将其关闭。
现在,一小时后,我发现我的原始容器自动停止,因此我尝试重新启动它并获得了上述错误。这是我第一次尝试使用Docker,因此很可能我错过了一些简单的东西。