Инструменты пользователя

Инструменты сайта


howto:sysadmin:lxd

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
howto:sysadmin:lxd [2024/05/14 02:11]
ryzhikov
howto:sysadmin:lxd [2024/12/21 03:57] (текущий)
Строка 7: Строка 7:
 # Сделать снапшот контейнера:​ # Сделать снапшот контейнера:​
 lxc snapshot <​containername>​ <​snapshotname>​ lxc snapshot <​containername>​ <​snapshotname>​
 +
 +# Стартовать контейнер:​
 +lxc start <​containername>​
 </​code>​ </​code>​
  
Строка 31: Строка 34:
     type: disk     type: disk
 </​file>​ </​file>​
 +
 +
 +===== Проблемы с Docker =====
 +Docker перезаписывает правила фаервола (баг https://​github.com/​docker/​for-linux/​issues/​103,​ который разработчики пока не починили). После перезагрузки новые правила фаервола заблокировали связь контейнеров LXD.
 +
 +Решение — самостоятельно добавить правила фаервола,​ разрешающие общение контейнеров LXD:
 +    sudo iptables -I DOCKER-USER -i lxdbr0 -j ACCEPT -m comment --comment "​generated for LXD network lxdbr0"​
 +    sudo iptables -I DOCKER-USER -o lxdbr0 -j ACCEPT -m comment --comment "​generated for LXD network lxdbr0"​
 +
 +
 +Автоматическое добавление правил в хуке на ifup может не работать,​ поскольку чейны DOCKER могут еще не быть созданы к этому моменту.
 +
 +Поэтому создаем свой сервис,​ который будет стартовать после docker и добавлять нужные правила:​
 +
 +<file sh /​usr/​local/​bin/​post-docker.sh>​
 +
 +#​!/​usr/​bin/​env bash
 +
 +date > /​var/​log/​post-docker-timestamp
 +iptables -I DOCKER-USER -i lxdbr0 -j ACCEPT -m comment --comment "​generated for LXD network lxdbr0"​
 +iptables -I DOCKER-USER -o lxdbr0 -j ACCEPT -m comment --comment "​generated for LXD network lxdbr0"​
 +</​file>​
 +
 +<file ini /​etc/​systemd/​system/​postdocker.service>​
 +
 +[Unit]
 +Description=Post Docker
 +After=docker.service
 +BindsTo=docker.service
 +ReloadPropagatedFrom=docker.service
 +
 +[Service]
 +Type=oneshot
 +ExecStart=/​usr/​local/​bin/​post-docker.sh
 +ExecReload=/​usr/​local/​bin/​post-docker.sh
 +RemainAfterExit=yes
 +
 +[Install]
 +WantedBy=multi-user.target
 +</​file>​
 +
 +
 +    chmod +x /​usr/​local/​bin/​post-docker.sh
 +    systemctl daemon-reload
 +    systemctl enable postdocker.service
 +
howto/sysadmin/lxd.1715641883.txt.gz · Последние изменения: 2024/05/14 02:11 — ryzhikov