Skip to content

Установка и настройка Docker & Docker Compose

Установка и развёртывание Docker

Перед установкой Docker необходимо установить ряд вспомогательных компонент и соответствующие репозитории.

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

Необходимо установить компоненты lvm2 и device-mapper-persistent-data. Установка выполняется командой:

# yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

Установка репозитория Docker

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

# yum-config-manager \
  --add-repo \
  https://download.docker.com/linux/centos/docker-ce.repo

Установка Docker & Docker Compose

Для установки Docker необходимо выполнить команду: yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

Настройка Docker Daemon(НЕАКТУАЛЬНО для свежих установок Basis)

Для настройки docker необходимо создать файл /etc/docker/daemon.json, в котором в свойстве dm.directlvm_device необходимо указать раздел файловой системы, созданный для docker на этапе установки файловой системы (раздел 4.2.2 настоящего документа) с точкой монтирования /docker. Найти путь к этому разделу можно в разделе /dev/disk-by-uuid с помощью команды ls –alp, а uuid диска можно узнать в файле /etc/fstab, в котором автоматически при установке был указан искомый раздел. Также это можно сделать, выполнив однострочный скрипт: ls -alp /dev/disk/by-uuid/ |grep $(grep -w '/docker' /etc/fstab |awk '{print $1}'|sed 's/.=(.)/\1/') |sed 's/...\/..\/(.)/\1/' В файле /etc/docker/daemon.json путь к разделу необходимо указывать с полным путём в директории /dev, например, /dev/sda2. Таким образом, файл настройки docker должен иметь следующий вид:

{
  "storage-driver": "devicemapper",
  "storage-opts": [
    "dm.directlvm_device=/dev/sda2",
    "dm.thinp_percent=95",
    "dm.thinp_metapercent=1",
    "dm.thinp_autoextend_threshold=80",
    "dm.thinp_autoextend_percent=20",
    "dm.directlvm_device_force=true"
  ]
}

Важно! Необходимо отмонтировать раздел /docker командой umount /docker и удалить раздел /docker из файла /etc/fstab.

Запуск Docker

Для запуска Docker необходимо выполнить команду: # systemctl start docker

Рекомендуется настроить автоматический запуск Docker при загрузке ОС, выполнив команду: systemctl enable docker

(DEPRECATED) Необходимо убедиться, что раздел thinpool, созданный docker, отслеживается и в этом разделе есть достаточное свободное место:

# lvs -o+seg_monitor
  LV             VG           Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert Monitor  
  install        centos_head1 -wi-ao---- 250.00g                  
  root           centos_head1 -wi-ao---- 225.00g                  
  swap           centos_head1 -wi-ao----  12.00g                  
  tmp            centos_head1 -wi-ao----  25.00g                  
  var            centos_head1 -wi-ao---- 100.00g                  
  var_lib_docker centos_head1 -wi-ao---- 500.00g                  
  var_log        centos_head1 -wi-ao---- 250.00g                  
  thinpool       docker       twi-a-t--- 475.00g             0.00 0.01                 monitored