====== Установка docker в LXC контейнере ======
===== Зачем docker в LXC =====
Иногда это требуется. Профессионалы утверждают, что LXC и сам уже контейнер, зачем контейнер в контейнере? А нам вот нужно, чтобы docker работал в LXC. Возможно потому, что мы - дилетанты.
===== Предварительная настройка контейнера =====
Для того, чтобы docker работал на debian 12 в контейнере, следует внести изменения в настройки в его конфиге на хостовой машине.
#
# Редактируем файл /etc/pve/lxc/12455.conf
#
nano /etc/pve/lxc/12455.conf
#
# Вносим изменения в него:
#
unprivileged: 0
lxc.apparmor.profile: unconfined
lxc.cap.drop:
===== Установка docker в LXC контейнере =====
После установки debian 12 выполняем следующие команды:
# Add Docker's official GPG key:
apt-get update
apt-get install ca-certificates curl gnupg
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg
# Add the repository to Apt sources:
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
===== Настройки docker после установки =====
Если требуется, чтобы докер мог запускаться от имени пользователя, то следует создать группу и добавить пользователя в нее.
groupadd docker
usermod -aG docker $USER
newgrp docker
===== Проверка работы docker =====
#
# Самый простой способ - выполнить hello-world ;o)
#
docker run hello-world