postgresql – 在docker环境中重启postgres

我有麻烦重新启动dockerized postgres数据库(我使用Core OS).使用该命令在bash脚本中启动数据库

# boot.sh
sudo -i -u postgres /usr/lib/postgresql/9.3/bin/postgres -D /var/lib/postgresql/9.3/main -c config_file=/etc/postgresql/9.3/main/postgresql.conf

哪个有效.我有另一个由confd调用的脚本,当一些etcd键改变时运行(这部分没问题,文件被正确调用)并且必须重启postgres(不重新加载,因为一些配置更改需要重启).以下是我尝试的主要选项,但失败了…

# restart.sh
sudo -u postgres /usr/lib/postgresql/9.3/bin/pg_ctl --pgdata=/var/lib/postgresql/9.3/main restart

系统地引发错误:

%FATAL:  lock file "postmaster.pid" already exists
%HINT:  Is another postmaster (PID 273) running in data directory "/var/lib/postgresql/9.3/main"?

此外,

# restart.sh
rm /var/lib/postgresql/9.3/main/postmaster.pid
sudo -i -u postgres /usr/lib/postgresql/9.3/bin/postgres -D /var/lib/postgresql/9.3/main -c config_file=/etc/postgresql/9.3/main/postgresql.conf

,

rm /var/lib/postgresql/9.3/main/postmaster.pid
/etc/init.d/postgresql start

,

/etc/init.d/postgresql restart

exec su postgres -c "/usr/lib/postgresql/9.3/bin/postgres -D /var/lib/postgresql/9.3/main -c config_file=/etc/postgresql/9.3/main/postgresql.conf"

失败了

ERROR exit status 1

任何想法?先感谢您!

最佳答案
对我来说,改变配置和做

$docker restart 

在主机上工作得很好.

相关文章

Docker是什么Docker是 Docker.Inc 公司开源的一个基于 LXC技...
本文为原创,原始地址为:http://www.cnblogs.com/fengzheng...
镜像操作列出镜像:$ sudo docker imagesREPOSITORY TAG IMA...
本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p...
在 Docker 中,如果你修改了一个容器的内容并希望将这些更改...
在Docker中,--privileged 参数给予容器内的进程几乎相同的权...