Установка docker на Debian 8

Подготовка

Заходим на машинку с правами административными правами root.
Открываем файл  /etc/apt/sources.list.d/backports.list :

​root@unix:/# nano /etc/apt/sources.list.d/docker.list

Если данный файл отсутсвует создаем его.

2. Добавляем строку указанную ниже.
 

 deb http://http.debian.net/debian wheezy-backports main

3. Обновляем пакет репозитариев:

​root@unix:/# apt-get update

Обновляем apt репозиторий

Docker APT репозиторий Docker 1.7.1 и выше. Указываем APT использовать новый репозитарий:
Теперь запускаем команду apt-get upgrade, и ждем когда обновятся все пакеты репозитария.

Если данный файл отсутсвует создаем его.

  1. Заходим по SSH к машинке под sudo либо root правами.

  2. Удаляем старый репозитарий.

    ​root@unix:/# apt-get purge "lxc-docker*"
    ​root@unix:/# apt-get purge "docker.io*"
  3. Обновляем пакеты и устанавливаем CA сертификаты.

    ​root@unix:/# apt-get update
    ​root@unix:/# apt-get install apt-transport-https ca-certificates
  4. Добавляем GPG ключ.

    ​root@unix:/# apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
  5. Открываем файл /etc/apt/sources.list.d/docker.list в любом редакторе.
  6. Удаляем или комментируем все записи в файле.

  7. Добавляем следующие строчки.

    Примеры Linux:

    • Для Debian Wheezy

      deb https://apt.dockerproject.org/repo debian-wheezy main
    • Для Debian Jessie

      deb https://apt.dockerproject.org/repo debian-jessie main
    • Для Debian Stretch/Sid

      deb https://apt.dockerproject.org/repo debian-stretch main

    Докер не предоставляет пакеты для всех архитектур. Чтобы установить докер на многопроцессорной системе архитектуры, добавьте [arch=...] .Подробней Debian Multiarch wiki.

  8. Сохраняем и закрываем файл.

  9. Обновляем индексы apt репозитария.

    ​root@unix:/# apt-get update
  10. Делаем APT верификацию правильно репозитария.

    ​root@unix:/# apt-cache policy docker-engine
  11. Теперь запускаем команду apt-get upgrade, и ждем когда обновятся все пакеты репозитария.

Установка Docker

1. Выдаем пользователиские права (non-root access)

Daemon Docker всегда запускается от root пользователя и docker сервис привязывает Unix socket вместо TCP порта. По умолчанию Unix socket принадлежит root пользователю, получить доступ к нему можно через команду sudo.

Если при установке unix создал группу с названием "docker" и добавил пользователя "docker",  тогда владельцем docker daemon  и права на чтение и запись будет у данной группы и пользователя. Docker daemon должен всегда запускаться от пользователя root, но если docker клиент будет запущен от имени пользователя docker и группы docker тогда вам не нужно добавляеть команду sudo для выполнения docker команд.

1. Обновляем индексы APT пакетов.

​root@unix:/# apt-get update

2. Устанавливаем Docker.

​root@unix:/# apt-get install docker-engine

3. Запускаем docker daemon.

​root@unix:/# sudo service docker start

4. Проверям что docker установлен правильно.

​root@unix:/# sudo docker run hello-world

This command downloads a test image and runs it in a container. When the container runs, it prints an informational message. Then, it exits.

Пример:

# Add the docker group if it doesn't already exist.
$ sudo groupadd docker

# Add the connected user "${USER}" to the docker group.
# Change the user name to match your preferred user.
# You may have to logout and log back in again for
# this to take effect.
$ sudo gpasswd -a ${USER} docker

# Restart the Docker daemon.
$ sudo service docker restart

Обновление Docker

Для установки последней версии Docker выполним команду:

​root@unix:/# apt-get upgrade docker-engine

Удаление Docker

Для удаления Docker:

​root@unix:/# apt-get purge docker-engine

Для удаления Docker пакета и всех зависимостей выполним команду:

​root@unix:/# apt-get autoremove --purge docker-engine

Приведенные выше команды не будут удалять имиджы, контейнеры, разделы или конфигурационные файлы с вашего сервера. Если вы хотите удалить всё имиджы, контейнеры и разделы используйте команду ниже.

​root@unix:/# rm -rf /var/lib/docker

Все конфигурационные файлы нужно удалить вручную.