Size: a a a

Docker — русскоговорящее сообщество

2022 February 04

PG

Pavel Gassan in Docker — русскоговорящее сообщество
интересно, не знал такого варианта
источник

ЕЯ

Егор Япрынцев... in Docker — русскоговорящее сообщество
нет, 40 мб там есть
источник

PG

Pavel Gassan in Docker — русскоговорящее сообщество
типа там есть какая-то база?
источник

ЕЯ

Егор Япрынцев... in Docker — русскоговорящее сообщество
я думал, ты тоже sql монтируешь. А как еще можно создать базу например?
источник

PG

Pavel Gassan in Docker — русскоговорящее сообщество
по-моему docker-entrypoint-initdb.d не отработает в таком случае
источник

PG

Pavel Gassan in Docker — русскоговорящее сообщество
базу - да, через монтирование в docker-entrypoint-initdb.d, но конфиг предпочитаю отдельно в явном виде монтировать
источник

PG

Pavel Gassan in Docker — русскоговорящее сообщество
тогда если что-то надо поменять - не пересобираю образ
источник

ЕЯ

Егор Япрынцев... in Docker — русскоговорящее сообщество
да, для постгреса есть
источник

PG

Pavel Gassan in Docker — русскоговорящее сообщество
ну тогда у тебя никакие скрипты в docker-entrypoint-initdb.d не отработают, так энтрипоинт в постргес имедже устроен
источник

ЕЯ

Егор Япрынцев... in Docker — русскоговорящее сообщество
понял, спасибо
источник

ЕЯ

Егор Япрынцев... in Docker — русскоговорящее сообщество
меня смутило поведение постгреса на маке. При дефолтных бд, sql в docker-entrypoint выполняется)
источник

ZP

Zhenya Panin in Docker — русскоговорящее сообщество
А если я что-то понял в коде, то нужно заново же билдить?
источник

PG

Pavel Gassan in Docker — русскоговорящее сообщество
Initialization scripts
If you would like to do additional initialization in an image derived from this one, add one or more *.sql, *.sql.gz, or *.sh scripts under /docker-entrypoint-initdb.d (creating the directory if necessary). After the entrypoint calls initdb to create the default postgres user and database, it will run any *.sql files, run any executable *.sh scripts, and source any non-executable *.sh scripts found in that directory to do further initialization before starting the service.

Warning: scripts in /docker-entrypoint-initdb.d are only run if you start the container with a data directory that is empty; any pre-existing database will be left untouched on container startup. One common problem is that if one of your /docker-entrypoint-initdb.d scripts fails (which will cause the entrypoint script to exit) and your orchestrator restarts the container with the already initialized data directory, it will not continue on with your scripts.
источник

PG

Pavel Gassan in Docker — русскоговорящее сообщество
смотря как твой код попадает в контейнер, если монтируешь и есть хот релоад - не надо
если копируешь при сборке - надо
источник

ЕЯ

Егор Япрынцев... in Docker — русскоговорящее сообщество
в случае, если я копирую sql при сборке, как мне удалять существующие бд? Если скрипты докер-ентрипоинт не отработают
источник

ЕЯ

Егор Япрынцев... in Docker — русскоговорящее сообщество
в CMD куда нить закинуть
psql -U postgres -c "drop database databasename"
источник

TC

Tom Cauf in Docker — русскоговорящее сообщество
Мне тут резолва путей корпоративного портала надо прописать dns кастомные. Собственно сделал вот так:

# /etc/docker/daemon.json

{
   "dns": {
       "11.11.11.11",
       "22.22.22.22"
   }
}
Рестартанул сервис. Запускаю сборку образа, получаю таймауты. Сделал вызов по телнету из образа:

telnet 11.11.11.11 80

Получаю

telnet: can't connect to remote host (11.11.11.11): Operation timed out
источник

TC

Tom Cauf in Docker — русскоговорящее сообщество
Из хост системы все норм работает
источник

AR

Andrey Rastorguev in Docker — русскоговорящее сообщество
У вас днс по tcp на 80 порту?
источник

TC

Tom Cauf in Docker — русскоговорящее сообщество
По 80 порту надо с него файл забрать. Он по адресу самого днс расположен
источник