web-dev-qa-db-ja.com

docker-ceおよびdocker-eeに関連するdocker.ioとは何ですか?

以前は、dockerをインストールするために使用しました

apt-get install docker.io

ただし、最近、dockerのインストールに関するドキュメントに気付き、docker-ceを使用しています。私は2つの違いを見つけようとしましたが、空っぽになりました。 docker-ceに関連したdocker.ioとは何ですか?

59
Will Parzybok

旧バージョンのDockerは、dockerまたはdocker-engineまたはdocker.ioと呼ばれていました

docker-ioパッケージは、公式のdockerリリースのためにDebian/Ubuntuで使用されていた名前です。

主な理由は、Ubuntu docker system-tray binaryとの名前の競合を避けるためです。

http://manpages.ubuntu.com/manpages/precise/man1/docker.1.html

Dockerにエンタープライズバージョン(EE)と無料のコミュニティエディションバージョン(CE)が追加されました

Docker Community Editionをインストールする前に、古いバイナリを削除する必要があります。

Centos/RHL:

https://docs.docker.com/engine/installation/linux/docker-ce/centos/

$ Sudo yum remove docker \
                  docker-common \
                  docker-selinux \
                  docker-engine

Ubuntu/Debian:

https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/

$ Sudo apt-get remove docker docker-engine docker.io
57
lvolmar

Docker-ceに注意してください

受け入れられた答えは複雑ではありません。

docker-ceはdocker.comによって提供され、docker.ioはDebianによって提供されます。

表面的には、これはdocker.ioをすぐにインストールできることを意味しますが、docker-ceについては、事前にdocker.comから外部リポジトリをアタッチする必要があります。

ただし、より重要なことは、どちらのパッケージも適切にリリースされたバージョンのDockerを提供しますが、非常に異なる内部構造を持っていることです

  • docker.ioはDebian(またはUbuntu)の方法で実行します:各外部依存関係は、個別に更新できる個別のパッケージです。
  • docker-ceはGolangの方法で実行します:すべての依存関係はsourcetreeの前にプルされますその後、ビルドと全体が1つのパッケージを形成します。そのため、常にすべての依存関係でdockerを一度に更新します。

後者のアプローチの問題は、Debian/Ubuntuがやろうとしていることの多くに反することです。

docker-ceのようにみんながやったら...

...システムには多くのライブラリの174バージョンがあり、多くのメモリを消費するだけでなく、そのバージョン7.6.5のライブラリXYZがそのバージョンhorribleそれらのどこかにセキュリティの脆弱性。
その脆弱性(または109のインスタンスすべて)を閉じてはいけません。

さらに悪いことに、174バージョンの1つは3年前のXYZのバージョン5.4.3である可能性が高く、別の非常に異なるものでしたが、世界がずっと忘れていたが、幸福に存在し続けるセキュリティの脆弱性と同じですシステム上で。

いくつかのコメント:

  • 多くのWebページはdocker.ioを「古い」と呼びます。それは、約1年間メンテナンスされなかったためです。これはもはや事実ではありません。
  • 今日はこれをすべて学びました ここ で、docker-ceの使用からdocker.ioの使用に切り替えます。
  • Debian/Ubuntuパッケージングシステムが非常に複雑なのには理由があります。正当な理由。
1
Lutz Prechelt