AWS Сервис проекта сборки docker -команда сборки не работает - PullRequest
2 голосов
/ 10 июля 2020

Я хочу встроить docker изображений и pu sh в ECR, для этого я написал ниже файл buildspect.yml и построил свой проект с помощью службы проекта сборки AWS. Мой файл buildspe c .yml выглядит следующим образом:

version: 0.2
 


phases:
  install:
    runtime-versions:
      docker: 18
    commands: 
      - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://localhost:2375 --storage-driver=overlay2&
      - timeout 15 sh -c "until docker info; do echo .; sleep 1; done"
  pre_build:
   commands:
     - $(aws ecr get-login --no-include-email --region ${AWS_DEFAULT_REGION})
     - REPOSITORY_URI_SERVER=<accountnumber>.dkr.ecr.${AWS_DEFAULT_REGION}.amazonaws.com/${IMAGE_NAME}
  build:
    commands:
     - docker-compose build
  post_build:
    commands:
     - docker-compose push
    

Пока я выполняю сборку с использованием службы проекта сборки AWS, я получаю сообщение об ошибке:

ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
errors pretty printing info
[Container] 2020/07/10 01:57:15 Command did not exit successfully timeout 15 sh -c "until docker info; do echo .; sleep 1; done" exit status 124
[Container] 2020/07/10 01:57:15 Phase complete: INSTALL State: FAILED
[Container] 2020/07/10 01:57:15 Phase context status code: COMMAND_EXECUTION_ERROR Message: Error while executing command: timeout 15 sh -c "until docker info; do echo .; sleep 1; done". Reason: exit status 124

1 Ответ

1 голос
/ 31 июля 2020

Я попытался написать файл buildspect.yml, как показано ниже. Я добавил в свой файл тег артефакта, который является местом, где моя сборка проекта является хранилищем.

post_build: commands: - docker - compose push - printf '[{"name": "", "imageUri": " imagedefinitions. json - cat imagedefinitions. json артефакты: files: imagedefinitions. json

Мне это удалось.

...