Создание таблицы postgresql при запуске докера

Все ядра Centos 5.x основаны на 2.6.18, для CentOS 5 нет ядер, основанных на кодовых базах 3.x или 4.x.

Другим важным фактором, который вы должны учитывать, является то, что Centos 5 достиг EOL (End Of Life )около 1 года назад:

Mar 31, 2017 EOL

Вы можете подтвердить это на вики CentOS:https://wiki.centos.org/HowTos/EOL

Это означает, что никаких официальных обновлений для CentOS 5 больше не будет. Пришло время обновиться до более новой системы. Ваша система полностью подвержена всем известным уязвимостям, появившимся за последний год.

Расширение:

https://wiki.centos.org/About/Product

Полная -поддержка обновлений Centos 6 уже подошла к концу 10 мая 2017 г., но он продолжит получать обновления безопасности до 30 ноября 2020 г. (EOL)

Centos 7 будет иметь полные обновления до четвертого квартала 2020 г., а окончание срока службы будет завершено к 30 июня 2024 г.

0
19.12.2020, 23:44
1 ответ

Поскольку проблем с /bin/suразрешениями на выполнение и содержимым /etc/pam.d/suи /etc/pam.d/su-lне обнаружено. imageдолжно быть в порядке!

После того, как я вытащил изображение локально, кажется, что ошибка связана с su postgres -c ; Его следует удалить, потому что, если вы добавите whoamiв скрипт, вы заметите, что скрипт будет запускаться по умолчанию с postgresql, и это потому, что контейнер сделал suна postgresпри запуске, потому что демон должен запускаться с этим пользователем.

Докер-файл:

FROM registry.hub.docker.com/library/postgres
COPY postgres.sh /docker-entrypoint-initdb.d/
RUN chmod +x /docker-entrypoint-initdb.d/postgres.sh

Сценарий:

#!/bin/bash
whoami 
psql << EOF
ALTER USER postgres WITH PASSWORD '123';
create database shippingchallenge;
\c shippingchallenge;
create table people(firstname CHAR(20), surname CHAR(30));
insert into people values ('Pieter', 'Pauwels');
EOF

ТЕСТ:

docker exec -it <container> bash 
su postgres 
psql
postgres=# \l

ВЫВОД(таблица создана и владельцем является postgres):

shippingchallenge|postgres|UTF8|en_US.utf8|en_US.utf8|

Вот почему suзапрашивал пароль пользователя postgres, и, поскольку ничего не передается, вы получилиОшибка аутентификацииво время сборки.

-1
18.03.2021, 22:41

Теги

Похожие вопросы