Como instalar o Docker na instância do AWS EC2 com AMI (atualização CE / EE)

21

Qual é a maneira atual de instalar o Docker em uma instância do AWS EC2 executando a AMI? Houve um anúncio do Docker Enterprise Edition e agora eu quero saber se alguma coisa mudou . Até agora, eu tenho usado yum install docker e tenho um Docker versionado em 1.12.6, build 7392c3b/1.12.6 agora (3/3/2017). No entanto, o repositório do Docker no GitHub me diz que já existem lançamentos mais recentes.

Lembro-me do repositório oficial do Docker (pacote) ter um pacote chamado docker-engine substituindo docker há algum tempo e agora eles parecem dividir o pacote em docker-ce e docker-ee , onde, por exemplo, "O Docker Community Edition (Docker CE) não é suportado no Red Hat Enterprise Linux." [ Fonte ]

Então, ou ainda será correto usar o acima para obter a última versão estável do Docker em instâncias do EC2 que executam a AMI ou eu preciso extrair o pacote de algum outro lugar (e se sim qual, CE ou EE)? ?

    
por mxscho 03.03.2017 / 23:51

3 respostas

31

Para que o Docker seja executado no AWS AMI, você deve seguir as etapas abaixo (tudo isso supondo que você tenha ssh na instância do EC2).

  1. Atualize os pacotes na sua instância

    [ec2-user ~]$ sudo yum update -y

  2. Instalar o Docker

    [ec2-user ~]$ sudo yum install docker -y

  3. Iniciar o serviço do Docker

    [ec2-user ~]$ sudo service docker start

  4. Adicione o usuário ec2 ao grupo de encaixe para poder executar comandos do Docker sem usar o sudo.

    [ec2-user ~]$ sudo usermod -a -G docker ec2-user

Você poderá, então, executar todos os comandos do docker sem exigir sudo . Depois de executar o 4º comando eu precisei fazer logout e logar novamente para que a mudança tenha efeito.

    
por 25.05.2017 / 23:21
5

A parte mais difícil de entender tudo isso foi o requisito container-selinux. Basta encontrar a versão mais recente no link e instalá-la primeiro. Além disso, as instâncias do EC2 podem não ter um gerador de entropia adequado, portanto haveged pode precisar ser instalado.

O resto é retirado do link com a adição de haveged e firewalld. Tudo isso tem que ser feito como root, então sudo apropriadamente.

yum install -q -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.42-1.gitad8f0f7.el7.noarch.rpm
yum install -q -y http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/h/haveged-1.9.1-1.el7.x86_64.rpm
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -q -y firewalld docker-ce
systemctl enable firewalld
systemctl start firewalld
firewall-cmd --add-port=2377/tcp --permanent
firewall-cmd --add-port=2376/tcp --permanent
firewall-cmd --add-port=7946/tcp --permanent
firewall-cmd --add-port=7946/udp --permanent
firewall-cmd --add-port=4789/udp --permanent
firewall-cmd --zone=public --permanent --add-masquerade
firewall-cmd --reload
systemctl enable haveged
systemctl start haveged
systemctl enable docker
systemctl start docker
setenforce 1

Habilite o SELinux modificando /etc/sysconfig/selinux ser

SELINUX=enforcing
SELINUXTYPE=targeted

Em seguida, reinicie sua instância emitindo shutdown -r now

A execução de sudo docker version deve render a partir do momento desta publicação ...

Client:
 Version:       18.03.0-ce
 API version:   1.37
 Go version:    go1.9.4
 Git commit:    0520e24
 Built: Wed Mar 21 23:09:15 2018
 OS/Arch:       linux/amd64
 Experimental:  false
 Orchestrator:  swarm

Server:
 Engine:
  Version:      18.03.0-ce
  API version:  1.37 (minimum version 1.12)
  Go version:   go1.9.4
  Git commit:   0520e24
  Built:        Wed Mar 21 23:13:03 2018
  OS/Arch:      linux/amd64
  Experimental: false
    
por 05.04.2018 / 23:47
2

Por link

The current Amazon ECS-optimized AMI (amzn-ami-2017.09.j-amazon-ecs-optimized) consists of:

  • The latest minimal version of the Amazon Linux AMI
  • The latest version of the Amazon ECS container agent (1.17.2)
  • The recommended version of Docker for the latest Amazon ECS container agent (17.12.0-ce)
  • The latest version of the ecs-init package to run and monitor the Amazon ECS agent (1.17.2-1)

Você pode ver o histórico no link

    
por 16.03.2018 / 01:15