我正在尝试从travis CI在AWS Elastic beantalk中部署Docker应用程序。
Travis CI没有显示错误,但是当我在弹性beantalk中部署应用程序时,它在日志中显示了以下错误。
2020/04/27 02:03:14.074446 [WARN]无法执行命令:docker pull node:alpine作为生成器,正在重试...
2020/04/27 02:03:14.074466 [INFO]运行命令/ bin / sh -c docker pull node:alpine作为生成器
2020/04/27 02:03:14.118181 [ERROR]“ docker pull”需要恰好1个参数。
2020/04/27 02:03:14.118209 [错误]在执行命令[app-deploy]-[Docker特定的构建应用程序]期间发生错误。停止运行命令。错误:无法提取docker映像:命令/ bin / sh -c docker pull node:alpine,因为构建器失败,错误退出状态为1。Stderr:“ docker pull”需要精确的1个参数。请参阅“ docker pull --help”。
下面是我的github存储库,请检查是否可能,并让我知道我做错了什么。
我尝试在Elasticbeanstalk中部署Docker应用程序时遇到了相同的问题。似乎问题出在创建环境时选择了平台。
如果选择平台“在64位Amazon Linux 2上运行的Docker”,则会重现此问题。
要解决此问题,您可以选择平台选项“在64位Amazon Linux上运行的Docker”。我尝试过此问题,问题已解决。
在此主题中也有同样的答案AWS Elastic Beanstalk Docker Does not support Multi-Stage Build
我遇到了与Docker running on 64bit Amazon Linux 2
相同的问题,并设法找到了解决方法。
我只在仓库中存在Dockerfile
时才看到错误。如果只是Dockerrun.aws.json
,则说明它已正确地从Dockerhub
中提取更新的图像并成功运行。
我通过删除Dockerfile
命令中的before_deploy
修复了它。请参阅下面的travis.yml
:
language: go
go:
- 'stable'
sudo: required
services:
- docker
script:
- docker build -t otheabould/vmai-be .
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_ID" --password-stdin
- docker push otheabould/vmai-be
before_deploy:
- rm Dockerfile
deploy:
provider: elasticbeanstalk
region: $AWS_REGION
app: $AWS_APP_NAME
env: $AWS_APP_ENV
bucket_name: $AWS_BUILD_BUCKET
bucket_path: $AWS_BUILD_BUCKET_PATH
on:
branch: master
access_key_id: $AWS_ACCESS_KEY_ID
secret_access_key: $AWS_SECRET_ACCESS_KEY
希望这会有所帮助!