Ubuntuの社内サーバで新しいことを試そうと、更に余っているパソコンを活用して実験用サーバを立てました。

実験用サーバということもあり、最新版のUbuntu19.04を入れてDockerを入れると・・・

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

訳:エラーdocker-ceはインストール候補がありません

そんなはずある!?と思ったら、とんだ落とし穴でした。

サクッと読める目次

docker-ceが存在しないというエラー

いつものようにaptコマンドでdocker-ceをインストールします。

$ sudo apt install docker-ce
Reading package lists... Done
Building dependency treeReading 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, oris only available from another source
E: Package 'docker-ce' has no installation candidate

あれ・・・・docker-ceがない!?

余談:DockerとDocker CEの違い

docker-ceじゃなくて、dockerじゃないの?

と思った方もいるかも知れませんがdockerは2017年からCE(Community Edition)とEE(Enterprise Edition)を区別するようになりました。

Dockerの種類説明パッケージ名
Docker CE(Community Edition)コミュニティ版。オープンソースで無償で利用可能docker-ce
Docker EE(Enterprise Edition)有償版。docker

docker-ceのインストール時にはdockerを消すようにと公式のマニュアルに書かれているように、これらは全く別のパッケージであり、私が使っているものはオープンソース版のdocker-ceです。

Ubuntu19.04用のDockerはまだ安定版がリリースされていない

そこで調べてみたところ、英語の記事がヒットしました。

If you get an E: Package 'docker-ce' has no installation candidate error when using only stable APT source this is because the stable version of docker for Ubuntu 19.04 doesn’t exist yet.
Meanwhile you have to use the edge / test version.

ざっくり意訳しますと、

stable版のAPTのみを使い、E: Package 'docker-ce' has no installation candidateというエラーが発生する理由は、dockerのUbuntu 19.04向けのstable版がまだ存在しないためです。
つまり、あなたはedge版かtest版を利用する必要があります。

なんと、Ubuntu19.04用のstable版がまだリリースされていないため、edge版かtest版を使わないといけなかったそうです。

通常はstable版をインストールする設定になっているため、見つからないというエラーになったようでした。

そうと分かれば、リポジトリを追加する際にstable版の他にedge版とtest版を追加するようにします。

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable edge test"
$ sudo apt install docker-ce

無事にインストールできました。

調べた時に日本語の記事がまだ少なかったので取り急ぎ記事にしました。

同じエラーで悩む人が少しでも減ればと思います。

こんな記事もいかがでしょう