«У пакета« docker-ce »нет кандидата для установки» в 18.04

62

Я следую официальному руководству по установке Docker для docker-ce на Ubuntu.

Когда я добираюсь, sudo apt install docker-ceя получаю E: Package 'docker-ce' has no installation candidate:

$ sudo apt-get update
Hit:1 http://gb.archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 http://gb.archive.ubuntu.com/ubuntu bionic-updates InRelease
Hit:3 http://gb.archive.ubuntu.com/ubuntu bionic-backports InRelease
Hit:4 http://security.ubuntu.com/ubuntu bionic-security InRelease
Reading package lists... Done

$ sudo apt-get install \
>     apt-transport-https \
>     ca-certificates \
>     curl \
>     software-properties-common
Reading package lists... Done
Building dependency tree       
Reading state information... Done
ca-certificates is already the newest version (20180409).
curl is already the newest version (7.58.0-2ubuntu3).
software-properties-common is already the newest version (0.96.24.32.1).
The following NEW packages will be installed
  apt-transport-https
0 to upgrade, 1 to newly install, 0 to remove and 0 not to upgrade.
Need to get 1,692 B of archives.
After this operation, 152 kB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 http://gb.archive.ubuntu.com/ubuntu bionic/universe amd64 apt-transport-https all 1.6.1 [1,692 B]
Fetched 1,692 B in 0s (65.4 kB/s)               
Selecting previously unselected package apt-transport-https.
(Reading database ... 116694 files and directories currently installed.)
Preparing to unpack .../apt-transport-https_1.6.1_all.deb ...
Unpacking apt-transport-https (1.6.1) ...
Setting up apt-transport-https (1.6.1) ...

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK

$ sudo apt-key fingerprint 0EBFCD88
pub   rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid           [ unknown] Docker Release (CE deb) <docker@docker.com>
sub   rsa4096 2017-02-22 [S]

$ sudo add-apt-repository \
>    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
>    $(lsb_release -cs) \
>    stable"
Hit:1 http://gb.archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 http://gb.archive.ubuntu.com/ubuntu bionic-updates InRelease                                                                                    
Hit:3 http://gb.archive.ubuntu.com/ubuntu bionic-backports InRelease                                                                                  
Get:4 https://download.docker.com/linux/ubuntu bionic InRelease [64.4 kB]                                                       
Hit:5 http://security.ubuntu.com/ubuntu bionic-security InRelease                                                               
Fetched 64.4 kB in 0s (141 kB/s)
Reading package lists... Done

robin@xps:~/git/snapcraft.io$ sudo apt-get update
Hit:1 http://gb.archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 http://gb.archive.ubuntu.com/ubuntu bionic-updates InRelease                                      
Hit:3 http://gb.archive.ubuntu.com/ubuntu bionic-backports InRelease                                                                                   
Hit:4 https://download.docker.com/linux/ubuntu bionic InRelease                                                                                        
Hit:5 http://security.ubuntu.com/ubuntu bionic-security InRelease                                                                
Reading package lists... Done  

$ sudo apt-get install docker-ce
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package docker-ce is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'docker-ce' has no installation candidate

Моей первой мыслью было, что Docker еще не выпустил пакет для Bionic (он очень новый), но когда я искал «install docker-ce ubuntu 18.04», я обнаружил руководство, которое кажется 18.04 специфическим, и в основном просто дает точно такие же инструкции - предположить, что это как минимум сработало для автора:

https://linuxconfig.org/how-to-install-docker-on-ubuntu-18-04-bionic-beaver

Кто-нибудь знает, почему это может не сработать для меня?

Робин Уинслоу
источник
См. Также другие варианты: снимок от Docker Inc или более свежий стандартный пакет Ubuntu в docker.io: askubuntu: Docker-CE или пакет
docker.io
Все еще есть эта проблема в июле 2019 года ... sudo apt install docker.ioработал для меня
cowlinator

Ответы:

38

Из того же руководства, на которое вы ссылались, вы можете вместо этого использовать репозиторий для 17.10:

deb [arch=amd64] https://download.docker.com/linux/ubuntu artful stable

И все docker-ceзависимые пакеты будут разрешены из bionicрепозитория Ubuntu . Проверьте документацию Docker для получения дополнительной информации. Нет проблем с совместимостью, чтобы беспокоиться :)

2018-07-19 обновление

Docker 18.06 обновлен до bionicрепозитория, этот обходной путь больше не требуется!

tan9
источник
8
Все еще не работает на 18.04. Я все еще получаю E: Package 'docker-ce' has no installation candidate
RJ
@ RJ Это работает для меня 18.04. Сейчас несколько дней спустя; возможно, было несколько обновлений для репозиториев. Я заметил, что некоторые пакеты были скачаны с бионического, а другие с хитрого.
NZD
Я могу подтвердить, что это работает, просто установил его на 18.04➜ ~ docker -v Docker version 18.03.1-ce, build 9ee9f40
copser
1
К вашему сведению, с 21 июня он может быть установлен с:curl -fsSL get.docker.com | CHANNEL=stable sh
Юха Унтинен
38

Запустите это, если вы хотите установить docker-ceна Ubuntu 18.04:

sudo apt install apt-transport-https ca-certificates curl software-properties-common
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 bionic test"
sudo apt update
sudo apt install docker-ce

Чтобы проверить, успешно ли завершилась установка, просто запустите:

docker -v

должен вывести:

Docker version 18.06.1-ce, build e68fc7a
Юваль Прусс
источник
7
Также, в случае Ubuntu 19, просто поменяйте bionicв 3-й строке наdisco
пкудеров
Кстати, этот URL плюс «бионический» плюс «тест» - это просто путь к выпуску - вы можете проверить этот URL и следовать по пути. Кажется, что любой допустимый путь является жизнеспособным - есть еще несколько стабильных / ночных / etc выпусков для некоторого количества версий Ubuntu. Так что для любой будущей версии Ubuntu ее соответствующий релиз можно проверить там.
пкудеров
@pkuderov Docker ce отсутствует в этом хранилище, deb также доступен только для containerd.io . Я не знаю, bionicбудет ли работать вместо discoэтого. Это так расстраивает.
Андрас
@pkuderov Вы можете соответственно отредактировать ответ
Юваль Прусс
2
Ребята, это похоже на суффиксы -ceи -ee удаляются начиная с вер. 18.09.0так что нет никакой ошибки, насколько я вижу. Проверил мою установку из testбилда - sudo docker run hello-worldработает правильно. Единственная проблема, которую я вижу - 19 вер в бета-версии. Извините за путаницу - только 2-я неделя с использованием Linux :)
pkuderov
9

Некоторые из гидов подпрыгнули от пистолета; docker-ce еще не доступен для Ubuntu 18.04. Вы можете проверить список поддерживаемых версий здесь .

То же самое руководство, на которое вы ссылались, предложило установить docker.io; это то, что я сделал Это обходной путь, пока docker-ce не поддерживает 18.04.

ajh158
источник
1
Из этого же руководства вы можете использовать репозиторий для 17.10 вместо этого в данный момент:deb [arch=amd64] https://download.docker.com/linux/ubuntu artful stable
tan9
@ tan9 это должен быть принятый ответ - не могли бы вы опубликовать его как ответ?
Робин Уинслоу
1
Я работаю 18.04, и указание URL на artful не помогло мне. Единственное, что сработало, это установка docker.io.
RJ
6

Следующие шаги здесь в документации Docker работали для меня. Я только что изменения stableк testв этой команде

sudo add-apt-repository \ 
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
xExplorer
источник
почему ты должен был это сделать? Какую версию ты используешь? Не могли бы вы добавить полные шаги, которые вы использовали?
Занна
Это не работает для Ubuntu 18.04, о чем и был вопрос.
RJ
это работает абсолютно нормально для меня
xExplorer
2

У меня была такая же проблема, вот как я ее исправил:

$ sudo snap install docker

$docker -v

Docker version 18.06.1-ce, build e68fc7a


$sudo docker version


Client:
 Version:           18.06.1-ce
 API version:       1.38
 Go version:        go1.10.4
 Git commit:        e68fc7a
 Built:             Tue May  7 18:01:43 2019
 OS/Arch:           linux/386
 Experimental:      false

Server:
 Engine:
  Version:          18.06.1-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.4
  Git commit:       e68fc7a
  Built:            Tue May  7 18:01:44 2019
  OS/Arch:          linux/386
смешанный разум
источник
Это самое простое и элегантное решение! Просто запустите 'sudo apt install snapd' в первую очередь :)
d.popov
0

Snap пакет docker будет легко установлен в Ubuntu 19.04 (Disco), и это сработало для меня.

Проверьте документацию для этого здесь:

https://github.com/docker/docker-snap


Myster-Mayur
источник
1
Добро пожаловать в АС. Не могли бы вы отредактировать свой ответ, чтобы предоставить краткое изложение решения, которое вы даете. Таким образом, ваш ответ останется действительным, даже если ссылка исчезнет или изменится. Спасибо за ваши усилия.
Марк Ванхомиссен