Как мне обновить Docker

117

Я печатаю версию docker.io и получаю:

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

Я следую за этим с помощью apt-get update, затем либо:, apt-get upgradeили apt-get upgrade docker.io, но все, что он мне дает, это:

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

Я использую Ubuntu 14.04 (верный) 64-битный сервер.

РЕДАКТИРОВАТЬ: я думаю, что я использовал скрипт в этом посте комментарий для установки Docker (так как он подразумевал, чтобы я мог просто набрать Docker вместо Docker.io)

Gerrat
источник
1
Как вы установили докер?
Jobin
Я не знаю, какова цель сценария, кроме переименования двоичного файла "docker.io" в просто "docker".
Брайам
@Braiam: Я тоже не был уверен, но так как я не слишком знаком с Linux linux O / S, я надеялся, что он делает что-то более полезное, чем это (или, возможно, это был просто лучший способ, чем просто переименовать двоичный файл) ).
Джеррат

Ответы:

145

Предположим, что это релиз Ubuntu Trusty (14.04), официально имеющий 0.9.1

Обновите снова в 2017/03/07, чтобы отразить изменения в новом выпуске, см. Https://blog.docker.com/2017/03/docker-enterprise-edition/

Официальное руководство здесь. Установите докер для Ubuntu , старый релиз имел другое название пакета.

  • docker.io: используется для очень старой версии в репозитории Ubuntu по умолчанию (можете пропустить здесь)
  • docker-engine: используется до выпуска 1.13.x
  • docker-ce: с 17.03

для докера

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

Тогда вы можете легко обновить до последней версии докера

$ sudo apt-get update

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

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

А в случае, если вы не хотите устанавливать последний пакет, вы можете сделать что-то вроде ниже.

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

для докер-се

$ 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
Ларри Кай
источник
3
Есть ли у вас плюсы / минусы использования этого метода по сравнению с тем, который я обнаружил при установке из htts: //get.docker.io? Я бы подумал, что тот из домена Docker кажется более официальным, но если это те же парни, которые управляют ppa docker-maint / testing /, то, возможно, это не имеет значения.
Геррат
Я не знаю, ссылка на ваш метод немного устарела, PPA - хороший выбор для пользователя Ubuntu, и это от команды разработчиков Docker Ubuntu, он также заслуживает доверия. Вероятно, как вы сказали, те же ребята, у которых есть лучший способ служить сообществу ;-)
Ларри Кай,
1
----------Продан!
Геррат
@Gerrat снова возвращается к вашему решению, если перейти на 1.0 сейчас
Ларри Кай
3
gpg: no writable keyring found: eof-> использовать sudo ...
Майкл Коул
22

Предупреждение: поскольку это более старая публикация, пожалуйста, используйте официальные ресурсы для предотвращения проблем: https://www.docker.com/community-edition#/download


Один из способов обновления до последней версии (без установки от источника), чтобы использовать инструкции здесь , предоставляемые Digital океан:

  1. Добавьте ключ хранилища docker в apt-key для проверки пакета

    sudo sh -c "wget ​​-qO- https://get.docker.io/gpg | apt-key add -"
  2. Добавьте репозиторий docker к источникам aptitude:

    sudo sh -c "echo deb http://get.docker.io/ubuntu docker main \> /etc/apt/sources.list.d/docker.list"
  3. Обновите репозиторий новым дополнением:

    обновление способности sudo
  4. Наконец, скачайте и установите докер:

    sudo aptitude устанавливает lxc-docker
Gerrat
источник
1
Это, однако, означает, что вы решаете использовать потенциально менее стабильную версию апстрима. Например, после обновления до вышестоящего докера 1.1.0 я начал видеть ошибку Driver aufs failed to remove root filesystem при удалении определенных контейнеров. Я никогда не видел этого с пакетом docker.io, который, по-видимому, более протестирован и стабилен в Trusty.
Шридхар Ратнакумар
1
@ Сридхар: Согласен. ... тем не менее, моя первоначальная причина для обновления состояла в том, что в текущей "проверенной и стабильной" версии либо отсутствовала какая-то ключевая функциональность (не помню, что сейчас), либо у меня были некоторые ошибки, связанные с show-stopper для меня. ... и ваша жалоба, по-видимому, является ошибкой, которая существовала в течение достаточно долгого времени: см. три связанных ошибки, на которые есть ссылки в нижней части этой страницы: coderwall.com/p/h24pgw
Gerrat
Используйте официальные ресурсы для установки, они устарели ... docker.com/community-edition#/download
schlenger
12

Краткий ответ: официальный документ по установке Docker теперь покрывает это для Ubuntu 14.04 (хотя это не так ясно, как могло бы быть).

Пакет Ubuntu по имени docker.ioне поддерживается Докер, Inc. , и будет отставать от последней версии. Например, сегодня он застрял 0.9.1и последний 1.0.1. Я хотел бы удалить это, если у вас есть.

Пакет Docker назван lxc-docker(как ни странно, поскольку LXC больше не требуется строго). Это однако актуально. Вам нужно будет добавить репозиторий, принадлежащий Docker, к вашей apt-getнастройке. Официальный документ по установке Docker покрывает это для Ubuntu 14.04 - ищите «Если вы хотите попробовать последнюю версию Docker». Обратите внимание, что двоичный файл будет docker(в отличие docker.ioот Ubuntu).

Воздух
источник
11

Если вы доверяете get.docker.com, запустите:

curl -sSL https://get.docker.com/ | sudo bash
Лео Галлуччи
источник
8

Вы можете установить из стороннего репозитория, следуя инструкциям :

$ 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
Фернандо Коррейя
источник
4

У вас есть последняя версия docker.io (0.9.1), которая на сегодняшний день доступна в репозиториях Ubuntu для Trusty Tahr.

Однако, если вы все еще хотите обновить версию, вы можете клонировать последнюю версию docker.io из github и перекомпилировать. Для получения инструкций по установке из исходного кода в блоге docker.io есть интерактивное руководство .

Jobin
источник
Спасибо, но я только что сделал интерактивный урок. Он ничего не говорит об установке из исходного кода - он просто проходит через некоторые основные команды докера.
Геррат
Причина, по которой мне нужна более поздняя версия, заключается в том, что она пытается полностью запустить импортированный образ. Образ работает нормально на последней стабильной версии: 0.11.1. Я использую последнюю стабильную версию на другом компьютере, и я не совсем уверен, как я ее получил, но вряд ли я скомпилировал ее из исходного кода. Может быть, есть еще один репозиторий с последней стабильной версией?
Геррат
Вы помогли мне настроить память о том, как я установил последнюю версию.
Геррат
1

или просто sudo apt-get install -f docker-ceчтобы получить последнюю стабильную версию

Damilola
источник
это не сработало для меня - я понимаю -E: Package 'docker-ce' has no installation candidate
Александр Миллс
0

Вы также можете скачать docker.io 0.11.1 .debфайл с Launchpad и установить.

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

источник
Интересно. Похоже, это было создано несколько недель назад.
Геррат