【发布时间】:2021-06-06 19:03:45
【问题描述】:
这就是我想要做的。我有一个 CICD 管道,用于将 docker 映像推送到 ECR。在此管道中,我使用了一个具有 AWSCLIv2、kubectl 的自定义 Docker 映像,并且我还尝试将 docker 集成到此自定义映像中。我知道这是可能的,但我有一些障碍。最初我的解决方案支持 AWSCLI 版本 1,但我需要 AWSCLIv2。我了解到 AWSCLI 的 v2 有点复杂,所以这就是我使用位于 here 的亚马逊官方图片的原因。下面是我的dockerfile。当我尝试构建我的图像时,我收到一条错误消息,指出没有可用的 docker 包,这让我感到困惑,因为我之前使用 yum 安装了 docker。任何建议将不胜感激。
Dockerfile
FROM amazon/aws-cli
ARG KUBECTL_VERSION=1.17.5
RUN yum update -y \
&& yum install docker -y \
&& service docker start
RUN yum install curl -y \
&& curl -sLO https://storage.googleapis.com/kubernetes-release/release/v${KUBECTL_VERSION}/bin/linux/amd64/kubectl \
&& mv kubectl /usr/bin/kubectl \
&& chmod +x /usr/bin/kubectl
WORKDIR /apps
错误
Step 3/5 : RUN yum update -y && yum install docker -y && service docker start
---> Running in e2473ec54a07
Loaded plugins: ovl, priorities
No packages marked for update
Loaded plugins: ovl, priorities
No package docker available.
Error: Nothing to do
The command '/bin/sh -c yum update -y && yum install docker -y && service docker start' returned a non-zero code: 1
【问题讨论】:
-
如果您需要 docker 从容器内的 Dockerfile 构建 docker 映像,我建议您查看kaniko。
标签: amazon-web-services docker bitbucket-pipelines amazon-ecr