sudo docker info | grep -i cgroup
Cgroup Driver: cgroupfs
아래 방법 중에서 취사 선택한다. 서비스 스크립트 직접 수정보다
daemon.json방식이 권장된다.
sudo vi /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
{
"insecure-registries": ["harbor.haedongg.net", "192.168.192.168"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
참고 —
overlay2.override_kernel_check=true: RHEL 7.3 이하의 오래된 커널에서 overlay2 드라이버 사용을 강제할 때 썼던 옵션. 현대의 RHEL 8+ / Ubuntu 20.04+ 커널에서는 불필요합니다.
sudo vi /etc/systemd/system/docker.service
# Ubuntu의 경우 /lib/systemd/system/docker.service 가 기본
# Ubuntu 파생 배포판의 경우 /etc/systemd/system/multi-user.target.wants/docker.service
# ExecStart 로 시작하는 줄에 --exec-opt native.cgroupdriver=systemd 를 추가
# 기존: ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --exec-opt native.cgroupdriver=systemd
sudo systemctl daemon-reload
sudo systemctl restart docker
docker info | grep -i cgroup
# Cgroup Driver: systemd
# Cgroup Version: 2 (RHEL 9 / Ubuntu 22+ 기본)