Найти в Дзене
Леонид Джабиев

Установка Docker и Parteiner на Debian 12

Эта статья часть инструкции, по настройке локального сервера, без статического белого IP адреса, с доступом из интернет по имени домена, на сервере устанавливаем Docker и Parteiner. Переходите по ссылке в оглавление чтоб увидить все части этой инструкции. Подключитесь к серверу по SSH как пользователь root Посмотрим, что есть в системе из репозиториев. # apt-get update # cd /etc/apt/ && ls -la # cd /etc/apt/sources.list.d && ls -la Видим, что присутствует стандартный репозиторий Debian, откроем его и посмотрим содержимое. # nano /etc/apt/sources.list Присутствует запись о репозитории «bookworm-backports», это означает что мы сможем устанавливать из него пакеты на наш сервер. Репозиторий «bookworm-backports», у вас должен быть если вы при установке не запрещали его инсталляцию. Посмотрим, что находиться в каталоге дополнительных репозиториев # cd /etc/apt/sources.list.d && ls -la Видим что там пусто. Для установки Docker на сервер рекомендую использовать стандартный способ, оп
Установка Docker и Parteiner на Debian 12 SHarksGANG 2025
Установка Docker и Parteiner на Debian 12 SHarksGANG 2025

Установка Docker и Parteiner на Debian 12

Эта статья часть инструкции, по настройке локального сервера, без статического белого IP адреса, с доступом из интернет по имени домена, на сервере устанавливаем Docker и Parteiner.

Переходите по ссылке в оглавление чтоб увидить все части этой инструкции.

Подключитесь к серверу по SSH как пользователь root

Посмотрим, что есть в системе из репозиториев.

# apt-get update

репозитории Debian 12
репозитории Debian 12

# cd /etc/apt/ && ls -la

# cd /etc/apt/sources.list.d && ls -la

стандартный репозиторий Debian 12
стандартный репозиторий Debian 12

Видим, что присутствует стандартный репозиторий Debian, откроем его и посмотрим содержимое.

# nano /etc/apt/sources.list

Cтандартный репозиторий Debian 12, содержимое.
Cтандартный репозиторий Debian 12, содержимое.

Присутствует запись о репозитории «bookworm-backports», это означает что мы сможем устанавливать из него пакеты на наш сервер. Репозиторий «bookworm-backports», у вас должен быть если вы при установке не запрещали его инсталляцию. Посмотрим, что находиться в каталоге дополнительных репозиториев

# cd /etc/apt/sources.list.d && ls -la

что находиться в каталоге дополнительных репозиториев
что находиться в каталоге дополнительных репозиториев

Видим что там пусто.

Для установки Docker на сервер рекомендую использовать стандартный способ, описанный разработчиком.

Пропишем на сервере ключи GPG репозитория Docker и установим необходимые для этого утилиты.

# apt-get update

# apt-get install ca-certificates curl

# install -m 0755 -d /etc/apt/keyrings

# curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc

# chmod a+r /etc/apt/keyrings/docker.asc

Создадим репозиторий Doker одной командой

# echo \

"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \

$(. /etc/os-release && echo "bookworm") stable" | \

sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Обратите внимание на то что явно указан релиз Debian - "bookworm", в случае необходимости укажите ваш используемый релиз Debian. Теперь обновите список репозиториев в системе.

# apt-get update

Debian 12 репозиторий Doсker
Debian 12 репозиторий Doсker

В системе появился репозиторий Doсker, теперь всё готово для установки Docker и Portainer CE

# apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-compose --fix-missing

Добавьте вашего обычного пользователя в группу DOCKER

# usermod -a -G docker ВАШ ПОЛЬЗОВАТЕЛЬ

Проверим что все нужные пакеты и утилиты установленны.

# apt-cache show docker | grep -i version

# apt-cache show docker-compose | grep -i version

# apt-cache show docker compose | grep -i version

Чтоб Docker запускался при загрузке, используйте следующую команду:

# systemctl enable docker

# systemctl start docker

# systemctl status docker

Перезапустите сервер

# shutdown -r now

На этом этапе необходимо настроить статический IP вашего сервера, рассмотрим вариант настроек, подразумевающий что ваш роутер раздаёт в сеть динамические IP, чтоб серверу работающему в виртуальной машине VmWare получить статический адрес, перейдите в настройки вашего роутера набрав в адрес который обычно написан на этикетке роутера. Например для роутеров TP-Link нужные настройки делайте в DHCP- Address Reservation , добавьте вашу виртуальную машину прописав её IP и MAC Address. Выглядит это вот так

статический IP  сервера Debian 12
статический IP сервера Debian 12

Адреса поставьте ваши. Узнать IP и MAC можно командой

# ip a

Обязательно перезагрузите роутер.

В любом браузере откройте IP адрес вашего виртуального сервера, перейдите по адресу, вы получите сообщение «Не удаётся получить доступ к сайту» - так и должно быть.

Перейдите в консоль вашего SSH подключения как root, установите portainer-ce

# docker volume create portainer_data

# docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:lts

установка portainer-ce
установка portainer-ce

Как только отработает установщик перейдите в браузер и к IP адресу вашего сервера добавьте адрес порта «:9443»

Используйте явное указание HTTPS при наборе адреса «https://192.168.0.11:9443/»

По умолчанию время для первого входа и указания пароля и логина пользователя 5 минут. Если вы не уложитесь в это время у вас появиться сообщение о ошибке соединения.

Ошибка первоначального подключения к portainer
Ошибка первоначального подключения к portainer

Чтоб перезапустить веб интерфейс portainer, выполните в консоле сервера эти команды

# docker stop portainer

# docker start Portainer

После ввода команд проверьте статус запущенного portainer

# docker ps

вывод в консоле
вывод в консоле

В случае если вывод в консоле пустой или указывает на ошибки запуска, перезагрузите сервер

# shutdown -r now

После перезагрузки перейдите по адресу сервера, Используйте явное указание HTTPS при наборе адреса

«https://192.168.0.11:9443/»

Заполните вашими значениями поля авторизации.

Можно снять не отмечать чекбокс

«Allow collection of anonymous statistics. You can find more information about this in our privacy policy».
Авторизация Portainer
Авторизация Portainer
Для установки portainer-ce приготовьте заранее парольную фразу, так же замените имя пользователя при входе на любое рандомное, не оставляйте стандартное имя «Admin».
Рекомендую пароль из 32 символов имя пользователя из минимум 12 символов, не делайте имя пользователя осмысленным, примените рандомное сочетание букв.
portainer успешно установлен
portainer успешно установлен

Нажимайте на «Get Started» ваш сервис portainer успешно установлен.

Откройте доступ к вашему серверу из интернета. Но, прежде чем это сделать, создадим резервную копию виртуальной машины. Вам нужно остановить виртуальную машину, закрыть VmWare и сделать архиватором Win RaR резервную копию.

Учитывайте в качестве текстового редактора используется «vi». Вам нужно прочитать внимательно инструкцию к командам, там описана последовательность нажатия клавиатурных комбинаций, для работы в этом редакторе. Не меняйте редактор «vi» на какой-либо другой, это важно.

Именно по причине некорректного редактирования файлов конфигураций, редактором «vi», ломается работа сервиса.

Прочтите в интернете инструкцию как пользоваться редактором «vi».

Авторизуйтесь под обычным пользователем в системе, перейдите в каталог tmp

# cd /tmp

Потренируйтесь создавать файлы при помощи редактора «vi», внесите в ваш файл какой-либо текст, сохраняете значения. Только после четкого понимания что и как делать, под пользователем «root» сконфигурируйте сервис.

Как только будет готова резервная копия, запустите VmWare и авторизуйтесь на сервере как root.

Перейдите на сайт Duck DNS и авторизуйтесь. Посмотрите в правый угол сайта, убедитесь, что там указана именно ваша электронная почта. Сайт спустя не продолжительное время сбрасывает авторизацию и токен для вашего сервера будет иметь не корректное значение. Как вариант скопируйте команды в текстовый файл и оттуда вводите значения в консоли SSH подключения. В меню сайта выбирайте пункт меню «install»

Станут доступны разделы «Operating Systems» и «first step - choose a domain.»

В разделе «Operating Systems» выбирайте вкладку «linux cron»

сайт Duck DNS
сайт Duck DNS

В секции «first step - choose a domain.» выбирайте ваш домен.

сайт Duck DNS  выбирайте ваш домен
сайт Duck DNS выбирайте ваш домен

Будут сформированы команды, выполните их поочередно.

Убедитесь, что вы находитесь в директории пользователя «root», выполнив следующую команду

# cd ~/

После ввода последней команды, вам в консоль может не быть показано значение «ОК» - это не ошибка. Так как в GNU Linux отсутствие сообщения означает – отсутствие ошибок. Вы можете самостоятельно посмотреть содержимое файла duck.log.

# cat ~/duckdns/duck.log

Перейдите в настройки вашего роутера. Меню «Forwarding» - «DMZ» пропишите IP адрес вашей виртуальной машины и сохраните настройки. Перезагрузите роутер и перезагрузите виртуальную машину с вашим сервером.

Первые несколько минут ваш домен может казаться не работоспособным, браузер не сможет его открыть. Переходите по имени домена без HTTPS заголовка, это отправит в сеть DNS запрос на подключение к вашему серверу.

Так это будет выглядеть

домен может казаться не работоспособным
домен может казаться не работоспособным

Обновите страницу, обновите адрес, следующее сообщение которое вы получите будет выглядеть вот так.

Доступ по HTTPS сайт предупреждает
Доступ по HTTPS сайт предупреждает

Нажимайте на чек бокс «Подробнее», откроется следующие меню.

Нажимайте на надпись Переход на сайт
Нажимайте на надпись Переход на сайт

Браузер сообщает что сертификат SSL заверен локально. То есть создан на вашем сервере вами.

Нажимайте на надпись: «Перейти на сайт ВАШ САЙТ.duckdns.org (небезопасно)».

Откроется страница авторизации portainer установленным на сервере, который вы развернули локально без внешнего IP адреса, теперь ваш сервер доступен из интернета по имени домена.

сервер доступен из интернета по имени домена
сервер доступен из интернета по имени домена

Продолжение в следующей части.

Помните!

Сейчас вам нужно остановить виртуальную машину, закрыть VmWare и сделать архиватором Win RaR резервную копию.