在AWS Linux AMI上无法安装Docker。

7

我按照来自官方链接 - 在CentOS上安装Docker的指示,在基于Amazon AMIEC2实例上安装了Docker,但是出现了以下错误。

$ sudo yum update
........
$ sudo yum install docker-ce docker-ce-cli containerd.io
........
-------->  Finished Dependency Resolution
Error: Package: 3:docker-ce-19.03.8-3.el7.x86_64 (docker-ce-stable)
           Requires: systemd
Error: Package: 3:docker-ce-19.03.8-3.el7.x86_64 (docker-ce-stable)
           Requires: libsystemd.so.0(LIBSYSTEMD_209)(64bit)
Error: Package: 3:docker-ce-19.03.8-3.el7.x86_64 (docker-ce-stable)
           Requires: container-selinux >= 2:2.74
Error: Package: containerd.io-1.2.13-3.1.el7.x86_64 (docker-ce-stable)
           Requires: systemd
Error: Package: 3:docker-ce-19.03.8-3.el7.x86_64 (docker-ce-stable)
           Requires: libsystemd.so.0()(64bit)
Error: Package: containerd.io-1.2.13-3.1.el7.x86_64 (docker-ce-stable)
           Requires: container-selinux >= 2:2.74

我错在哪里了?


你运行过 'yum update' 吗? - Vikrant Pawar
@VikrantPawar 是的。在安装docker之前,我运行了sudo yum update命令。 - zilcuanu
尝试使用以下命令安装docker-ce、docker-ce-cli和containerd.io:yum --nogpgcheck localinstall docker-ce docker-ce-cli containerd.io - Asfar Irshad
1
没有成功:sudo yum --nogpgcheck localinstall docker-ce docker-ce-cli containerd.io 已加载插件:priorities、update-motd、upgrade-helper 跳过:docker-ce,文件名不以 .rpm 结尾。 跳过:docker-ce-cli,文件名不以 .rpm 结尾。 跳过:containerd.io,文件名不以 .rpm 结尾。 没有可执行的操作。 - zilcuanu
1
@zilcuanu,你解决了这个问题吗? - Bhaskar
@zilcuanu 我也有同样的问题。你找到解决方法了吗? - Tijl .Reynhout
4个回答

16

关于使用Amazon Linux 2 AMI镜像的解决方案

有时候需要使用docker提供的链接来卸载安装的软件包

使用以下命令来删除所有内容:

sudo rm /etc/yum.repos.d/docker-ce.repo

并且使用AWS提供的链接here来安装docker - https://docs.aws.amazon.com/AmazonECS/latest/developerguide/docker-basics.html

该链接中的命令内容如下:

连接到您的实例(Amazon Linux 2 AMI)。

  1. 更新实例上安装的软件包和包缓存。

    sudo yum update -y

  2. 安装最新的Docker Community Edition包。

    sudo amazon-linux-extras install docker

  3. 启动Docker服务。

    sudo service docker start

  4. 将ec2-user添加到docker组,以便您可以不使用sudo执行Docker命令。

    sudo usermod -a -G docker ec2-user

  5. 注销并重新登录以获取新的docker组权限。您可以通过关闭当前的SSH终端窗口,并在一个新的终端中重新连接到您的实例来完成此操作。您的新SSH会话将具有适当的docker组权限。

  6. 验证ec2-user是否可以运行不带sudo的Docker命令。

    docker info


3

使用amazon-linux-extras安装Docker

# install
sudo rm /etc/yum.repos.d/docker-ce.repo # if you have already tried in the wrong way
sudo amazon-linux-extras install docker

# enable on boot and start daemon
sudo systemctl enable docker
sudo systemctl start docker

# correct permissions
sudo usermod -a -G docker $USER
newgrp docker
docker ps

0

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接