Установка Docker в Ubuntu 16.04

Mar 16, 2017 11:18 · 488 words · 3 minute read docker

Docker — это программное обеспечение, которое широко используется для автоматизации развертывания и управления приложениями в контейнерах (виртуализация уровня операционой системы). Контейнеры во многом похожи на виртуальные машины, но при этом потребляют гораздо меньше ресурсов, меньше зависят от операционной системы машины-хоста и могут быть легко перенесены на другой хост или облако.

Ранее мы упоминали о LXC (Linux Containers), например, рассматривали последовательность действий при создании LXC-контейнера и некоторые нюансы настройки сети для LXC-контейнеров в ОС Debian 8, Centos 7 и Fedora 21, теперь давайте разберемся с процессом установки Docker в Ubuntu 16.04!

Действия производятся на:

lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.2 LTS
Release:	16.04
Codename:	xenial

Проверяем текущую версию ядра:

uname -r
4.4.0-31-generic

Устанавливаем необходимые пакеты:

apt-get update
apt-get install apt-transport-https ca-certificates
apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual

Для установки Docker в Ubuntu 16.04 необходимо добавить в систему официальный репозиторий Docker, а также GPG ключ доступа к нему:

apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list
apt-get update

Убедимся, что Docker будет устанавливаться из официального репозитория и выберем нужную версию пакета:

apt-cache policy docker-engine
docker-engine:
  Installed: (none)
  Candidate: 1.13.1-0~ubuntu-xenial
  Version table:
     1.13.1-0~ubuntu-xenial 500
        500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
     1.13.0-0~ubuntu-xenial 500
        500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
     1.12.6-0~ubuntu-xenial 500
        500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
     1.12.5-0~ubuntu-xenial 500
        500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
     1.12.4-0~ubuntu-xenial 500
        500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
     1.12.3-0~xenial 500
        500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
     1.12.2-0~xenial 500
        500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
     1.12.1-0~xenial 500
        500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
     1.12.0-0~xenial 500
        500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
     1.11.2-0~xenial 500
        500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
     1.11.1-0~xenial 500
        500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages
     1.11.0-0~xenial 500
        500 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages

Будем устанавливать docker-engine версии 1.12.6, так как начиная с версии 1.13.0 изменился профиль AppArmor для docker-контейнеров и они могут работать не так, как ожидается. Например, я не мог остановить работающий контейнер или удалить остановленный. Больше об AppArmor+Docker можно почитать здесь.

Установка docker-engine:

aptitude install docker-engine=1.12.6-0~ubuntu-xenial

После завершения установки проверим текущую версию:

docker version
Client:
 Version:      1.12.6
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   78d1802
 Built:        Tue Jan 10 20:38:45 2017
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.6
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   78d1802
 Built:        Tue Jan 10 20:38:45 2017
 OS/Arch:      linux/amd64

Запускаем сервис и добавляем его в автозагрузку:

systemctl start docker
systemctl enable docker

Контейнеры запускаются из образов Docker, хранящихся в реестрах. По умолчанию Docker пытается найти образы локально, на хост-машине, а если не находит то загружает образы из Docker Hub — общедоступного реестра образов. Вы также можете указывать другие реестры образов, например, размещенные в локальной сети (актуально при медленной скорости доступа в Интернет).

Проверить корректность установки Docker и доступ к Docker Hub, можно с помощью следующей команды:

docker run hello-world

Вывод должен быть примерно следующим (скоращен):

...
Hello from Docker.
This message shows that your installation appears to be working correctly.
...

На этом установка Docker в Ubuntu 16.04 закончена, можно приступать к созданию контейнеров и дальнейшему изучению Docker!

tweet Share