ansible-container
을 사용하여 PostgreSQL과 Citus 확장을 호스팅하는 두 개의 Docker 컨테이너를 빌드하고 실행하려고합니다. Citus가 컨테이너를 제공한다는 것을 알고 있지만, 나는 자체적으로 구조물을 만들고 싶습니다. 내가 시작하고 pg_ctlcluster
를 통해 클러스터를 중지 할 수 있습니다 빌드 과정에서Dockerized PostgreSQL : psql : FATAL : 데이터베이스 시스템이 시작됩니다
version: '2'
services:
database_master:
image: hackermd/ubuntu-trusty-python
user: postgres
expose:
- 5043
entrypoint: ['dumb-init', '--']
command: ['/usr/bin/pg_ctlcluster', '9.6', 'master', 'start']
links:
- database_worker
depends_on:
- database_worker
database_worker:
image: hackermd/ubuntu-trusty-python
user: postgres
expose:
- 9700
entrypoint: ['dumb-init', '--']
command: ['/usr/bin/pg_ctlcluster', '9.6', 'worker', 'start']
를하고 성공적으로 완료 다음과 같이
내 container.yaml
보인다. 나는 이후에 용기를 실행할 때, 나는 다음과 같은 오류가 발생합니다 : 나는 command: []
과 용기를 구축하고 컨테이너 내부 ps aux
을 실행
$ docker logs ansible_database_master_1
Removed stale pid file.
Warning: connection to the database failed, disabling startup checks:
psql: FATAL: the database system is starting up
, 나는 다음과 같은 과정 참조 : 나는 '
postgres 14 1.6 0.1 307504 3480 ? Ds 16:46 0:00 postgres: 9.6/master: startup process
을 또한 dumb-init
진입 점없이 시도했습니다. 내가 뭘 놓치고 있니?
동일한 상황에서 동일한 오류가있었습니다. 내 Dockerfile에서 pg_ctlcluster를 사용하여 RUN간에 서비스를 깔끔하게 종료하면 문제가 해결됩니다. 감사 – Eldamir