Установка и настройка 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