
Алексей
22.04.2019
19:22:37
коллеги я вроде знаю что так нельзя но вдруг кто знает как можно.
я хочу после выхода контейнера запущенного через docker-compose удалять его. аналог
docker run --rm
как ?

Dan
22.04.2019
19:24:45
docker-compose rm ?
Удаляет остановленные контейнеры
А, кажется понял

Google

Dan
22.04.2019
19:25:45
Вчитался в вопрос

Алексей
22.04.2019
19:25:45
я ее конечно делаю но нет. я хочу up --rm
ci иногда в какихто странных кейсах не хочет прибиратся. хотя секция after должна выполнятся всегда. но она кажется нет

Dan
22.04.2019
19:28:09
А, ну так docker-compose run --rm
https://docs.docker.com/compose/reference/run/

Алексей
22.04.2019
19:28:29
хм
возможно run вариант
спасибо да

Dan
22.04.2019
19:29:08
Но там есть нюанс
run имеет ограничения

Алексей
22.04.2019
19:29:40
мне не нужны порты
если ты об этом
там скрипты миграции базы

Google

Dan
22.04.2019
19:30:04
А, всё, тогда точно run
Это как раз про это, да

Алексей
22.04.2019
19:30:32
блин он не умеет ждать базу

Dan
22.04.2019
19:31:46
If you start a service configured with links, the run command first checks to see if the linked service is running and starts the service if it is stopped. Once all the linked services are running, the run executes the command you passed it.

Алексей
22.04.2019
19:32:08
ну ладно. это вариант обложусь nc
спасибо!

Dan
22.04.2019
19:32:47
Там внизу доки примеры как раз про миграции и апдейты db, так что да, скорее всего это как раз то, что нужно

Алексей
22.04.2019
19:34:03
оно не умеет в расширенные healtchek депсы
такое вот идёт лесом
depends_on:
postgres:
condition: service_healthy
mongo:
condition: service_started
clickhouse:
condition: service_started

Dan
22.04.2019
19:38:25
А, это да, run игнорит почти всё, его надо с ключами запускать

Admin
ERROR: S client not available

Dan
22.04.2019
19:38:31
И он не умеет depends вроде

Алексей
22.04.2019
19:39:32
в целом они их умеет но не умеет в хц

Dan
22.04.2019
19:39:52
А что если и фиг с ним? Главное чтоб база запущена была, и там был хц, а миграции в слепую?
Или надо прям контролировать миграцию во время?

Алексей
22.04.2019
19:40:42
нет. надо просто дождаться что бы в постгресе создалась база
это 4-5 секунд
но она не успевает

Dan
22.04.2019
19:44:04
#! /bin/bash
if [[ $1 == "up" ]]; then
# runs "docker-compose up" and then "docker-compose down"
docker-compose up "${@:2}"; docker-compose down
elif [[ $1 == "run" ]]; then
# "d-c run" automatically adds the --rm flag
docker-compose run --rm "${@:2}"
else
# any other d-c command runs docker-compose normally
docker-compose "${@:1}"
fi
Как насчёт так?

Google

Алексей
22.04.2019
19:44:49
ох ох. Ден забей. я лучше nc забхну перед ожиданием базы

Dan
22.04.2019
19:46:01
Но ведь логишно же, если мы только миграцию делаем, можно вообще только её как сервис стартовать так:
docker-compose up migrationService; docker-compose down
или даже --rm migrationService после
Я ленивый, я б скрипт написал

Maksim
23.04.2019
02:14:07
Сделай проще, регулярно запускай docker prune, он приберется