Como atualizo o Docker

117

Digito a versão docker.io e obtenho:

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

Eu sigo isso com um apt-get update, então:: apt-get upgradeou apt-get upgrade docker.io, mas tudo o que isso me dá é:

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

Estou executando o servidor Ubuntu 14.04 (confiável) de 64 bits.

EDIT: Acho que usei um script neste comentário de postagem para instalar o docker (já que ele pretendia permitir apenas digitar o docker em vez do docker.io)

Gerrat
fonte
1
Como você instalou o docker?
Jobin
Não sei qual é o objetivo do script, além de renomear o binário "docker.io" para apenas "docker".
Braiam 26/05
@Braiam: Eu também não tinha muita certeza, mas, como não estou muito familiarizado com os sistemas operacionais Linux, esperava que estivesse fazendo algo mais útil do que isso (ou talvez essa fosse apenas uma maneira melhor do que simplesmente renomear o binário). )
Gerrat 26/05

Respostas:

145

Suponha que seja a versão Ubuntu Trusty (14.04), que possui 0.9.1 oficialmente

Atualize novamente em 07/03/2017 para refletir as alterações na nova versão, consulte https://blog.docker.com/2017/03/docker-enterprise-edition/

A diretriz oficial está aqui Instalar o docker para Ubuntu , o release antigo tinha um nome de pacote diferente.

  • docker.io: é usado para ser uma versão muito antiga no repositório ubuntu padrão (pode pular aqui)
  • docker-engine: é usado antes do release 1.13.x
  • docker-ce: desde 17.03

para docker-engine

# 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"

Depois, você pode atualizar sem problemas para a versão mais recente do docker

$ sudo apt-get update

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

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

E no caso de você não querer instalar o pacote mais recente, você pode fazer algo como abaixo.

$ 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
fonte
3
Você tem algum prós / contras de usar esse método x o que eu achei que instala a partir de htts: //get.docker.io? Eu acho que o domínio do docker real parece mais oficial, mas se são os mesmos que administram o ppa docker-maint / testing, talvez isso não importe.
Gerrat 29/05
Não sei, o link para o seu método é pouco antigo, o PPA é a boa escolha para o usuário do Ubuntu, e isso vem da equipe de mantenedores do Docker Ubuntu, também é confiável. Provavelmente, como você disse, mesmos caras com melhor maneira de servir a comunidade ;-)
Larry Cai
1
----------Vendido!
Gerrat 29/05
@Gerrat parece de volta para a sua solução novamente se ir para 1,0 agora
Larry Cai
3
gpg: no writable keyring found: eof-> use sudo ...
Michael Cole
22

Aviso: Como se trata de um Post antigo, use os recursos oficiais para evitar problemas: https://www.docker.com/community-edition#/download


Uma maneira de atualizar para a versão mais recente (sem instalar a partir da fonte) é usar as instruções aqui fornecidas pela Digital Ocean:

  1. Adicione a chave do repositório do docker ao apt-key para verificação do pacote

    sudo sh -c "wget ​​-qO- https://get.docker.io/gpg | apt-key add -"
  2. Inclua o repositório do docker nas fontes do aptitude:

    sudo sh -c "echo deb http://get.docker.io/ubuntu docker principal \> /etc/apt/sources.list.d/docker.list"
  3. Atualize o repositório com a nova adição:

    atualização do sudo aptitude
  4. Por fim, faça o download e instale a janela de encaixe:

    sudo aptitude instalar lxc-docker
Gerrat
fonte
1
Isso significa, no entanto, que você está decidindo usar a versão upstream potencialmente menos estável. Por exemplo, após atualizar para o docker upstream 1.1.0, comecei a ver o erro Driver aufs failed to remove root filesystem ao remover determinados contêineres. Eu nunca vi isso com o pacote docker.io, que é presumivelmente mais testado e estável no Trusty.
Sridhar Ratnakumar
1
@Sridhar: Concordo. ... no entanto, meu motivo original para a atualização foi que a versão "testada e estável" atual estava perdendo algumas das principais funcionalidades (não me lembro o que agora) ou tinha alguns bugs para mim. ... e sua reclamação particular, parece ser um bug que existiu por algum tempo: ver os três erros relacionados referenciados na parte inferior desta página: coderwall.com/p/h24pgw
Gerrat
Use os recursos oficiais para a instalação, esses são obsoletos ... docker.com/community-edition#/download
schlenger
12

Resposta curta: o documento oficial de instalação do Docker agora cobre isso para o Ubuntu 14.04 (embora não esteja tão claro quanto poderia ser).

O pacote Ubuntu nomeado docker.ionão é mantido pela Docker, Inc. e ficará atrás da versão mais recente. Por exemplo, hoje está preso 0.9.1e o mais tardar é 1.0.1. Eu iria em frente e remover isso, se você tiver.

O pacote Docker é nomeado lxc-docker(confusamente, pois o LXC não é mais estritamente necessário). No entanto, está atualizado. Você precisará adicionar o repositório de propriedade do Docker à sua apt-getconfiguração. O documento de instalação oficial do Docker cobre isso para o Ubuntu 14.04 - procure "Se você quiser experimentar a versão mais recente do Docker". Observe que o binário será docker(ao contrário de docker.ioquando fornecido pelo Ubuntu).

Ar
fonte
11

Se você confiar em get.docker.com, execute:

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

Você pode instalar a partir do repositório de terceiros seguindo as instruções :

$ 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
fonte
4

Você tem a versão mais recente do docker.io (0.9.1), que está disponível nos repositórios do ubuntu para Trusty Tahr a partir de hoje.

No entanto, se você ainda deseja atualizar a versão, pode clonar a versão mais recente do docker.io do github e recompilar. Para obter instruções sobre como instalá-lo da fonte, há um tutorial interativo no blog do docker.io .

jobin
fonte
Obrigado, mas acabei de fazer o tutorial interativo. Ele não diz nada sobre a instalação do código-fonte - apenas passa por alguns comandos muito básicos do docker.
Gerrat 26/05
A razão pela qual eu preciso de uma versão posterior é que ela está bombando completamente tentando executar uma imagem importada. A imagem roda bem na versão estável mais recente: 0.11.1. Estou executando a versão estável mais recente em outra máquina e não sei exatamente como consegui, mas é improvável que eu a compilei da fonte. Existe talvez apenas outro repositório com a última versão estável?
Gerrat
Você foi útil em ajustar minha memória sobre como eu instalei a versão mais recente.
Gerrat 26/05
1

ou simplesmente sudo apt-get install -f docker-cepara obter o último estável

Damilola
fonte
isso não funcionou para mim - eu recebo -E: Package 'docker-ce' has no installation candidate
Alexander Mills
0

Você também pode fazer o download do docker.io 0.11.1 .debarquivo no Launchpad e instalar.

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

fonte
Interessante. Parece que isso foi criado há algumas semanas.
Gerrat