Я использую:
- Windows 10
- сделать 3.81
- докер CE 18.09.2
- докер составляет 1.23.2
- git bash 2.22.0.windows.1
У меня есть файл docker-compose.yaml
, который выглядит следующим образом:
version: '3.2'
services:
terraform:
image: hashicorp/terraform:0.11.14
entrypoint: terraform
working_dir: /var/tmp/code/
volumes:
- .:/var/tmp/code/:rw
А мой Makefile
выглядит так
init:
docker-compose run terraform init
Когда я запускаю это из командной строки GitBash:
make init
Я получаю следующий вывод
docker-compose run terraform init
process_begin: Ошибка CreateProcess (NULL, docker-compose run terraform init, ...).
make (e = 2): система не может найти указанный файл.
make: *** [init] Ошибка 2
Я видел другие сообщения , относящиеся к этому, и понимаю, что это проблема со значениями в моей переменной окружения PATH
, однако я не уверен, как исправить проблему.
Пожалуйста, дайте мне знать, если я могу предоставить дополнительную информацию
Обновление
Я подтвердил, что:
docker-compose
установлено
- существует
docker-compose.exe
в моей переменной окружения PATH (см. Ниже)
Моя переменная среды PATH:
Обновление 2
Если я изменяю make-файл, чтобы он явно указывал путь к файлу docker-compose.exe
, он работает:
init:
"/c/Program Files/Docker/Docker/resources/bin/docker-compose.exe" run terraform init
Обновление 3 - Решение
Так что мой полный Makefile
на самом деле выглядел так:
#!make
include .env
export
.env:
@[ -f ./.env-aws ] && source ./.env-aws; env | grep AWS | sed 's/export //g; s/"//g' > .env
init-test:
docker-compose run terraform init
Выполнение make .env
создает .env file
, который включает переменную PATH env
AWS_SECRET_ACCESS_KEY=...
AWS_SESSION_TOKEN=...
AWS_ACCESS_KEY_ID=...
PATH=...
Удаление строки PATH
из этого файла решит ее для меня:)