В моем docker-compose.yml я использую некоторые переменные .env.Вот так:
services:
ms:
image: 'template:latest'
build:
context: .
restart: always
ports:
- '${PORT}:${PORT}'
env_file:
- .env
Документация Docker гласит, что мне нужно запустить команду docker-compose из каталога, когда файлы .env и docker-compose.yml присутствуют вместе.
Iхотите использовать GitLab CI для автоматического развертывания службы mi.Это часть файла gitlab-ci-yml:
image: docker:latest
services:
- docker:dind
...
run-deploy-prod:
stage: deploy
cache: {}
before_script:
# ssh configuration for alpine linux
script:
# move docker-compose.yml and .env to the location ~/docker_app/app
- ssh $USER_NAME@$HOST_ADDRESS 'docker-compose -f '~/docker_app/app/docker-compose.yml' up --no-build -d'
Вопрос: Как запустить docker-compose точно из папки ~ / docker_app / app для правильной загрузки переменных .env?
Я пытался использовать ssh с параметрами -T, -tt и -t, например:
ssh -T bob@foo "cd ~/docker_app/app && exec \$SHELL && docker-compose up..."
, но безуспешно.
Любая помощь будет принята с благодарностью.