6

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ó).

+0

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? –

+0

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

Trả lời

5

Vì vậy, hóa ra tôi đã sử dụng sai môi trường. Dưới đây là những gì tôi đang sử dụng hiện nay:

Now

Tôi đã cố gắng để xác định hình ảnh Docker của riêng tôi, mà là cuối cùng không thiết lập với bất kỳ cli utils AWS!

Cảm ơn @Clare Liguori vì đã giới thiệu cho tôi!

+0

Ngoài ra, bây giờ bạn phải chỉ định Runtime "Docker", nằm bên dưới cuộn gấp trong menu thả xuống đó. Điều này không được nêu rõ trong bất kỳ tài liệu nào và dễ dàng bỏ lỡ trong danh sách thả xuống không được sắp xếp theo thứ tự bảng chữ cái dưới màn hình đầu tiên. – Phil

+0

Hộp kiểm đặc quyền phải BẬT – Sergei

Các vấn đề liên quan