14

AWS codebuildを使用してビルドする単純な docker アプリを取得しようとしていますが、 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

そして、 docker コンテナをビルドしてawsレジストリにプッシュすることを想定した、非常にシンプルなbuildspec.ymlを用意しました。

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をセットアップするために何もする必要がないことを示唆していますか?

また、もう 1 つ気づいたことは、buildspec ファイルから$(aws ecr get-login --region us-west-2)ステップを削除し、再度ビルドしたところ、docker コマンドが見つからないということでした?! 私はどこかでステップを逃したことがありますか (私は持っていないと思います)。

4

1 に答える 1

17

そのため、間違った環境を使用していたことが判明しました。これが私が今使っているものです:

今

私は独自の docker イメージを指定しようとしていましたが、これは最終的に AWS cli utils のいずれでもセットアップされませんでした!

@Clare Liguori さん、教えてくれてありがとう!

于 2016-12-10T05:39:14.133 に答える