2015-09-17 18 views
5

Desidero aggiornare Docker alla v1.8 su Amazon Linux.Aggiornamento Docker su Amazon Linux AMI

Al momento della scrittura del repository del pacchetto yum interno: Docker version 1.7.1, build 786b29d/1.7.1.

Le cose che mi hanno già provato

manualmente l'installazione dal Docker project's repo

Error: Package: docker-engine-1.8.2-1.el7.centos.x86_64 (dockerrepo) Requires: systemd-units

+0

Pensa che sei sfortunato. Amazon Linux è stato biforcato da CentOS 5 ed è cambiato molto significativamente negli ultimi anni. E alcuni pacchetti Centos7 potrebbero non essere compatibili. In questo modo puoi provare diverse distribuzioni Linux (Centos7, Ubuntu, Fedora) o semplicemente attendere aggiornamenti unitl di Amazon. – Vor

+0

Sto provando ad installare Docker dalla sorgente ora. Se fallisce, aprirò il pacchetto Amazon 'docker' yum e lo modificherò. – Hzmy

risposta

3

Ho finito per l'installazione del pacchetto Linux Amazon docker e quindi sovrascrivere il /usr/bin/docker binario con la 1.8.2 versione binaria da : https://docs.docker.com/installation/binaries/.

Non esattamente elegante, ma tutte le dipendenze sono uguali e visto che il mio AMI è immutabile, il pacchetto non verrà aggiornato sopra l'immagine corrente.

4

Se si utilizza il servizio contenitore EC2, AWS ECS-optimized AMI (2015.09.b) è in esecuzione docker-1.7.1 al momento della stesura. A post in the AWS forums afferma "[AWS sta testando 1.9 RC e prevede di consegnarlo questo mese."

Per espandere sulla risposta di Hzmy, ecco come aggiornare Docker a 1.9.0 in una sessione SSH:

service docker stop 
cp /usr/bin/docker /usr/bin/docker.old 
curl -o /usr/bin/docker https://get.docker.com/builds/Linux/x86_64/docker-1.9.0 
service docker start 

Se stai usando i modelli CloudFormation, ecco un comando si può cadere nella vostra AWS::Cloudformation::Init:

... 
"commands": { 
    ..., 
    "03_upgrade_docker_for_log_driver_support": { 
     "command": { 
      "Fn::Join": [ 
       "", 
       [ 
        "#!/bin/bash -xe\n", 
        "service docker stop\n", 
        "cp /usr/bin/docker /usr/bin/docker.old\n", 
        "curl -o /usr/bin/docker https://get.docker.com/builds/Linux/x86_64/docker-1.8.3\n", 
        "service docker start\n" 
       ] 
      ] 
     } 
    } 
    ... 
} 
... 

Forse non è il più pulito, ma sembra funzionare per me.

+0

sì! Finché Docker non cambia nulla di pazzo con i loro script di init, dovrebbe essere tutto buono! – Hzmy

Problemi correlati