Я новичок в docker-compose, и я пытаюсь создать контейнер с postgres 9.6 поверх centos 6 и запустить его с помощью docker compose up. Затем я хочу иметь возможность подключиться к базе данных через какой-нибудь инструмент управления базами данных.
Если я бегу:
docker-compose up
Изображение строится правильно, но я не могу подключиться к базе данных.
Если я удалю tty: true и stdin_open: true, изображение будет построено, но затем оно завершится с кодом выхода 0.
Если я запускаю docker-run -it -p 5432: 5432 --entypoint / bin / bash [имя_образа], а затем вручную запускаю команду service 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