我正在尝试运行一个以github为源、以codeBuild为构建器、以弹性beanstall为服务器基础设施的代码管道。我使用的是一个docker镜像amazonlinux:2018.03,它在本地运行得很好,但在管道中的代码构建过程中,我得到了以下错误:
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?
改为运行/usr/local/bin/docker-compose up
。
如果使用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.com/codebuild/latest/userguide/create-project.html#create-项目控制台