Skip to content

Установка 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.