Сontainer на MikroTik как Docker на Linux, за исключением типа процессора и жизненного цикла контейнера.
Профессиональная настройка MikroTik
Без предоплаты
Telegram: @Engineer_MikroTik
Я не рекомендую использовать контейнеры на MikroTik, для этого есть родные среды в виде Linux машин и другой виртуализации на мощном железе. Но если хочется — давайте запустим.
Установка Container
Пакет
Нужен пакет container из набора Extra:
Активация
/system/device-mode/update container=yes
После выполнения команды, будет 5 минут для сброса питания или нажатия кнопки сброса. Для CHR нужно принудительное отключение VM.
Проверка
Проверка статуса и ответ, что контейнер работает:
system/device-mode/print
mode: enterprise
container: yes
Настройка сети
Создание VETH
/interface veth
add address=172.17.0.2/24 gateway=172.17.0.1 gateway6="" name=veth
Создание bridge
/interface bridge
add name=Bridge-Container
/interface bridge port
add bridge=Bridge-Container interface=veth1
/ip address
add address=172.17.0.1/24 interface=Bridge-Container network=172.17.0.0
NAT для контейнеров
/ip firewall nat
add action=masquerade chain=srcnat comment="NAT Container" out-interface-list=WAN src-address=172.17.0.0/24
Установка Nginx
Делаем точки монтирования
/container/mounts/add dst=/etc/nginx/nginx.conf name=nginx_conf src=/usb1/nginx/nginx.conf
/container/mounts/add dst=/etc/nginx/certs name=certs src=/usb1/nginx/certs
/container/mounts/add dst=/data name=nginx_data src=/usb1/nginx/data
/container/mounts/add dst=/etc/nginx/conf.d name=nginx_confd src=/usb1/nginx/config
/container/add remote-image=nginx:1.25.3-alpine interface=veth1 root-dir=usb1/docker/nginx mounts=nginx_conf,certs,nginx_data,nginx_confd
И получить доступ к контейнеру по IP 172.17.0.2, открыв в браузере
Установка Pi-hole
Ставить будем Pi-hole согласно официальной документации на help.mikrotik.com
Переменные Envs
/container/envs/add name=pihole_envs key=TZ value="Europe/Moscow"
/container/envs/add name=pihole_envs key=WEBPASSWORD value="1q2w3e4r"
/container/envs/add name=pihole_envs key=DNSMASQ_USER value="root"
Точки монтирования
/container mounts
add dst=/etc/pihole name=etc_pihole src=/disk1/etc
add dst=/etc/dnsmasq.d name=dnsmasq_pihole src=/disk1/etc-dnsmasq.d
Общая настройка
/container config
set ram-high=200 registry-url=https://registry-1.docker.io tmpdir=/pull
Скачивание контейнера
/container/add remote-image=pihole/pihole:
latest interface=veth1 root-dir=disk1/pihole mounts=dnsmasq_pihole,etc_pihole envl
ist=pihole_envs
Запуск
После скачивания и запуска кнопкой Start — заходим через браузер аналогично nginx