Состояние печати после запуска контейнера docker-compose - PullRequest
0 голосов
/ 20 апреля 2019

В файле docker-compose возможно ли дождаться запуска контейнера и затем напечатать состояние?

например, sleep 10 && echo started mysql on http://${HOST}:${PORT}

A Dockerfile имеет команду запуска, но в файле компоновки такого нет.Как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 20 апреля 2019

С docker-compose, как и с обычным docker run [...], вы можете указать entrypoint (ср. здесь ) и command (ср. здесь ).

Однако в вашем случае я бы построил собственный образ Docker на основе вашего предпочтительного образа MySQL и COPY простой сценарий входа в образ, который делает то, что вы хотите, например,

#!/bin/sh

sleep 10

[command to run MySQL]

echo "Started MySQL on xyz"

Затем укажите этот скрипт как ENTRYPOINT в вашем Dockerfile.

0 голосов
/ 20 апреля 2019

Лучший способ - добавить это в файл композиции:

print-status:
  image: busybox
  env_file: .env
  command: "sh -c 'sleep 10 && echo \"http://localhost:${PORT}\"'"
  depends_on:
    - mysql
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...