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


119

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

apt-get install docker.io

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


1
@zerkms公式のdocker webサイトにdocker.ioの記載がないため、混乱しました。減価していますか?
ウィルパージボク2017

1
docker.ioパッケージは、ubuntu開発者によって保守されています。Ubuntuの開発者は「公式のDocker Webサイト」とは関係ありません。したがって、Docker Webサイトがそれを参照していないという事実は、基本的に何も意味しません。
zerkms 2017

1
@zerkmsI docker.ioは最新ですか?
ウィルパルジボク2017

1
確認して確認しますか?packages.ubuntu.com/...
zerkms

これは完全に再び機能します!
thoni56

回答:


73

古いバージョンのDockerバイナリは、docker、docker-engine、またはdocker-ioと呼ばれていました

docker-ioパッケージは、公式リポジトリで提供されているdockerリリースのDebian / Ubuntuで使用されている名前です。

docker-ceは、docker.comから直接提供される認定リリースであり、ソースからビルドすることもできます

Debian / Ubuntuプラットフォームでdocker-ioという名前を使用する主な理由は、dockerシステムトレイバイナリとの名前の競合を回避するためでした。

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

Dockerには、エンタープライズバージョン(EE)と無料のCommunity Editionバージョン(CE)があります。

Docker Community Edition(docker.comのdocker-ce)をインストールする前に、古いバイナリを削除する必要がある場合があります。

Centos / RHL:

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

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

Ubuntu / Debian:

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

$ sudo apt-get remove docker docker-engine docker.io containerd runc

ubuntuでの予行演習の比較:

$ sudo apt-get install docker.io --dry-run
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  bridge-utils cgroupfs-mount containerd pigz runc ubuntu-fan
Suggested packages:
  ifupdown aufs-tools debootstrap docker-doc rinse zfs-fuse | zfsutils
The following NEW packages will be installed:
  bridge-utils cgroupfs-mount containerd docker.io pigz runc ubuntu-fan
0 upgraded, 7 newly installed, 0 to remove and 70 not upgraded.
Inst pigz (2.4-1 Ubuntu:18.04/bionic [amd64])
Inst bridge-utils (1.5-15ubuntu1 Ubuntu:18.04/bionic [amd64])
Inst cgroupfs-mount (1.4 Ubuntu:18.04/bionic [all])
Inst runc (1.0.0~rc7+git20190403.029124da-0ubuntu1~18.04.2 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic-security [amd64])
Inst containerd (1.2.6-0ubuntu1~18.04.2 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic-security [amd64])
Inst docker.io (18.09.7-0ubuntu1~18.04.4 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic-security [amd64])
Inst ubuntu-fan (0.12.10 Ubuntu:18.04/bionic [all])
Conf pigz (2.4-1 Ubuntu:18.04/bionic [amd64])
Conf bridge-utils (1.5-15ubuntu1 Ubuntu:18.04/bionic [amd64])
Conf cgroupfs-mount (1.4 Ubuntu:18.04/bionic [all])
Conf runc (1.0.0~rc7+git20190403.029124da-0ubuntu1~18.04.2 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic-security [amd64])
Conf containerd (1.2.6-0ubuntu1~18.04.2 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic-security [amd64])
Conf docker.io (18.09.7-0ubuntu1~18.04.4 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic-security [amd64])
Conf ubuntu-fan (0.12.10 Ubuntu:18.04/bionic [all])

$ sudo apt-get install docker-ce --dry-run
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  aufs-tools cgroupfs-mount containerd.io docker-ce-cli libltdl7 pigz
The following NEW packages will be installed:
  aufs-tools cgroupfs-mount containerd.io docker-ce docker-ce-cli libltdl7 pigz
0 upgraded, 7 newly installed, 0 to remove and 70 not upgraded.
Inst pigz (2.4-1 Ubuntu:18.04/bionic [amd64])
Inst aufs-tools (1:4.9+20170918-1ubuntu1 Ubuntu:18.04/bionic [amd64])
Inst cgroupfs-mount (1.4 Ubuntu:18.04/bionic [all])
Inst containerd.io (1.2.10-3 Docker CE:bionic [amd64])
Inst docker-ce-cli (5:19.03.5~3-0~ubuntu-bionic Docker CE:bionic [amd64])
Inst docker-ce (5:19.03.5~3-0~ubuntu-bionic Docker CE:bionic [amd64])
Inst libltdl7 (2.4.6-2 Ubuntu:18.04/bionic [amd64])
Conf pigz (2.4-1 Ubuntu:18.04/bionic [amd64])
Conf aufs-tools (1:4.9+20170918-1ubuntu1 Ubuntu:18.04/bionic [amd64])
Conf cgroupfs-mount (1.4 Ubuntu:18.04/bionic [all])
Conf containerd.io (1.2.10-3 Docker CE:bionic [amd64])
Conf docker-ce-cli (5:19.03.5~3-0~ubuntu-bionic Docker CE:bionic [amd64])
Conf docker-ce (5:19.03.5~3-0~ubuntu-bionic Docker CE:bionic [amd64])
Conf libltdl7 (2.4.6-2 Ubuntu:18.04/bionic [amd64])

ドッキングウィンドウ-CEバイナリは最新バージョンになりがちとドッキングウィンドウ-CE-CLIが含まれます。


1
@Ivolmarありがとうございました。新しいdocker.ioの代わりにdocker.ioを使用するのはばかげたことでしょうか。
ウィルパージボク2017

3
@WillParzybok正解です。DebianまたはUbuntuのバージョンに応じて、新しいCEバージョンをインストールし、古いバージョンのバイナリを削除できるはずです
lvolmar

2
Ubuntu 19.04では、docker.ioバージョンはdocker-ce(18.09.5 v。18.06.3)より少し前です。ベンダーのリリースとPPAは通常、Ubuntuのリリースよりも先行しています。ce over ioを使用するためのアドバイスが引き続き適用されるかどうかについてのコメントは高く評価されました。
リース

7
2019年5月21日混乱... Ubuntu 18.04で何を使うべきですか?apt-get install docker.iodocker-ceをインストールするための10ステップ以上を実行するよりもはるかに快適に見えます:(
Wlad

1
ちょうどしapt install docker.io、得たDocker version 18.09.2, build 6247962...だからdocker-ceとの契約は何ですか?Ubuntuから提供されたものを使用します。
ウラッド

120

docker-ceに注意する

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

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

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

ただし、さらに重要なことに、どちらのパッケージもDockerの適切にリリースされたバージョンを提供しますが、内部構造大きく異なります

  • docker.ioDebian(またはUbuntu)の方法で行います。各外部依存関係は、個別に更新できる個別のパッケージです。
  • docker-ceこれはGolangの方法で行われます。ビルドの前にすべての依存関係がソースツリープルされ、その後すべてが1つのパッケージを形成します。したがって、Dockerは常にすべての依存関係を一度に更新します。

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

誰もがそうしたならdocker-ce...

...システムには多くのライブラリの174バージョンがあり、大量のメモリを消費するだけでなく、そのバージョン7.6.5のライブラリXYZに、その恐ろしいセキュリティの脆弱性があるかどうかを本質的に判断できなくなります。それら。
その脆弱性(またはその109個のインスタンスすべて)を閉じることは言うまでもありません。

さらに悪いことに、174バージョンのうちの1つは、3年前のXYZバージョン5.4.3である可能性が高く、これには別の非常に異なるセキュリティの脆弱性がありました。システムで。

いくつかの備考:

  • 多くのウェブページはdocker.io「時代遅れ」と呼んでいます。それは約1年間維持されなかったためです。2019年8月以降、これは当てはまりません。
  • 私はここでこれらすべてをここで学び、今は使用から使用docker-ceに切り替えますdocker.io-そしておそらく二度と戻ることはありません。
  • Debian / Ubuntuパッケージシステムが非常に複雑であるのには理由があります。もっともな理由です。

4
私のノードの2つでdocker-ceがスタックし、apter.ioのある別のノードがaptのアップグレード中に生き残った後、この回答が見つかりました。
Jingshao Chen

3
これにより、お気に入りのDebian / Ubuntuのdocker.ioパッケージを検討することができます。さらに、Dockerapt install -ceの場合は常にDockerのドキュメントにアクセスしてインストール手順を調べる必要があります。
2019年

2
docker.ioを使用した場合のセキュリティへの影響について言及することをお勧めします-メンテナンスが終了するとすぐに、またメンテナがすべてのセキュリティパッチを正しくバックポートすることに依存していない限り、セキュリティパッチは届きません。
Benni

2
docker-ceの1つの利点は、認定されたリリースを取得できること、パッケージがバンドルされた依存関係で動作するというdockerチームの約束が得られることです。おそらく、問題が発生しても指を向けることは少なくなります。docker.ioのdebianメンテナは、すべての依存パッケージの最新バージョンでdockerが動作することを保証していますか?Dockerチームは他のチームがリリースを認定できるようにテストをパッケージ化するのに十分な仕事をしましたか?ここには「最善の」解決策はなく、リスクのバランスがあり、どのリスクがより重要であるかを選択する必要があります。
BobHy

@ボブ私は同意する、それはトレードオフです。Docker Inc.が他の理由でドレインを停止したり、定期的な(!)更新を停止したdocker.io場合に、開発アクティビティのない本番システムに切り替えることを忘れないでください。Debianはこの点で確固たる評判を持っています。更新の取得をもう一度停止する必要があるとしても、多くのライブラリはまだそうです。docker-cedocker.io
Lutz Prechelt
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.