NM
Да я уже стар для откровений 😉
Ильдар
Может пора бота из кубер-чата импортировать? https://github.com/vrutkovs/ecasbot
d.
Привет где докер хранит свои образы в системе?
d.
я точно не уверен но он же когда образ скачивает он его потом может использовать?
d.
тоесть его не обязательно постоянно перекачивать?
d.
ну вот куда?
d.
в юниксах
d.
не могу найти папку
Vladislav
ну вот куда?
/var/lib/docker/image/overlay2/ гдето здесь
d.
спс
Sergey
Ток зачем тебе директории
d.
так пару опытов
d.
так а такой вопрос какими опциями заставить его исполнять sql команды на каждом билде
d.
FROM postgres:11.1 COPY up.sql /docker-entrypoint-initdb.d/1.sql CMD ["postgres"]
d.
он только на 1 ее исполняет
Никита
RUN
Никита
либо аргументами в CMD
d.
не тогда он будет делать это каждый билд
d.
а мне нужно только иногда
Никита
зачем SQL команды? данные всё равно снаружи хранить надо
d.
там структура базы
Никита
docker exec
d.
не я думаю есть возможность через —no-cache сделать это
George
что за хрень с постгрессом?
George
парни, ну это вообще ололо. База снаружи. Если тебе нужно изменять схему на ходу - ну, такое себе
Ильдар
FROM postgres:11.1 COPY up.sql /docker-entrypoint-initdb.d/1.sql CMD ["postgres"]
В данном Dockerfile нет исполняемых инструкций.
d.
В данном Dockerfile нет исполняемых инструкций.
файлы в этой папке исполняются в алфавитном порядке
d.
на билде
Ильдар
что?
Ильдар
В билде ничего не исполняется. FROM задаёт базовый образ, COPY добавляет файл, CMD задаёт аргументы для ENTRYPOINT
George
В данном Dockerfile нет исполняемых инструкций.
несомненно. этот up.sql запустить ЛИБО при первом старте контейнера из этого образа, ЛИБО при первом + всех последующих
George
тут я не подскажу
George
на билде
хрен там
Jürgen
файлы в этой папке исполняются в алфавитном порядке
На билде работают ран, копи адд, собственно вот
George
@pyToshka привет
Jürgen
Ильдар
Существует конечно инструкция ONBUILD, но я не вижу её в том, что принимаю за оригинальный Dockerfile для образа postgres:11
Ильдар
https://github.com/docker-library/postgres/blob/master/11/Dockerfile
Jürgen
На каждом билде если мне не изменяет память будет выполняться если сборка идет без кеша
Ильдар
пока кажется, что сборку вообще не нужно менять ;)
Ильдар
ТС, выложи на пастебин логи docker build --no-cache .
Jürgen
Обычно если надо манипуляции с базой то просто правят и делают правильный ентрипоинт
d.
только на 1 билде исполняет
Ильдар
логи покажи
Jürgen
не хочет выполнятся не могу заставить
выше попросили выложить) ну и заодно в скрипт добавить бы вербоус
d.
чуть позже
Jürgen
вангую что скрипт то пытается выполниться)
Ильдар
вангую что ТС путает build и run
Ильдар
docker history postgres:11.1 --no-trunc | grep -c ONBU 0
d.
щас с другим разберусь выложу логи
d.
не вангуйте просто так
Jürgen
docker history postgres:11.1 --no-trunc | grep -c ONBU 0
да это контсрукцию юзают редко) очень мало докерфайлов с тако контсрукцией
Ильдар
ага. тогда я не вижу причин для магии "в билде без RUN что-то исполнилось"
Jürgen
ага. тогда я не вижу причин для магии "в билде без RUN что-то исполнилось"
так и не должно выполняться)) вроде как ну и в магию я не верю
d.
итак
d.
если я делаю docker-compose rm postgres потом up -d —build то скрипт исполняется
d.
на всех других условиях он не исполняется
d.
что выложить вам?
d.
2019-02-14 06:11:23.978 UTC [43] LOG: database system was shut down at 2019-02-14 06:11:23 UTC 2019-02-14 06:11:23.986 UTC [42] LOG: database system is ready to accept connections done server started CREATE DATABASE /usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/1.sql DROP TABLE psql:/docker-entrypoint-initdb.d/1.sql:1: NOTICE: table "messager" does not exist, skipping DROP TABLE psql:/docker-entrypoint-initdb.d/1.sql:2: NOTICE: table "micros" does not exist, skipping CREATE TABLE 2019-02-14 06:11:24.620 UTC [42] LOG: received fast shutdown request
d.
вот psql его исполняет
d.
вопрос как заставить его исполнить без rm
George
ЗАЧЕМ!?
George
если тебе так хочется, то переопредели entrypoint
George
просто то, что ты делаешь - нифига не очевидно
George
и потом тебе еще аукнется
d.
я просто думаю могу ли я построить миграцию на этом функционале
Sergei
Почему при старте не закинуть дамп?
d.
добавлять туда файлы по мере необходимости и чтобы исполнялись те которые не в кеше
d.
Почему при старте не закинуть дамп?
да я хочу чтобы он исполнял того чего нет в кеше и если мне очень надо ребилдил полностью
Sergei
Мне кажется ты усложняешь
Ильдар
если я делаю docker-compose rm postgres потом up -d —build то скрипт исполняется
Ты понимаешь, что скрипт запускается не из-за --build, а из-за up?
d.
ща проверю