Docker.io'nun docker-ce ve docker-ee ile ilişkisi nedir?


119

Önceden, docker'ı kurmak için kullanıyordum

apt-get install docker.io

Ancak, yakın zamanda docker yüklemeye yönelik belgeleri fark ettim ve docker-ce kullanıyor. İkisi arasındaki farkı bulmaya çalıştım ama boş geldim. Docker.io'nun docker-ce ile ilişkisi nedir?


1
@zerkms Resmi docker web sitesinde docker.io'dan bahsetmediği için kafam karıştı. Değer kaybetti mi?
Will Parzybok

1
docker.iopaketi ubuntu geliştiricileri tarafından korunur. Ubuntu geliştiricileri, "resmi docker web sitesine" bağlı değildir. Docker web sitesinin buna atıfta bulunmaması aslında hiçbir şey ifade etmiyor.
zerkms

1
@zerkms docker.io güncel mi?
Will Parzybok

1
Kontrol et ve gör? packages.ubuntu.com/...
zerkms

Bu şimdi tamamen tekrar çalışıyor!
thoni56

Yanıtlar:


73

Docker ikili dosyasının eski sürümlerine docker veya docker-engine veya docker-io adı verildi

docker-io paketi, resmi depolarında sağlanan docker sürümü için Debian / Ubuntu tarafından kullanılan addır .

docker-ce , docker.com tarafından doğrudan sağlanan sertifikalı bir sürümdür ve aynı zamanda kaynaktan da oluşturulabilir .

Debian / Ubuntu platformunda docker-io adını kullanmanın ana nedeni, docker sistem tepsisi ikili dosyasıyla ad çakışmasını önlemekti.

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

Docker'ın bir kurumsal sürümü (EE) ve ücretsiz bir topluluk Sürümü sürümü (CE) vardır

Docker Community Edition'ı (docker.com'dan docker-ce) kurmadan önce eski ikili dosyaları kaldırmanız gerekebilir.

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'da kuru çalıştırma karşılaştırması:

$ 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])

Liman işçisi-ce ikili son sürümlerini olabilir ve liman işçisi-ce-cli dahil etmek eğiliminde olacaktır.


1
@Ivolmar Çok teşekkür ederim, o halde docker.io'yu yenilerden biri yerine kullanmak aptalca olur mu?
Will Parzybok

3
@WillParzybok Doğru. Debian veya Ubuntu sürümünüze bağlı olarak, yeni CE sürümünü yükleyebilmeli ve eski sürüm ikili dosyalarını kaldırabilmelisiniz
lvolmar

2
Ubuntu 19.04'te docker.io sürümü, docker-ce'nin biraz ilerisindedir (18.09.5 v. 18.06.3). Satıcı sürümleri ve ppas'lar genellikle Ubuntu'nun sürümlerinin önündedir. CE over io kullanma tavsiyesinin hala geçerli olup olmadığı konusunda yapılan yorumlar takdir edilmektedir.
Reece

7
2019-Mayıs-21 karışık ... Ubuntu 18.04'te ne kullanılır? apt-get install docker.iodocker-ce'yi kurmak için 10 adımı veya daha fazlasını yapmaktan çok daha rahat görünüyor :(
Wlad

1
Az önce yaptım apt install docker.iove aldım Docker version 18.09.2, build 6247962... peki docker-ce ile anlaşma nedir? Ubuntu'nun bana verdiğini alıyorum.
Wlad

120

Docker-ce'ye karşı dikkatli olun

Kabul edilen cevap az karmaşıktır.

docker-cedocker.com tarafından sağlanır, docker.ioDebian tarafından sağlanır.

Yüzeyde, bu araçlar yükleyebilirsiniz docker.ioiçin ise rightaway docker-cesen docker.com beforehands harici depo eklemek gerekir.

Daha da önemlisi, her iki paket de Docker'ın düzgün yayınlanmış sürümlerini sağlasa da, çok farklı bir iç yapıya sahipler :

  • docker.ioDebian (veya Ubuntu) yolu mu: Her harici bağımlılık, bağımsız olarak güncellenebilen ve güncellenecek ayrı bir pakettir .
  • docker-ceBunu Golang yolu mu yapıyor: Tüm bağımlılıklar inşa edilmeden önce kaynak ağacına çekilir ve daha sonra her şey tek bir paket oluşturur. Böylece docker'ı tüm bağımlılıklarıyla aynı anda güncellersiniz.

İkinci yaklaşımın sorunu, Debian / Ubuntu'nun yapmaya çalıştığı şeylerin çoğuna aykırı olmasıdır.

Herkes bu şekilde yaptıysa docker-ce...

... sisteminizde pek çok kütüphanenin 174 sürümüne sahip olacaksınız, bu sadece çok fazla bellek tüketmekle kalmaz, aynı zamanda aralarında bir yerlerde o korkunç güvenlik açığı olan XYZ kitaplığının 7.6.5 sürümüne sahip olup olmadığınıza karar vermenizi de imkansız kılar. onlar.
Bırakın bu güvenlik açığını (veya sahip olduğunuz 109 örneğini) kapatın.

Daha da kötüsü, 174 sürümden birinin, üç yıl önce XYZ'nin 5.4.3 sürümü olması muhtemeldir; bu, başka, çok farklı, ancak dünyanın çok uzun zamandır unuttuğu, ancak yine de mutlu bir şekilde varlığını sürdürecek kadar geniş bir güvenlik açığına sahiptir. sisteminizde.

Bazı açıklamalar:

  • Birçok web sayfası docker.io"modası geçmiş" olarak adlandırılır. Bunun nedeni, yaklaşık bir yıldır bakıma alınmamış olmasıdır. Ağustos 2019 itibariyle artık durum böyle değil.
  • Tüm bu bugün öğrendim burada ve şimdi kullanmaktan geçer docker-cekullanarak docker.io- ve muhtemelen tekrar geri dönmem.
  • Debian / Ubuntu paketleme sisteminin bu kadar karmaşık olmasının bir nedeni var. İyi bir neden.

4
bu yanıtı, apt yükseltmesi sırasında docker.io'lu başka bir düğüm hayatta kalırken 2 düğümümdeki docker-ce sıkıştıktan sonra buldum.
Jingshao Chen

3
Bu, Debian'ın / Ubuntu'nun en sevdiğim docker.io paketini gözden geçirmemi sağlıyor. Dahası, sadece bir apt installuzakta, docker-ce için kurulum adımlarına bakmak için her zaman Docker belgelerine gitmem gerekiyor .
Wlad

2
Docker.io kullanmanın güvenlik sonuçlarından bahsetmek isteyebilirsiniz - bakımdan çıkar çıkmaz güvenlik yamaları almayacaksınız ve hatta bakımcıların her güvenlik yamasını doğru bir şekilde desteklemesine güvenmediğiniz sürece.
Benni

2
Docker-ce'nin bir avantajı, sertifikalı bir sürüm almanızdır, docker ekibinin paketin paket bağımlılıklarla çalışacağına dair sözünü alırsınız. Muhtemelen, bir problemin varsa daha az parmakla işaret etme. Docker.io'nun debian bakımcıları, docker'ın tüm bağımlı paketlerin en güncel sürümünde çalıştığını onaylıyor mu? Liman işçisi ekibi, testlerini başka herhangi bir ekibin bir sürümü onaylayabileceği kadar iyi bir şekilde paketleme işini yaptı mı? Burada "en iyi" çözüm yoktur, sadece bir risk dengesi vardır ve sizin için hangi risklerin daha önemli olduğunu seçmeniz gerekir.
BobHy

@BobHy Kabul ediyorum, bu bir takas. Docker Inc. , başka bir nedenden ötürü düzenli (!) Güncellemeler yapmayı docker.iobıraktığında veya düştüğünde geliştirme faaliyeti olmayan üretim sistemlerinize geçmeyi unutmayın . Debian'ın bu açıdan sağlam bir ünü var: Güncellemeleri bir kez daha bırakmasanız bile , birçok kütüphane yine de duracak. docker-cedocker.io
Lutz Prechelt
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.