如何解决在自定义 docker 镜像中安装 Docker
这就是我想要做的。我有一个 CICD 管道,用于将 docker 映像推送到 ECR。在此管道中,我使用具有 AWSCLIv2、kubectl 的自定义 Docker 映像,并且我还尝试将 docker 集成到此自定义映像中。我了解到这是可能的,但我有一些阻滞剂。最初我的解决方案支持 AWSCLI 版本 1,但我需要有 AWSCLIv2。我了解到 AWSCLI 的 v2 有点复杂,所以这就是我使用位于 here 的 Amazon 官方映像的原因。下面是我的 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 repo 添加到 yum 配置管理器。
https://docs.docker.com/engine/install/centos/
,我使用我构建的名为 eksutil
(link。我的图像基于 amazonlinux:2
的容器化实用程序做了类似的事情.
在我的 dockerfile 中,我可以使用以下语句安装 docker 二进制文件:
RUN amazon-linux-extras install docker -y
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。