Всем привет!
Давно меня с Вами не было, был погружен в работу с головой и вот сейчас появилась минутка, так что вот небольшой ман по установке и первоначальной настройки Docker’a в CentOS 7…))
Для начала надо удалить все старое что есть от Docker’a:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
После удаления, подключим репозиторий:
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
Теперь установим сам Docker:
sudo yum install docker-ce docker-ce-cli containerd.io
Теперь запустим его и добавим в автозапуск:
sudo systemctl enable docker
sudo systemctl start docker
Добавим пользователя в группу docker:
sudo usermod -aG docker ${USER}
А теперь давайте для удобства установим docker-compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
Вроде бы все, но нет. Все выше сказанное можно спокойно посмотреть на https://docs.docker.com и по этому сейчас переходим к более интересным вещам!
Для начала давайте изменим сеть по умолчанию для Docker.
Отредактируем любимом редактором файл (если файла нет, то создайте его) etc/docker/daemon.json
Вставим в него:
{
"default-address-pools":
[
{"base":"10.10.0.0/16","size":24}
]
}
Сохраним изменения и перезапустим докер:
sudo systemctl restart docker
И еще один мой любимы трюк, давайте изменим директорию для докера. К примере у нас есть отдельностям диск или директория специально для докера и мы хотим что бы все что с ним связно было там.
Для начала установим rsync:
sudo yum install rsync
Создадим файл к примеру docker.sh и добавим в него:
#!/bin/bash
#sysinfo.io
dockerdir_new=‘указываем новую директорию для докера’
dockerdir_old='/var/lib/docker/'
set -e
dockerdir_new2=$(echo "$dockerdir_new" | sed 's/\//\\\//g')
systemctl stop docker
mkdir -p $dockerdir_new
rsync -a $dockerdir_old* $dockerdir_new
sed -i.bak "/ExecStart=\/usr\/bin\/dockerd \-H fd:\/\//c ExecStart=\/usr\/bin\/dockerd \-H fd:\/\/ -g ${dockerdir_new2}" /lib/systemd/system/docker.service
mv $dockerdir_old /var/lib/docker.bak/
ln -s $dockerdir_new /var/lib/docker
systemctl daemon-reload
systemctl start docker.service
printf '\n* The Docker systemd config has been backed up to /lib/systemd/system/docker.service.bak\n* A backup of the old Docker Root has been copied to /var/lib/docker.bak/\n\n'
docker info | grep 'Root Dir'
Дадим права на исполнение созданному нами файлу docker.sh:
chmod +x docker.sh
Ну и запустим его:
./docker.sh
На этом мы закончим первое знакомство с Docker.
Всем удачного дня. Не болейте, не скучайте, пока, пока!