Установка FreeIPA в Docker контейнер¶
Инструкции для запуска в docker
Не рекомендую запускать в докере, потому что:
- порт 80, 443 будут заняты - смысл ставить службу докер отпадает на хосте
- возникнут доп сложности, что нужно будет после получения обновленных сертификатов через сertbot менять права на сертификат и прокидывать внутрь контейнера - это связано большей частью с userns-remap
only for CGroup v2
$ grep cgroup /proc/filesystems
nodev cgroup
nodev cgroup2
in /etc/docker/daemon.json add:
{
"userns-remap": "default"
}
sudo systemctl restart docker
owner for /opt/freeipa-data 165536:165536 как второе число в dockremap
$ cat /etc/subuid
voale:100000:65536
dockremap:165536:65536
хотя $ getent passwd dockremap вернет
dockremap:x:106:112::/home/dockremap:/bin/false
git clone https://github.com/freeipa/freeipa-container.git
1. FROM freeipa/freeipa-server:centos-8-stream
docker build -t freeipa-centos8stream -f Dockerfile.centos-8 .
docker run --name freeipa-server-centos8stream -d -ti \
-h freeipa.truedev.ru \
-p 53:53/udp -p 53:53 \
-p 80:80 -p 443:443 \
-p 389:389 -p 636:636 \
-p 88:88 -p 464:464 \
-p 88:88/udp -p 464:464/udp \
-p 123:123/udp \
--sysctl net.ipv6.conf.all.disable_ipv6=0 \
-v /opt/freeipa-data:/data:Z \
-v /etc/letsencrypt:/etc/letsencrypt:Z \
freeipa-centos8stream
2. docker build -t freeipa-almalinux9 -f Dockerfile.almalinux-9 .
docker run --name freeipa-server-almalinux9 -d -ti \
-h freeipa.truedev.ru \
-p 53:53/udp -p 53:53 \
-p 80:80 -p 443:443 \
-p 389:389 -p 636:636 \
-p 88:88 -p 464:464 \
-p 88:88/udp -p 464:464/udp \
-p 123:123/udp \
--read-only --sysctl net.ipv6.conf.all.disable_ipv6=0 \
-v /opt/freeipa-data:/data:Z freeipa-almalinux9
>
another usefull features for docker daemon
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "100",
"labels": "production_status",
"env": "os,customer"
}
}
check in logs container: FreeIPA server started.