Tôi đang cố gắng để có được một ứng dụng Docker đơn giản để xây dựng sử dụng AWS codebuild, nhưng tôi đi ngang qua một lỗi nơi AWS lệnh không được tìm thấy:Lệnh Codebuild aws không tìm thấy khi chạy?
[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
Tôi đã có một siêu tập tin Docker đơn giản mà xây dựng một ứng dụng nhanh đơn giản:
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
và tôi đã có một siêu đơn giản buildspec.yml đó là giả để xây dựng container Docker và đẩy nó vào AWS registry:
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
Tuy nhiên khi chạy, nó ném các lỗi được đăng trên đây ^^ Tôi không chắc chắn lý do tại sao AWS cli utils không được tìm thấy? Hướng dẫn này ở đây:
http://docs.aws.amazon.com/codebuild/latest/userguide/sample-docker.html
gợi ý tôi không cần phải làm gì để thiết lập các AWS cli utils ở đâu không?
Ngoài ra một điều khác tôi nhận thấy, tôi đã xóa $ (aws ecr get-login --region us-west-2) bước từ tệp buildspec, xây dựng lại và sau đó nói rằng lệnh docker không tìm?! Tôi đã bỏ lỡ một bước nào đó (tôi không nghĩ mình có).
Hình ảnh bạn đang sử dụng làm môi trường dự án là gì? Bạn đang sử dụng một trong các môi trường được quản lý CodeBuild? –
Cảm ơn bạn rất nhiều @ ClareLiguori Tôi là một chút bối rối và sử dụng các container env sai. Bạn có thể tạo ra một câu trả lời và tôi sẽ chấp nhận nó nếu bạn thích? – James111