В интернете есть много статей как устанавливать и настраивать Docker на Linux сервере, но к сожалению большинство не работает или работает с ошибками на каких то этапах. Поэтому и решили написать статью — гайд, которая проведёт вас через тернистый путь установки и настройки не поранившись.
И так, предположим что у нас уже есть настроенный сервер, если нет, тогда читаем нашу статью и настраиваем. Подключаемся к серверу и шаг за шагом повторяем действия:
Шаг 1:
Подключаемся к серверу через root
Шаг 2:
— создадим пользователя с именем container и наделяем его правами sudo :
adduser container
— добавляем права:
usermod -aG sudo container
Шаг 3: Установка Docker
Устанавливать Docker лучше под root
— обновляем список пакетов из репозитория
apt update
— устанавливаем несколько пакетов которые понадобятся для добавления новых репозиториев и установке пакетов с использованием HTTPS
apt install apt-transport-https ca-certificates curl software-properties-common
— используем curl для загрузки gpg ключей. Этот ключ используется для проверки подлинности пакетов Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg —dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
— создаём файл с параметрами для добавления репозитория Docker в систему
echo «deb [arch=$(dpkg —print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable» | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
— снова обновляем список пакетов
apt update
— проверяем наличие Docker в системе и отображаем самую актуальную версию для установки
apt-cache policy docker-ce
— запускаем процесс установки Docker в систему
sudo apt install docker-ce
— проверяем статус работы службы Docker , если active(running) — значит всё хорошо. Для выхода из режима просмотра комбинация клавиш ctr+z
sudo systemctl status docker
— добавляем ранее созданного пользователя ‘container’ в группу ‘docker’ , для управления Docker контейнерами без ‘sudo’
sudo usermod -aG docker container
— переключаемся на пользователя container
su container
— проверяем к каким группам относится пользователь container
groups
Шаг 4: Установка Docker Compose
Заходим под пользователем container, если вы делаете всё с самого начала, тогда мы уже зашли под пользователем
— создаем директорию в домашнем каталоге пользователя
mkdir -p ~/.docker/cli-plugins/
— загружаем и устанавливаем Docker Compose версии 2.23.0
curl -SL https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
— устанавливаем права на выполнение, это позволит использовать Docker Compose как исполняемый файл
chmod +x ~/.docker/cli-plugins/docker-compose
— отображаем версию Docker Compose
docker compose version
На этом установка закончена.
Шаг 5: Создание проекта для проверки работоспособности
— переходим в корневую папку
cd ~/
— создаём общую папку для проектов
mkdir web
— переходим в неё
cd web
— создаём папку для нашего первого проекта web1
mkdir web1
— переходим в эту папку
cd web1
— создаем файл docker-compose.yaml
nano docker-compose.yaml
— в нем прописываем и сохраняем(ctr+x, подтвердить, enter)
version: ‘3’
services:
nginx:
image: nginx:1.13
ports:
— 80:80
volumes:
— ./src:/usr/share/nginx/html
— создаём и запускаем контейнер
docker compose up -d
— открываем браузер и в строке URL пишем адрес нашего сервера(адрес нашего сервера возможно будет отличаться от вашего). Видим запущенный nginx работает
— теперь создаем файл index.html . Для этого возвращаемся в консоль и вводим команду, после команды потребуется ввести пароль пользователя
sudo nano src/index.html
— пишем в нем, например, Hello MrRoot , сохраняем и закрываем(ctr+x, соглашаемся, enter)
— Обновляем страницу в браузере и видим написанный вами текст
И так, следуя этим шагам, мы установили Docker и запустили наш первый контейнер с веб страницей. Не сложно, правда ?
Желаем вам удачи в ваших начинаниях!
Если возникнут вопросы — напишите в комментариях, мы обязательно ответим.