У меня есть проект docker-compose, где у каждой службы есть своя команда для запуска при запуске.Я хочу добавить дополнительную команду перед командой, указанной в docker-compose.yml
, которая будет выполняться только при первом создании контейнера.
Поскольку я не уверен, что это возможно, для меня также приемлемозапускать команды вручную перед вызовом docker-compose up
.
Учитывая следующую docker-compose.yml
версию: '2.3'
version: '2.3'
services:
serv1:
image: my_image
command: some startup command
serv2:
image: my_image
command: some startup command 2
Я попытался запустить следующую
$ docker-compose run serv1 my_creation_command
$ docker-compose run serv2 my_creation_command
$ docker-compose up
Но это приводит к тому, что первые две команды создают контейнеры projectname_serv1_run_1
и projectname_serv2_run_1
, а третья команда создает projectname_serv1_1
и projectname_serv2_1
Это, очевидно, проблема, поскольку my_creation_command
никогда не выполнялся наконтейнеры, созданные командой up
Любое решение, которому удастся получить пользовательскую команду, выполняемую только на части создания, будет приемлемым