Как установить 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