Я пытаюсь заставить это работать.У меня есть 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
, поэтому он работает.