如何在 Amazon Linux2 上安装 docker
How to install docker on Amazon Linux2
我想为 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 图像?
确保您安装了 amazon-linux-extras
[root@ip-20-0-0-112 ~]# which amazon-linux-extras
/usr/bin/amazon-linux-extras
如果不安装 amazon-linux-extras 使用 yum
yum -y install amazon-linux-extras
然后使用
安装 docker
amazon-linux-extras install docker
对不起,是我的误会。
我的 OS 是 Redhat Linux。
我通过
安装 docker
yum-config-manager --enable rhui-REGION-rhel-server-extras
yum -y install docker
systemctl start docker
docker version
我在亚马逊 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
我必须解决权限问题。这里也有描述
然后我可以检查容器,
[ec2-user@ip-30-0-0-196 ~]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
For the Amazon Linux AMI, access to the Extra Packages for Enterprise Linux (EPEL) repository is configured, but it is not enabled by default.
要安装 amazon-linux-extras,请验证从实例内部到 Internet 的连接,然后检查实例的 OS:
cat /etc/os-release
如果OS是亚马逊linux 版本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 documentation。
安装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
Amazon Linux 2 安装了 amazon-linux-extras。如果你认为你是 运行 Amazon Linux 2,并且 amazon-linux-extras 不在 ec2-user 的路径上,你可能是 运行 一个更老的亚马逊版本 Linux。 运行 这个命令:
grep PRETTY_NAME /etc/os-release
应该输出
PRETTY_NAME="Amazon Linux 2"
如果您没有看到,请返回 ec2 控制台并深入了解实例的详细信息。单击 AMI 应该会显示它对应于旧版本的 Amazon Linux。某些 AWS 设施,特别是 CDK,当前在创建新实例时默认使用 Amazon Linux 而不是 Amazon Linux 2。
我在尝试基于 Amazon Linux 2 设置 docker 图片时遇到了这个问题。
我在当前答案中没有找到的是 docker 需要在安装前在 amazon-linux-extras 中启用。
对我有用的 Dockerfile 命令:
RUN yum install -y amazon-linux-extras
RUN amazon-linux-extras enable docker
RUN yum install -y docker
您可以使用以下脚本在 Amazon Linux 2 实例中安装 docker。此外,您可以在 ec2 用户数据部分提及以下脚本,以便在服务器 bootstrap docker 时自动安装。
#!/bin/bash
sudo yum update -y
sudo yum -y install docker
sudo service docker start
sudo usermod -a -G docker ec2-user
sudo chmod 666 /var/run/docker.sock
我想为 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 图像?
确保您安装了 amazon-linux-extras
[root@ip-20-0-0-112 ~]# which amazon-linux-extras
/usr/bin/amazon-linux-extras
如果不安装 amazon-linux-extras 使用 yum
yum -y install amazon-linux-extras
然后使用
安装 dockeramazon-linux-extras install docker
对不起,是我的误会。 我的 OS 是 Redhat Linux。 我通过
安装 dockeryum-config-manager --enable rhui-REGION-rhel-server-extras
yum -y install docker
systemctl start docker
docker version
我在亚马逊 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
我必须解决权限问题。这里也有描述
然后我可以检查容器,
[ec2-user@ip-30-0-0-196 ~]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
For the Amazon Linux AMI, access to the Extra Packages for Enterprise Linux (EPEL) repository is configured, but it is not enabled by default.
要安装 amazon-linux-extras,请验证从实例内部到 Internet 的连接,然后检查实例的 OS:
cat /etc/os-release
如果OS是亚马逊linux 版本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 documentation。
安装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
Amazon Linux 2 安装了 amazon-linux-extras。如果你认为你是 运行 Amazon Linux 2,并且 amazon-linux-extras 不在 ec2-user 的路径上,你可能是 运行 一个更老的亚马逊版本 Linux。 运行 这个命令:
grep PRETTY_NAME /etc/os-release
应该输出
PRETTY_NAME="Amazon Linux 2"
如果您没有看到,请返回 ec2 控制台并深入了解实例的详细信息。单击 AMI 应该会显示它对应于旧版本的 Amazon Linux。某些 AWS 设施,特别是 CDK,当前在创建新实例时默认使用 Amazon Linux 而不是 Amazon Linux 2。
我在尝试基于 Amazon Linux 2 设置 docker 图片时遇到了这个问题。 我在当前答案中没有找到的是 docker 需要在安装前在 amazon-linux-extras 中启用。 对我有用的 Dockerfile 命令:
RUN yum install -y amazon-linux-extras
RUN amazon-linux-extras enable docker
RUN yum install -y docker
您可以使用以下脚本在 Amazon Linux 2 实例中安装 docker。此外,您可以在 ec2 用户数据部分提及以下脚本,以便在服务器 bootstrap docker 时自动安装。
#!/bin/bash
sudo yum update -y
sudo yum -y install docker
sudo service docker start
sudo usermod -a -G docker ec2-user
sudo chmod 666 /var/run/docker.sock