Код команды aws не найден при запуске?
Я пытаюсь получить простое приложение докеров для сборки с использованием кода сборки AWS, но я сталкиваюсь с ошибкой, когда команда aws не найдена:
[Container] 2016/12/10 04:29:17 Build started on Sat Dec 10 04:29:17 UTC 2016
[Container] 2016/12/10 04:29:17 Running command echo Building the Docker image...
[Container] 2016/12/10 04:29:17 Building the Docker image...
[Container] 2016/12/10 04:29:17 Running command docker build -t aws-test .
[Container] 2016/12/10 04:29:17 sh: 1: docker: not found
[Container] 2016/12/10 04:29:17 Command did not exit successfully docker build -t aws-test . exit status 127
[Container] 2016/12/10 04:29:17 Phase complete: BUILD Success: false
[Container] 2016/12/10 04:29:17 Phase context status code: COMMAND_EXECUTION_ERROR Message: Error while executing command: docker build -t aws-test .. Reason: exit status 127
У меня есть супер простой файл докеров, который создает простое экспресс-приложение:
FROM node:6.2.0
# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# Install app dependencies
COPY package.json /usr/src/app/
# Bundle app source
COPY . /usr/src/app
EXPOSE 3000
CMD npm install && npm start
И у меня есть супер простой buildspec.yml, который, предположительно, должен построить контейнер докеров и нажать его в реестр aws:
version: 0.1
phases:
pre_build:
commands:
- echo Logging in to Amazon ECR...
- $(aws ecr get-login --region us-west-2)
build:
commands:
- echo Build started on 'date'
- echo Building the Docker image...
- docker build -t <CONTAINER_NAME> .
- docker tag <CONTAINER_NAME>:latest <ID>.dkr.ecr.us-west-2.amazonaws.com/<CONTAINER_NAME>:latest
post_build:
commands:
- echo Build completed on 'date'
- echo Pushing the Docker image...
- docker push <ID>.dkr.ecr.us-west-2.amazonaws.com/<CONTAINER_NAME>:latest
Однако когда-то побежал, он выдает сообщение об ошибке выше ^^ Я не уверен, почему aws cli utils не найдены? Это руководство здесь:
http://docs.aws.amazon.com/codebuild/latest/userguide/sample-docker.html
Предлагает мне не нужно ничего делать, чтобы настроить aws cli utils где угодно?
Кроме того, еще одна вещь, которую я заметил, я удалил $ (aws ecr get-login --region us-west-2) шаг из файла buildspec, снова построил его, а затем сказал, что команда докера не найдена?! Я пропустил какой-то шаг (я не думаю, что у меня есть).
Ответы
Ответ 1
Так получилось, что я использовал неправильную среду. Вот что я сейчас использую:
Я пытался указать собственное изображение докеры, которое в конечном итоге не было настроено ни с одним из AWS cli utils!
Спасибо @Clare Liguori за то, что он меня опрокинул!