도킹 된 포스트그레스 데이터베이스를 다시 시작하는 데 문제가 있습니다 (코어 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라는 다른 스크립트가 있습니다 (이 부분은 정상이며 파일은 올바르게 호출됩니다). postgres를 다시 시작해야합니다 (일부 구성을 변경하려면 다시 시작해야하기 때문에 다시로드하지 않아야합니다). , 또한
%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
: 여기에 실패 해봤 주요 옵션 ...
# restart.sh
sudo -u postgres /usr/lib/postgresql/9.3/bin/pg_ctl --pgdata=/var/lib/postgresql/9.3/main restart
이 체계적으로 오류가 발생합니다
/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
어떤 생각 실패? 미리 감사드립니다. 는 config를 변경하고 호스트에
$ docker restart <postgres_container>
을하고 나를 위해
한편,이 라인만으로 구성된 restart.sh는 내 우분투 서버에서 오류없이 작동합니다 :'sudo -i -u postgres /usr/lib/postgresql/9.3/bin/pg_ctl restart -D/var/lib/postgresql/9.3/main'에 있습니다. (귀하의 질문에이 구문이 표시되지 않습니다.) 반면에 Docker 컨테이너에서는 실행하지 않습니다. –
감사합니다. Mike, 우분투 서버에서 작동합니다. 이 문제는 Core OS 나 Docker와 관련이있는 것 같습니다. 그러나 정확히 무엇이 구성되어 있는지는 모르겠습니다 ... – Raphael
-cap-docker 실행 명령에 SYS_PTRACE를 추가하십시오. –