Как проверить, завершен ли процесс загрузки образа докера - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь заставить это работать.У меня есть docker-compose.yml файл:

version: '3'
services:
  mariadb:
    image: 'bitnami/mariadb:latest'
    env_file:
      - .env
    volumes:
      - 'mariadb_data:/bitnami'
  magento:
    image: 'bitnami/magento:latest'
    labels:
      kompose.service.type: nodeport
    env_file:
      - .env
    ports:
      - '80:80'
      - '443:443'
    healthcheck:
      test: 'pgrep tini > /dev/null && curl --fail --head --insecure --silent --output /dev/null --write-out %{http_code} ${MAGENTO_HOST}/pub/health_check.php || exit 1'
      interval: 60s
      timeout: 10s
      retries: 20
    volumes:
      - 'magento_data:/bitnami'
    depends_on:
      - mariadb
volumes:
  mariadb_data:
    driver: local
  magento_data:
    driver: local

Он почти такой же, как оригинал из https://github.com/bitnami/bitnami-docker-magento рядом с healthcheck разделом, который я сделал, чтобы проверить, завершен ли процесс загрузки.В .gitlab-ci.yml я использую

- sleep 800 && echo "sleep end"
- docker-compose-wait -w

, чтобы дождаться окончания процесса установки magento в контейнер (я знаю, что от команды docker logs это занимает около 12 минут).Работа CI всегда терпит неудачу, потому что docker-compose-wait возвращает

Some processes failed:
magento is unhealthy

Я тестировал его [docker-compose.yml file] локально, и я знаю, что после 4 или 5 попыток Healthcheck возвращает status 0, поэтому он работает.

...