В интернете есть много статей как устанавливать и настраивать Docker на Linux сервере, но к сожалению большинство не работает или работает с ошибками на каких то этапах. Поэтому и решили написать статью — гайд, которая проведёт вас через тернистый путь установки и настройки не поранившись.
И так, предположим что у нас уже есть настроенный сервер, если нет, тогда читаем нашу статью и настраиваем. Подключаемся к серверу и шаг за шагом повторяем действия:
Шаг 1:
Подключаемся к серверу через root
Шаг 2:
— создадим пользователя с именем container и наделяем его правами sudo :
adduser container
![](https://mrroot.pro/wp-content/uploads/2024/02/image-26.png)
— добавляем права:
usermod -aG sudo container
![](https://mrroot.pro/wp-content/uploads/2024/02/image-27.png)
Шаг 3: Установка Docker
Устанавливать Docker лучше под root
— обновляем список пакетов из репозитория
apt update
![](https://mrroot.pro/wp-content/uploads/2024/02/image-28.png)
— устанавливаем несколько пакетов которые понадобятся для добавления новых репозиториев и установке пакетов с использованием HTTPS
apt install apt-transport-https ca-certificates curl software-properties-common
![](https://mrroot.pro/wp-content/uploads/2024/02/image-29.png)
— используем curl для загрузки gpg ключей. Этот ключ используется для проверки подлинности пакетов Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg —dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
![](https://mrroot.pro/wp-content/uploads/2024/02/image-30-1024x42.png)
— создаём файл с параметрами для добавления репозитория 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
![](https://mrroot.pro/wp-content/uploads/2024/02/image-31-1024x55.png)
— снова обновляем список пакетов
apt update
![](https://mrroot.pro/wp-content/uploads/2024/02/image-32.png)
— проверяем наличие Docker в системе и отображаем самую актуальную версию для установки
apt-cache policy docker-ce
![](https://mrroot.pro/wp-content/uploads/2024/02/image-33.png)
— запускаем процесс установки Docker в систему
sudo apt install docker-ce
![](https://mrroot.pro/wp-content/uploads/2024/02/image-34.png)
— проверяем статус работы службы Docker , если active(running) — значит всё хорошо. Для выхода из режима просмотра комбинация клавиш ctr+z
sudo systemctl status docker
![](https://mrroot.pro/wp-content/uploads/2024/02/image-35.png)
— добавляем ранее созданного пользователя ‘container’ в группу ‘docker’ , для управления Docker контейнерами без ‘sudo’
sudo usermod -aG docker container
![](https://mrroot.pro/wp-content/uploads/2024/02/image-36.png)
— переключаемся на пользователя container
su container
![](https://mrroot.pro/wp-content/uploads/2024/02/image-37.png)
— проверяем к каким группам относится пользователь container
groups
![](https://mrroot.pro/wp-content/uploads/2024/02/image-38.png)
Шаг 4: Установка Docker Compose
Заходим под пользователем container, если вы делаете всё с самого начала, тогда мы уже зашли под пользователем
![](https://mrroot.pro/wp-content/uploads/2024/02/image-39.png)
— создаем директорию в домашнем каталоге пользователя
mkdir -p ~/.docker/cli-plugins/
![](https://mrroot.pro/wp-content/uploads/2024/02/image-40.png)
— загружаем и устанавливаем 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
![](https://mrroot.pro/wp-content/uploads/2024/02/image-41-1024x109.png)
— устанавливаем права на выполнение, это позволит использовать Docker Compose как исполняемый файл
chmod +x ~/.docker/cli-plugins/docker-compose
![](https://mrroot.pro/wp-content/uploads/2024/02/image-42.png)
— отображаем версию Docker Compose
docker compose version
![](https://mrroot.pro/wp-content/uploads/2024/02/image-43.png)
На этом установка закончена.
Шаг 5: Создание проекта для проверки работоспособности
— переходим в корневую папку
cd ~/
![](https://mrroot.pro/wp-content/uploads/2024/02/image-44.png)
— создаём общую папку для проектов
mkdir web
![](https://mrroot.pro/wp-content/uploads/2024/02/image-46.png)
— переходим в неё
cd web
![](https://mrroot.pro/wp-content/uploads/2024/02/image-47.png)
— создаём папку для нашего первого проекта web1
mkdir web1
![](https://mrroot.pro/wp-content/uploads/2024/02/image-48.png)
— переходим в эту папку
cd web1
![](https://mrroot.pro/wp-content/uploads/2024/02/image-49.png)
— создаем файл 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
![](https://mrroot.pro/wp-content/uploads/2024/02/image-50-1024x546.png)
— создаём и запускаем контейнер
docker compose up -d
![](https://mrroot.pro/wp-content/uploads/2024/02/image-51-1024x184.png)
— открываем браузер и в строке URL пишем адрес нашего сервера(адрес нашего сервера возможно будет отличаться от вашего). Видим запущенный nginx работает
![](https://mrroot.pro/wp-content/uploads/2024/02/image-52-1024x136.png)
— теперь создаем файл index.html . Для этого возвращаемся в консоль и вводим команду, после команды потребуется ввести пароль пользователя
sudo nano src/index.html
— пишем в нем, например, Hello MrRoot , сохраняем и закрываем(ctr+x, соглашаемся, enter)
![](https://mrroot.pro/wp-content/uploads/2024/02/image-53-1024x553.png)
— Обновляем страницу в браузере и видим написанный вами текст
![](https://mrroot.pro/wp-content/uploads/2024/02/image-54-1024x96.png)
И так, следуя этим шагам, мы установили Docker и запустили наш первый контейнер с веб страницей. Не сложно, правда ?
Желаем вам удачи в ваших начинаниях!
Если возникнут вопросы — напишите в комментариях, мы обязательно ответим.