私はドッカーの作成に新しく、私はcentos 6の上にpostgres 9.6でコンテナを構築しようとしています。 次に、いくつかのdb管理ツールを使用してデータベースに接続したいと考えています。ドッカーのcentos 6イメージでpostgres 9.6サービスを起動する方法
私が実行している場合:
docker-compose up
画像が正しく構築するが、その後、私は、データベースに接続することはできません。
私はのtty削除する場合
:真と
stdin_openを:真画像を構築するが、その後、それが終了コードで終了0
私は5432を-p -itドッカ・ランを実行する場合:5432 - -entypoint/bin/bash [image_name]を実行してから、手動でコマンドを実行します。サービスpostgresql-9.6 startすべてが正常に機能します(コンテナを終了するまで)。
ご提案がありますか?ここで
は私のドッキングウィンドウ・コンファイルです:
networks{}
version: '2'
services:
postgres:
build:
context: ./src/test/docker/postgres
ports:
- "5432:5432"
stdin_open: true
tty: true
そして、私のドッキングウィンドウのファイル:
FROM centos:6
RUN yum -y install
https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-
centos96-9.6-3.noarch.rpm
RUN yum -y install postgresql96 postgresql96-server postgresql96-libs
postgresql96-contrib postgresql96-devel
# Initialize the database (not starting it yet)
RUN service postgresql-9.6 initdb
RUN su postgres
RUN echo "listen_addresses = '*'" >> /var/lib/pgsql/9.6/data/postgresql.conf
RUN echo "PORT = 5432" >> /var/lib/pgsql/9.6/data/postgresql.conf
RUN echo "local all all trust" > /var/lib/pgsql/9.6/data/pg_hba.conf
RUN echo "host all all 127.0.0.1/32 ident" >> /var/lib/pgsql/9.6/data/pg_hba.conf
RUN echo "host all all ::1/128 ident" >> /var/lib/pgsql/9.6/data/pg_hba.conf
RUN echo "host all all 0.0.0.0/0 md5" >> /var/lib/pgsql/9.6/data/pg_hba.conf
RUN exit
# Expose the PostgreSQL port
EXPOSE 5432
ENTRYPOINT service postgresql-9.6 start
ありがとう@Colwin!あなたのコメントは正しい道に私を置いた。あなたのコマンドで1つのパスだけを変更し、それを "postgres"ユーザーとして実行する必要がありました。 ENTRYPOINT ["sudo"、 " - u"、 "postgres"、 "/ usr/pgsql-9.6/bin/postgres"、 " - D"、 "/ var/lib/pgsql/9.6 /データ "、" - p "、" 5432 "] – Sokrates
私は@ソクラテスを助けることができました。あなたの新しいエントリーポイントで私の答えを更新しました。あなたの問題を解決するのに役立ったら、私の答えを受け入れてください。 – Colwin
こんにちは@Colwin、私はしたいですが、私はそれを行うには十分な評判がないように見えます。私は正しい? – Sokrates