¿Cómo actualizo Docker?

117

Escribo la versión docker.io y obtengo:

Client version: 0.9.1
Go version (client): go1.2.1
Git commit (client): 3600720
Server version: 0.9.1
Git commit (server): 3600720
Go version (server): go1.2.1
Last stable version: 0.11.1, please update docker

Sigo eso con un apt-get update, luego cualquiera: apt-get upgradeo apt-get upgrade docker.io, pero todo lo que me da es:

docker.io is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Estoy ejecutando el servidor Ubuntu 14.04 (confiable) de 64 bits.

EDITAR: Creo que utilicé un script en este comentario de Post para instalar docker (ya que pretendía permitirme simplemente escribir docker en lugar de docker.io)

Gerrat
fuente
1
¿Cómo instalaste docker?
trabajo en
No sé cuál es el objetivo del script, aparte de renombrar el binario "docker.io" a solo "docker".
Braiam
@Braiam: Yo tampoco estaba muy seguro, pero como no estoy muy familiarizado con los sistemas operativos de Linux, esperaba que estuviera haciendo algo más útil que eso (o tal vez esta era una mejor manera que simplemente cambiar el nombre del binario )
Gerrat

Respuestas:

145

Supongamos que es la versión Ubuntu Trusty (14.04), que tiene 0.9.1 oficialmente

Actualice nuevamente en 2017/03/07 para reflejar los cambios en la nueva versión, consulte https://blog.docker.com/2017/03/docker-enterprise-edition/

La guía oficial está aquí Instale Docker para Ubuntu , la versión anterior tenía un nombre de paquete diferente

  • docker.io: se utiliza para ser una versión muy antigua en repositorio predeterminado de ubuntu
  • docker-engine: se utiliza antes del lanzamiento 1.13.x
  • docker-ce: desde 17.03

para motor acoplable

# add the new gpg key
$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
# add new repo
$ sudo add-apt-repository \
  "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  stable"

Luego puede actualizar sin problemas a la última versión de Docker

$ sudo apt-get update

# remove the old
$ sudo apt-get purge lxc-docker*

# install the new
$ sudo apt-get install docker-engine

Y en el caso de que no desee instalar el último paquete, puede hacer algo como a continuación.

$ sudo apt-get install docker-engine=1.7.1-0~trusty

para docker-ce

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository \
  "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce
Larry Cai
fuente
3
¿Tiene algún pros / contras de usar este método frente al que encontré que se instala desde htts: //get.docker.io? Creo que el del dominio real de docker parece más oficial, pero si son los mismos tipos los que administran el docker-maint / testing ppa, entonces tal vez no importe.
Gerrat
No sé, el enlace para su método es un poco viejo, PPA es la buena opción para el usuario de ubuntu, y esto proviene del equipo de mantenedores de Docker Ubuntu, también es confiable. Probablemente como dijiste, los mismos muchachos con una mejor manera de servir a la comunidad ;-)
Larry Cai
1
----------¡Vendido!
Gerrat
@Gerrat parece volver a su solución nuevamente si elige 1.0 ahora
Larry Cai
3
gpg: no writable keyring found: eof-> use sudo ...
Michael Cole
22

Advertencia: Dado que esta es una publicación anterior, utilice los recursos oficiales para evitar problemas: https://www.docker.com/community-edition#/download


Una forma de actualizar a la última versión (sin instalar desde la fuente) es usar las instrucciones proporcionadas aquí por Digital Ocean:

  1. Agregue la clave de repositorio de Docker a apt-key para la verificación del paquete

    sudo sh -c "wget ​​-qO- https://get.docker.io/gpg | apt-key add -"
  2. Agregue el repositorio de Docker a las fuentes de aptitud:

    sudo sh -c "echo deb http://get.docker.io/ubuntu docker main \> /etc/apt/sources.list.d/docker.list"
  3. Actualice el repositorio con la nueva adición:

    actualización de aptitud sudo
  4. Finalmente, descargue e instale docker:

    sudo aptitude install lxc-docker
Gerrat
fuente
1
Sin embargo, esto significa que está decidiendo utilizar la versión ascendente potencialmente menos estable. Por ejemplo, después de actualizar a Docker 1.1.0, comencé a ver el error Driver aufs failed to remove root filesystem al eliminar ciertos contenedores. Nunca vi esto con el paquete docker.io, que presumiblemente es más probado y estable en Trusty.
Sridhar Ratnakumar
1
@Sridhar: De acuerdo. ... sin embargo, mi razón original para la actualización, fue que a la versión actual "probada y estable" le faltaba alguna funcionalidad clave (no recuerdo qué ahora), o tenía algunos errores para detener el show. ... y su queja particular parece ser un error que existe desde hace bastante tiempo: vea los tres errores relacionados a los que se hace referencia en la parte inferior de esta página: coderwall.com/p/h24pgw
Gerrat
Use los recursos oficiales para la instalación, estos están obsoletos ... docker.com/community-edition#/download
schlenger
12

Respuesta corta: el documento oficial de instalación de Docker ahora cubre esto para Ubuntu 14.04 (aunque no es tan claro como podría ser).

El paquete de Ubuntu nombrado docker.iono es mantenido por Docker, Inc. y va a la zaga de la última versión. Por ejemplo, hoy está atascado 0.9.1y lo último es 1.0.1. Seguiría y eliminaría esto si lo tienes.

Se nombra el paquete Dockerlxc-docker (confusamente, ya que LXC ya no es estrictamente necesario). Sin embargo, está actualizado. Deberá agregar el repositorio propiedad de Docker a su apt-getconfiguración. El documento oficial de instalación de Docker cubre esto para Ubuntu 14.04: busque "Si desea probar la última versión de Docker". Tenga en cuenta que el binario será docker(a diferencia de docker.iocuando lo proporciona Ubuntu).

Aire
fuente
11

Si confía en get.docker.com, ejecute:

curl -sSL https://get.docker.com/ | sudo bash
Leo Gallucci
fuente
8

Puede instalar desde el repositorio de terceros siguiendo las instrucciones :

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
$ sudo sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
$ sudo apt-get update
$ sudo apt-get install lxc-docker
Fernando Correia
fuente
4

Tiene la última versión de docker.io (0.9.1) que está disponible en los repositorios de ubuntu para Trusty Tahr a partir de hoy.

Sin embargo, si aún desea actualizar la versión, puede clonar la última versión de docker.io desde github y volver a compilar. Para obtener instrucciones sobre cómo instalarlo desde la fuente, hay un tutorial interactivo en el blog de docker.io .

Jobin
fuente
Gracias, pero acabo de hacer el tutorial interactivo. No dice nada acerca de cómo instalarlo desde la fuente; solo pasa por algunos comandos básicos de docker.
Gerrat
La razón por la que necesito una versión posterior es porque está bombardeando por completo tratando de ejecutar una imagen importada. La imagen funciona bien en la última versión estable: 0.11.1. Estoy ejecutando la última versión estable en otra máquina, y no estoy exactamente seguro de cómo la obtuve, pero es poco probable que la haya compilado desde la fuente. ¿Existe quizás otro repositorio que tenga la última versión estable?
Gerrat
Fuiste útil para ajustar mi memoria sobre cómo instalé la última versión.
Gerrat
1

o simplemente sudo apt-get install -f docker-cepara obtener la última versión estable

Damilola
fuente
esto no funcionó para mí - entiendo -E: Package 'docker-ce' has no installation candidate
Alexander Mills
0

También puede descargar el docker.io 0.11.1 .debarchivo desde Launchpad e instalarlo.

wget https://launchpad.net/~docker-maint/+archive/testing/+files/docker.io_0.11.1%7Edfsg1-1%7Eppa1%7Etrusty1_amd64.deb

sudo dpkg -i docker.io_0.11.1~dfsg1-1~ppa1~trusty1_amd64.deb

fuente
Interesante. Parece que eso fue creado hace unas semanas.
Gerrat