Установка docker без суперпользователя

В этой заметке я опишу минимально необходимые действия для установки и использования docker без прав суперпользователя. Информация в этой заметке основана на официальной документации, но сильно сжата. Поэтому если у вас что-то не получается, возможно ваша конфигурация системы отличается от моей и в таком случае обратитесь к полной документации и внимательно изучите ее.
Предварительные условия
Все написанное выше работает на только что установленной ОС Debian 12 в VirtualBox.
Установите дополнительные пакеты:
Доступ к Интернет через прокси
Если вы используете прокси для работы curl создайте переменную среды:
Запустите модуль nf_tables:
Загрузите и выполните скрипт установки:
После этого, исполняемые файлы docker будут находиться в директории ~/bin.
systemctl --user daemon-reload
systemctl --user start docker.service
systemctl --user enable docker.service
sudo loginctl enable-linger $(whoami)
Если docker должен подключаться к Интернет через прокси, отредактируйте файл конфигурации ./.config/systemd/user/target.default, добавив в раздел [Services] строки:
Environment="HTTP_PROXY=http://proxy_username:proxy_password@proxy_address:proxy_port"
Environment="HTTPS_PROXY=http://proxy_username:proxy_password@proxy_address:proxy_port"
Environment="NO_PROXY=localhost,127.0.0.1"
Перезапустите службу:
По-умолчанию, в режиме rootless вы не сможете пробросить порт со значением менее 1024 к контейнеру. Чтобы обойти это, отредактируйте /etc/sysctl.conf и добавьте в него значение:
После этого перезапустите службы:
Для удобства, добавьте путь к исполняемым файлам docker в переменную $PATH, добавив в ~/.profile строку:
Дополнительно, можно установить docker-compose: