10

我想为 Amazon ECR 创建 docker 映像。但yum在我的 Amazon Linux2 中找不到它。

[root@*** ~]# yum install -y docker
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
No package docker available.
Error: Nothing to do

接下来,我尝试使用 amazon-linux-extras。

但也找不到 amazon-linux-extras。

[root@*** ~]# amazon-linux-extras install docker -y
-bash: amazon-linux-extras: command not found
[root@*** ~]# find / -name 'amazon-linux-extras'
[root@*** ~]$ cat /proc/version
Linux version 4.14.77-81.59.amzn2.x86_64 (mockbuild@ip-10-0-1-59) (gcc version 7.3.1 20180303 (Red Hat 7.3.1-5) (GCC)) #1 SMP Mon Nov 12 21:32:48 UTC 2018

如何安装 amazon-linux-extras 或创建 docker 映像?

4

7 回答 7

13

很抱歉,这是我的误会。我的操作系统是 Redhat Linux。我可以通过以下方式安装 docker

yum-config-manager --enable rhui-REGION-rhel-server-extras
yum -y install docker 
systemctl start docker
docker version
于 2018-12-25T06:22:22.640 回答
12

安装 Docker

sudo yum update -y
sudo yum -y install docker

启动 Docker

sudo service docker start

ec2-user在用户中访问 Docker 命令

sudo usermod -a -G docker ec2-user
sudo chmod 666 /var/run/docker.sock
docker version
于 2020-05-10T07:17:34.257 回答
4

我在 amazon linux (RHEL 7.2 ) - ami-035b3c7efe6d061d5,

cat /proc/version
Linux version 4.14.123-86.109.amzn1.x86_64 (mockbuild@koji-pdx-corp-builder-64004) (gcc version 7.2.1 20170915 (Red Hat 7.2.1-2) (GCC)) #1 SMP Mon Jun 10 19:44:53 UTC 2019

以下脚本无需安装即可工作amazon-linux-extras install

sudo yum -y install docker 
sudo service docker start
sudo chmod 666 /var/run/docker.sock

我必须解决权限问题。此处还描述了如何修复 docker: Got permission denied 问题

然后我可以检查容器,

[ec2-user@ip-30-0-0-196 ~]$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
于 2019-07-26T02:33:43.957 回答
3

对于 Amazon Linux AMI,已配置对 Extra Packages for Enterprise Linux (EPEL) 存储库的访问,但默认情况下未启用。

要安装 amazon-linux-extras,请验证从实例内到 Internet 的连接,然后检查实例的操作系统:

cat /etc/os-release

如果操作系统是 amazon linux version 2运行

sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

或运行sudo yum-config-manager --enable epel

使用 EPEL 存储库。您现在可以安装可用的软件包...例如sudo amazon-linux-extras install docker

有关更多详细信息,请参阅aws 文档

于 2019-08-08T02:52:58.033 回答
2

确保您已安装 amazon-linux-extras

[root@ip-20-0-0-112 ~]# which amazon-linux-extras
/usr/bin/amazon-linux-extras

如果不使用 yum 安装 amazon-linux-extras

yum -y install amazon-linux-extras

然后使用安装docker

amazon-linux-extras install docker
于 2018-12-25T03:41:35.727 回答
1

Amazon Linux 2 附带安装了 amazon-linux-extras。如果您认为您正在运行 Amazon Linux 2,并且 amazon-linux-extras 不在 ec2-user 的路径上,那么您可能正在运行旧版本的 Amazon Linux。运行此命令:

grep PRETTY_NAME /etc/os-release 

它应该输出

PRETTY_NAME="Amazon Linux 2"

如果您没有看到,请返回 ec2 控制台并深入了解实例的详细信息。单击 AMI 应显示它对应于旧版本的 Amazon Linux。一些 AWS 设施,尤其是 CDK,目前在创建新实例时默认使用 Amazon Linux 而不是 Amazon Linux 2。

于 2021-02-09T23:04:43.880 回答
0

我在尝试基于 Amazon Linux 2 设置 docker 映像时遇到了这个问题。我在当前答案中没有找到的是,在安装之前需要在 amazon-linux-extras 中启用 docker。对我有用的 Dockerfile 命令:

RUN yum install -y amazon-linux-extras
RUN amazon-linux-extras enable docker
RUN yum install -y docker
于 2022-02-04T07:36:12.817 回答