Чтобы установить механизм докера в ubuntu, мы запускаем:
sudo apt-get install docker-ce
Но в документации инструкция по установке упоминается как:
sudo apt-get install docker-ce docker-ce-cli containerd.io
$ docker version
Client: Docker Engine - Community
Version: 19.03.13
API version: 1.40
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:02:36 2020
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.13
API version: 1.40 (minimum version 1.12)
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:01:06 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.3.7
GitCommit: 8fba4e9a7d01810a393d5d25a3621dc101981175
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
$
$
$ ps -eaf | grep contain
root 1704 1 0 10:05 ? 00:00:02 /usr/bin/containerd
root 2233 1 0 10:05 ? 00:00:04 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
$
$
Является ли docker-ce
установочным пакетом для docker daemon / server / engine (только)?
Является ли docker-ce-cli
установочным пакетом для установки клиента docker ( только)?
Является ли containerd.io
установочным пакетом для установки компонента containerd в архитектуре ниже?
Является ли docker-ce установочным пакетом для docker? daemon/server/engine(only)?
Является ли docker-ce-cli установочным пакетом для установки docker? client(only)?
Является ли containerd.io установочным пакетом для установки containerd компонент в приведенной ниже архитектуре?
Да на все из них. Схема архитектуры довольно ясна. Сам Docker раньше реализовывал все это в одном двоичном файле, но со временем они решили принять Open Container Initiative (OCI).
containerd
— одна из реализаций, следующих за OCI. Он использует функции ядра, чтобы обеспечить среду выполнения для контейнеров.
dockerd
взаимодействует с containerd
, а также предоставляет дополнительные возможности пользователям Docker в виде простых команд, таких как docker build
, docker network
, docker volume
и docker inspect
.
docker-cli
предоставляет двоичный клиент docker
, который взаимодействует с API dockerd
через локальный сокет или удаленно. Даже без этого клиента вы все равно можете создавать и запускать контейнеры, просто используя API.