Frage So installieren Sie Docker auf einer AWS EC2-Instanz mit AMI (CE / EE Update)


Wie wird Docker derzeit auf einer AWS EC2-Instanz installiert, auf der AMI ausgeführt wird? Da war eine Ankündigung der Docker Enterprise Edition und jetzt möchte ich wissen, ob sich etwas geändert hat. Bis jetzt habe ich benutzt yum install docker und einen Docker versioniert bekommen 1.12.6, build 7392c3b/1.12.6 gerade jetzt (3/3/2017). Jedoch, das Docker-Repository auf GitHub sagt mir, dass es schon neuere Releases gibt.

Ich erinnere mich an das offizielle Docker (Paket) -Repository mit einem Paket namens docker-engine ersetzen docker Vor einiger Zeit und jetzt scheinen sie das Paket aufzuteilen docker-ce und docker-eewo z.B. "Docker Community Edition (Docker CE) wird auf Red Hat Enterprise Linux nicht unterstützt." [Quelle]

Also ist oder wird es immer noch korrekt sein, das oben genannte zu verwenden, um die neueste stabile Docker-Version auf EC2-Instanzen zu erhalten, auf denen das AMI läuft oder muss ich das Paket von woanders holen (und wenn ja, welches, CE oder EE)?


21
2018-03-03 22:51


Ursprung


Haben Sie die AWS-Dokumentation zur Installation von Docker Standard gelesen? Wenn ja, welcher Teil davon hat nicht funktioniert oder welche Probleme hat er nicht angesprochen? docs.aws.amazon.com/AmazonECS/latest/developerguide/... - Tim
Die Frage ist, ob ich das weiterhin so machen kann. Wie bereits erwähnt, wird es mir installieren Docker versioniert bei 1,12, die bereits eine, wenn nicht kleinere Versionsupdates hinter der neuesten stabilen Version (1,13, vor CE / EE) und ich frage mich, ob dies aufgrund der üblichen Repository-Update-Verzögerung oder weil Der Guide und das Paket sind einfach veraltet, was einige von mir vorgenommene Ersatzarbeiten erfordert (zB irgendwie Docker aus dem eigenen Repository holen?). Auch bezüglich der letzten EE-Ankündigung, die etwas ändern könnte ... - mxscho
Laufen was AMI? - Michael Hampton♦
@MichaelHampton der neueste für HVM, Amazon Linux AMI 2016.09.1. - mxscho
Ich nehme an, Amazon wird es aktualisieren, wenn sie dazu kommen. Obwohl Sie natürlich wissen, dass niemand Amazon Linux für irgendetwas verwenden sollte. - Michael Hampton♦


Antworten:


Um Docker auf dem AWS AMI laufen zu lassen, sollten Sie die folgenden Schritte befolgen (diese gehen alle davon aus, dass Sie sich an der EC2-Instanz angemeldet haben).

  1. Aktualisieren Sie die Pakete in Ihrer Instanz

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

  2. Installieren Sie Docker

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

  3. Starten Sie den Docker-Dienst

    [ec2-user ~]$ sudo service docker start

  4. Fügen Sie den ec2-Benutzer der Andockgruppe hinzu, damit Sie Docker-Befehle ausführen können, ohne sudo zu verwenden.

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

Sie sollten dann in der Lage sein, alle Docker-Befehle auszuführen, ohne dass dies erforderlich ist sudo. Nach dem Ausführen des 4. Befehls musste ich mich abmelden und erneut anmelden, damit die Änderung wirksam wird.


30
2018-05-25 21:21



Wie ich bereits in der Frage erwähnt habe, funktioniert das in der Tat, aber installiert eine veraltete Version von Docker (noch Version 1.12.6 am 28.05.2017). Während ich selbst zum Ubuntu-Image für meine EC2-Instanzen gewechselt habe, wollte ich eigentlich wissen, wie man eine der aktuellen Versionen von Docker auf einem AMI-Image installiert. Weil es dort (zumindest zur Zeit der Frage) keinen offensichtlichen Weg gab, entweder eine aktuelle Docker CE oder eine Docker EE Installation zu bekommen. Darum ging es in erster Linie und darum kann ich es nicht ohne Zögern akzeptieren. Trotzdem Danke! - mxscho
@mxscho ja, das ist auch, was ich suche, also bitte warten Sie, bis eine Antwort, die die Frage anspricht, gepostet wird. - user239558
Heute installiert yum install 17.03.1ce-1.50.amzn1 - raarts


Der schwierigste Teil, um das alles herauszufinden, war die Anforderung container-selinux. Finden Sie einfach die neueste Version in http://mirror.centos.org/centos/7/extras/x86_64/Packages/ und installiere das zuerst. Außerdem haben EC2-Instanzen möglicherweise keinen geeigneten Entropiegenerator haveged Möglicherweise muss installiert werden.

Der Rest ist entnommen https://docs.docker.com/install/linux/docker-ce/centos/ mit dem Zusatz von geflohenen und feuerswalld. All dies muss als root getan werden sudo passend.

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

Aktivieren Sie SELinux durch Modifizieren /etc/sysconfig/selinux sein

SELINUX=enforcing
SELINUXTYPE=targeted

Starten Sie dann Ihre Instanz neu, indem Sie sie ausgeben shutdown -r now

Ausführen sudo docker version sollte zum Zeitpunkt dieses Postings nachgeben ...

Klient:
 Version: 18.03.0-CE
 API-Version: 1.37
 Go-Version: go1.9.4
 Git commit: 0520e24
 Gebaut: Mi 21. März 23:09:15 2018
 OS / Arch: Linux / AMD64
 Experimentell: falsch
 Koordinationsrechner: Schwarm

Server:
 Motor:
  Version: 18.03.0-CE
  API-Version: 1.37 (Mindestversion 1.12)
  Go-Version: go1.9.4
  Git commit: 0520e24
  Gebaut: Mi Mar 21 23:13:03 2018
  OS / Arch: Linux / AMD64
  Experimentell: falsch

4
2018-04-05 21:47



Haben Sie versucht, Docker auf anderen AMIs außer CentOS auszuführen? Können Sie Ihre Erfahrungen teilen? - Suncatcher
Ich habe den Centos Ami nicht benutzt. Ich habe das AMI Linux 2 benutzt. Das Linux 1 ist zu alt. - Archimedes Trajano
OK habe es. Sind CentOS-Repos, die Sie verwendet haben, vollständig kompatibel mit Amazon AMI? - Suncatcher
Richtig Ich benutze Centos VMs für die Entwicklung mit Vagrant, ich musste nur meine Skripte anpassen, so dass es mit fehlenden Paketen funktioniert. - Archimedes Trajano
Einfache Paranoia - Archimedes Trajano


Pro https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html

Der aktuelle Amazon ECS-optimierte AMI   (amzn-ami-2017.09.j-amazon-ecs-optimiert) besteht aus:

  • Die neueste Minimalversion des Amazon Linux AMI
  • Die neueste Version des Amazon ECS-Containeragenten (1.17.2)
  • Die empfohlene Version von Docker für den neuesten Amazon ECS-Container-Agent (17.12.0-ce)
  • Die neueste Version des ecs-init-Pakets zum Ausführen und Überwachen des Amazon ECS-Agents (1.17.2-1)

Sie können die Geschichte bei https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-ami-versions.html


2
2018-03-16 00:15