4
votes

I am getting the following error from the BUILD stage of my CodeBuild build process:

"Error while executing command: docker build -t ..." Reason: exit status 1

I have a code build service role set up with permissions for ecr, the aws ecr login stage has succeeded, and my buildspec.yml is really simple - pretty much just the standard template. Runtime is the Amazon-managed ubuntu image, standard.

Is there any reason why the Docker build could be failing and anything anyone would suggest to troubleshoot?

Thank you

Full buildspec.yml file:

version: 0.2

phases:
  pre_build:
    commands:
      - echo Logging in to Amazon ECR...
      - $(aws ecr get-login --no-include-email --region eu-west-1)
  build:
    commands:
      - echo Building the Docker image...          
      - docker build -t maxmind:latest .
      - docker tag maxmind:latest 381475286792.dkr.ecr.eu-west-1.amazonaws.com/maxmind:latest      
  post_build:
    commands:
      - echo Build completed on `date`
      - echo Pushing the Docker image...
      - docker push 381475286792.dkr.ecr.eu-west-1.amazonaws.com/maxmind:latest

Full error message (BUILD stage):

COMMAND_EXECUTION_ERROR: Error while executing command docker build -t maxmind:latest .. Reason: exit status 1

Full error message (POST_BUILD stage):

COMMAND EXECUTION_ERROR: Error while executing command: docker push 381475286792.dkr.ecr.eu-west-1.amazonaws.com/maxmind:latest. Reason: exit status 1

Full error message (logstream):

[Container] 2020/05/20 09:28:54 Running command docker build -t maxmind:latest .
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

[Container] 2020/05/20 09:28:54 Command did not exit successfully docker build -t maxmind:latest . exit status 1
[Container] 2020/05/20 09:28:54 Phase complete: BUILD State: FAILED

Things I have tried

Attached AmazonEC2ContainerRegistryPowerUser policy to the codebuild-service-role created by my build process

1
Clink into the codebuild project build that failed, and click the 'Phase Details` Tab. Any additional errors there?maafk
@maafk yes. COMMAND_EXECUTION_ERROR: Error while executing command: docker build -t... Reason: exit status 1Tim_B
Can you provide your codebuild.yml and the full version of the message?Marcin
You are using incorrect ecr login command. Try that: $(aws ecr get-login --no-include-email --region eu-west-1). Check here how to login to ecr.Marcin
@Marcin got the needed permissions, updated the environment, retried the build, and everything worked fine - thanks again for the great helpTim_B

1 Answers

4
votes

Based on the comments.

There were two issues. The first one was not using PrivilegedMode mode in the CodeBuild project. The mode is required when building a docker image inside a docker container.

The second issue was missing permission iam:DeletePolicyVersion.

Enabling the mode and adding the missing permissions, solved the issue.