AWS codepipeline杀死脚本 "docker compose不工作"

问题描述 投票:0回答:1

我试图运行一个代码管道,以github为源码,codeBuild为构建器,elastic beanstalk为服务器基础设施。我使用的docker镜像是amazonlinux:2018.03,它在本地完美地工作,但在管道中的codebuild过程中,我得到以下错误。

docker-compose: command not found

我已经尝试安装docker,docker-compose等,但它一直给我这个错误。我已经将构建设置为使用buildspec.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监督什么,我不知道?

amazon-web-services docker aws-codepipeline aws-codebuild
1个回答
0
投票

运行usrlocalbindocker-compose起来代替。


0
投票

如果使用Ubuntu 2.0+或Amazon Linux 2镜像,我们需要在安装阶段在buildspec.yml文件中指定docker为运行时版本,例如:。

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.comcodebuildlatestuserguidecreate-project.html#create-project-console。

© www.soinside.com 2019 - 2024. All rights reserved.