Как установить amazon-linux-extras

Я хочу создать образ докера для Amazon ECR. но 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 или создать образ докера?

8 ответов

Решение

Извините, это было мое недоразумение. Моя ОС - Redhat Linux. Я могу установить докер

yum-config-manager --enable rhui-REGION-rhel-server-extras
yum -y install docker 
systemctl start docker
docker version

Установить Docker

sudo yum update -y
sudo yum -y install docker

Запустить Docker

sudo service docker start

Доступ к командам Docker в ec2-user пользователь

sudo usermod -a -G docker ec2-user
sudo chmod 666 /var/run/docker.sock
docker version

Убедитесь, что у вас установлены 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

Затем установите докер, используя

amazon-linux-extras install docker

Я использую 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

Мне пришлось исправить проблему с разрешением. Также описано здесь Как исправить докер: проблема с отказом в разрешении

Тогда я могу проверить контейнеры,

[ec2-user@ip-30-0-0-196 ~]$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

Вы можете использовать приведенный ниже сценарий для установки Docker внутри инстанса Amazon Linux 2. Кроме того, вы можете указать приведенный ниже скрипт в разделе пользовательских данных ec2, чтобы во время начальной загрузки сервера докер был установлен автоматически.

      #!/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

Для AMI Amazon Linux настроен доступ к репозиторию Extra Packages for Enterprise Linux (EPEL), но по умолчанию он не включен.

Чтобы установить amazon-linux-extras, проверьте подключение к Интернету из экземпляра, а затем проверьте его ОС:

cat /etc/os-release

Если операционная система - amazon 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 для более подробной информации.

Amazon Linux 2 поставляется с установленными пакетами amazon-linux-extras. Если вы думаете, что используете Amazon Linux 2 amazon-linux-extras находится не на пути пользователя ec2, возможно, вы используете более старую версию Amazon 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. Чего я не нашел в текущих ответах, так это того, что докер необходимо включить в amazon-linux-extras перед установкой. Команды Dockerfile, которые сработали для меня:

      RUN yum install -y amazon-linux-extras
RUN amazon-linux-extras enable docker
RUN yum install -y docker
Другие вопросы по тегам