Kalau korang cuba nak mount volume atau bindmount nanti akan dapat error "cgroup mountpoint does not exist" seperti di bawah
jeffry@hulkbuster nginx]$ docker run --name mynginx2 -P -v myvol:/usr/share/nginx/html nginx
docker: Error response from daemon: cgroups: cgroup mountpoint does not exist: unknown.
ERRO[0002] error waiting for container: context canceled
Error ini disebabkan Fedora 31 telah berubah kepada cgroup2 dan cgroup2 belum disokong olah Docker. Docker hanya boleh berfungsi dengan cgroup versi 1. cgroup atau nama panjangnya control group ialah bahagian kernel untuk menghad dan mengasiangkan resource seperti cpu, memory dan network. Oleh itu, untuk guna Docker di Fedora 31, kita kena patah balik ke cgroup versi 1. Untuk guna cgroup ini kita perlu letakan "systemd.unified_cgroup_hierarchy=0" sebagai kernel argument. Salah satu cara ialah dengan meletakan ia dia /etc/default/grub seperti dibawah:-
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="resume=/dev/mapper/fedora_localhost--live-swap rd.lvm.lv=fedora_localhost-live/root rd.lvm.lv=fedora_localhost-live/swap rhgb quiet systemd.unified_cgroup_hierarchy=0"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
kemudian bina semula configurasi grub
sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
kemudian reboot untuk menggunakan kernel dengan argumen yang baru
sudo reboot
lepas reboot dah boleh jalan :).
Semoga bermanfaat
No comments:
Post a Comment