AWS сценарий уничтожения кода конвейера "docker compose not working" - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь запустить конвейер кода с github в качестве источника, codeBuild в качестве сборщика и elasti c beanstalk в качестве инфраструктуры сервера. Я использую изображение docker amazon linux: 2018.03, которое отлично работает локально, но во время сборки кода в конвейере я получаю следующую ошибку:

docker-compose: command not found

Я пытался установить docker, docker - составить et c. но он продолжает давать мне эту ошибку. Я установил сборку для использования файла buildspe c .yaml:

version: 0.2
phases:
  install:
    commands:
        - echo "installing"
        - sudo yum install -y yum-utils 
        - sudo yum-config-manager  --add-repo https://download.docker.com/linux/centos/docker-ce.repo  
        - sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
        - sudo chmod +x /usr/local/bin/docker-compose
        - sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose 
        - docker-compose --version
  build:
    commands:
        - bash compose-local.sh

compose-local. sh:

#!/bin/bash
sudo docker-compose up

Я пробовал пару дней. И я не уверен, контролирую ли я что-то с помощью codeBuild, которого я не знаю?

Ответы [ 2 ]

0 голосов
/ 09 мая 2020

Если вы используете образ Ubuntu 2.0+ или Amazon Linux 2, нам нужно указать docker в качестве runtime-версий на этапе установки в buildspe c .yml файле, например:

version: 0.2
phases:
  install:
    runtime-versions:
      docker: 18
  build:
    commands:
      - echo Build started on `date`
      - echo Building the Docker image with docker-compose...
      - docker-compose -f docker-compose.yml build 

Также не забудьте включить режим привилегий: https://docs.aws.amazon.com/codebuild/latest/userguide/create-project.html#create -project-console

0 голосов
/ 08 мая 2020

Запустите / usr / local / bin / docker -compose.

...