一次docker异常时修复过程

场景

postgresql数据库在docker环境安装插件,修改配置(增加pglogical扩展加载)后无法启动容器了

启动时报错

Error response from daemon: Container 130e4f7fc99d06d98a6d1542b16580ff25475b9cff892a75cde26743xxx676d3 is restarting, wait until the container is running

排查步骤

查看容器的错误日志
docker logs postgres

2020-05-06 06:17:12.624 UTC [1] FATAL:  could not access file "pglogical": No such file or directory
2020-05-06 06:17:12.624 UTC [1] LOG:  database system is shut down

如上报错pglogical插件不存在(修改配置时增加了shared_preload_libraries = 'pglogical'导致)

解决

  1. 将配置文件复制出来
    docker cp 730e4f7fc99d:/var/lib/postgresql/data/postgresql.conf postgresql.conf
    修改去掉pglogical插件的预加载

  2. 将配置文件到容器中
    docker cp postgresql.conf 730e4f7fc99d:/var/lib/postgresql/data/postgresql.conf

docker restart [容器ID] 就能重新启动了

posted @ 2020-05-06 14:49  JaminX86  阅读(2503)  评论(0编辑  收藏  举报