{"id":4142,"date":"2024-02-29T19:35:14","date_gmt":"2024-02-29T11:35:14","guid":{"rendered":"https:\/\/nj.transwarp.cn:8180\/?p=4142"},"modified":"2024-12-05T22:09:27","modified_gmt":"2024-12-05T14:09:27","slug":"%e6%89%a9%e5%ae%b9%e6%88%96%e5%ae%89%e8%a3%85%e8%8a%82%e7%82%b9%e6%97%b6%e5%87%ba%e7%8e%b0docker%e6%97%a0%e6%b3%95%e5%90%af%e5%8a%a8%e5%92%8ccgroup%e7%9b%b8%e5%85%b3%e7%9a%84%e6%8a%a5%e9%94%99","status":"publish","type":"post","link":"https:\/\/kbwp.transwarp.cn\/?p=4142","title":{"rendered":"\u6269\u5bb9\u6216\u5b89\u88c5\u8282\u70b9\u65f6\u51fa\u73b0docker\u65e0\u6cd5\u542f\u52a8\u548ccgroup\u76f8\u5173\u7684\u62a5\u9519\u60c5\u51b5"},"content":{"rendered":"<h3>\u6982\u8981\u63cf\u8ff0<\/h3>\n<p>\u672c\u6587\u63cf\u8ff0\u4e86\uff0c\u5728\u5b89\u88c5\u6216\u6269\u5bb9TDH\u8282\u70b9\u65f6\uff0c\u90e8\u5206\u8282\u70b9\u51fa\u73b0\u62a5\u9519 Error starting daemon\uff1aDevices cgroup isn&#8217;t mounted \u6216Your kernel does not support cgroup memory limit  \u7684\u89e3\u51b3\u65b9\u6cd5<\/p>\n<h3>\u8be6\u7ec6\u63cf\u8ff0<\/h3>\n<h4>1 \u62a5\u9519\u4fe1\u606f<\/h4>\n<p>\u5728\u5b89\u88c5\u6216\u6269\u5bb9TDH\u8282\u70b9\u65f6\uff0c\u90e8\u5206\u8282\u70b9\u51fa\u73b0docker\u65e0\u6cd5\u542f\u52a8\u7684\u60c5\u51b5<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/nj.transwarp.cn:8180\/wp-content\/uploads\/2020\/09\/image-1601172748593.png\" alt=\"file\" \/><\/p>\n<p>\u62a5\u9519\u4fe1\u606f\u4e0ecgroup\u76f8\u5173\uff1a\u7c7b\u4f3c\u4e8e\u62a5\u9519<br \/>\njournalctl -xe docker\u67e5\u770b\u65e5\u5fd7\u62a5\u9519\uff1a<\/p>\n<pre><code class=\"language-shell\">docker Your kernel does not support cgroup memory limit<\/code><\/pre>\n<pre><code class=\"language-shell\">Error starting daemon\uff1aDevices cgroup isn't mounted;<\/code><\/pre>\n<p>journalctl -xe kubelet\u67e5\u770b\u65e5\u5fd7\u62a5\u9519\uff1a<\/p>\n<pre><code class=\"language-shell\">main process exited, code=exited status=219\/cgroup<\/code><\/pre>\n<h4>2 \u68c0\u67e5cgroup<\/h4>\n<pre><code class=\"language-shell\">findmnt | grep cgroup<\/code><\/pre>\n<p>\u4ee5\u4e0b\u662f\u6b63\u5e38\u7684cgroup\u6302\u8f7d<br \/>\n<img decoding=\"async\" src=\"https:\/\/nj.transwarp.cn:8180\/wp-content\/uploads\/2020\/09\/image-1601172978651.png\" alt=\"file\" \/><\/p>\n<p>\u4ee5\u4e0b\u662f\u975e\u6b63\u5e38\u7684cgroup\u6302\u8f7d<br \/>\n<img decoding=\"async\" src=\"https:\/\/nj.transwarp.cn:8180\/wp-content\/uploads\/2024\/02\/image-1733407714804.png\" alt=\"file\" \/><\/p>\n<h4>3 \u89e3\u51b3\u65b9\u6cd5<\/h4>\n<h5>\u65b9\u68481<\/h5>\n<p>\u5982\u679c\u6b65\u9aa42\u91cc\u6ca1\u6709cgroup\u7684\u76f8\u5173\u6302\u8f7d\uff0c\u53ef\u4ee5\u91cd\u542f\u670d\u52a1\u5668\u8fdb\u884c\u89e3\u51b3\u3002<br \/>\n\u4e00\u822c\u6765\u8bf4\uff0c\u5982\u679c\u8282\u70b9\u5b89\u88c5\u65f6\u5019\u6b63\u5e38\uff0c\u8fd0\u884c\u4e00\u6bb5\u65f6\u95f4\u540e\u51fa\u73b0cgroup\u6302\u8f7d\u70b9\u4e22\u5931\uff0c\u53ef\u80fd\u662f\u8bef\u64cd\u4f5c\u4e86 umount -a \u5bfc\u81f4\uff1b\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u91cd\u542f\u8282\u70b9\u540e\uff0c\u5927\u6982\u7387 cgroupfs \u4f1a\u81ea\u52a8\u6302\u8f7d\u3002<\/p>\n<h5>\u65b9\u68482<\/h5>\n<p>\u5982\u679c\u5ba2\u6237\u4e0d\u80fd\u91cd\u542f\uff0c\u53ef\u4ee5\u8003\u8651\u6267\u884c\u4ee5\u4e0b\u811a\u672c<\/p>\n<pre><code class=\"language-shell\">#!\/bin\/sh\n# Copyright 2011 Canonical, Inc\n#           2014 Tianon Gravi\n# Author: Serge Hallyn <serge.hallyn@canonical.com>\n#         Tianon Gravi <tianon@debian.org>\nset -e\n\n# for simplicity this script provides no flexibility\n\n# if cgroup is mounted by fstab, don't run\n# don't get too smart - bail on any uncommented entry with 'cgroup' in it\nif grep -v '^#' \/etc\/fstab | grep -q cgroup; then\n    echo 'cgroups mounted from fstab, not mounting \/sys\/fs\/cgroup'\n    exit 0\nfi\n\n# kernel provides cgroups?\nif [ ! -e \/proc\/cgroups ]; then\n    exit 0\nfi\n\n# if we don't even have the directory we need, something else must be wrong\nif [ ! -d \/sys\/fs\/cgroup ]; then\n    exit 0\nfi\n\n# mount \/sys\/fs\/cgroup if not already done\nif ! mountpoint -q \/sys\/fs\/cgroup; then\n    mount -t tmpfs -o uid=0,gid=0,mode=0755 cgroup \/sys\/fs\/cgroup\nfi\n\ncd \/sys\/fs\/cgroup\n\n# get\/mount list of enabled cgroup controllers\nfor sys in $(awk '!\/^#\/ { if ($4 == 1) print $1 }' \/proc\/cgroups); do\n    mkdir -p $sys\n    if ! mountpoint -q $sys; then\n        if ! mount -n -t cgroup -o $sys cgroup $sys; then\n            rmdir $sys || true\n        fi\n    fi\ndone\n\n# example \/proc\/cgroups:\n#  #subsys_name hierarchy   num_cgroups enabled\n#  cpuset   2   3   1\n#  cpu  3   3   1\n#  cpuacct  4   3   1\n#  memory   5   3   0\n#  devices  6   3   1\n#  freezer  7   3   1\n#  blkio    8   3   1\n\n# enable cgroups memory hierarchy, like systemd does (and lxc\/docker desires)\n# https:\/\/github.com\/systemd\/systemd\/blob\/v245\/src\/core\/cgroup.c#L2983\n# https:\/\/bugs.debian.org\/940713\nif [ -e \/sys\/fs\/cgroup\/memory\/memory.use_hierarchy ]; then\n    echo 1 > \/sys\/fs\/cgroup\/memory\/memory.use_hierarchy\nfi\n\nif [ -e \/sys\/fs\/cgroup\/cpu,cpuacct ]; then\n    mount -n -t cgroup -o cpu,cpuacct cgroup cpu,cpuacct\nfi\n\nexit 0<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u6982\u8981\u63cf\u8ff0 \u672c\u6587\u63cf\u8ff0\u4e86\uff0c\u5728\u5b89\u88c5\u6216\u6269\u5bb9TDH\u8282\u70b9\u65f6\uff0c\u90e8\u5206\u8282\u70b9\u51fa\u73b0\u62a5\u9519 Error starting daemon\uff1a ..<\/p>\n<div class=\"clear-fix\"><\/div>\n<p><a href=\"https:\/\/kbwp.transwarp.cn\/?p=4142\" title=\"read more...\">Read more<\/a><\/p>\n","protected":false},"author":15,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4142","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"acf":[],"_links":{"self":[{"href":"https:\/\/kbwp.transwarp.cn\/index.php?rest_route=\/wp\/v2\/posts\/4142","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kbwp.transwarp.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kbwp.transwarp.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kbwp.transwarp.cn\/index.php?rest_route=\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/kbwp.transwarp.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4142"}],"version-history":[{"count":4,"href":"https:\/\/kbwp.transwarp.cn\/index.php?rest_route=\/wp\/v2\/posts\/4142\/revisions"}],"predecessor-version":[{"id":15104,"href":"https:\/\/kbwp.transwarp.cn\/index.php?rest_route=\/wp\/v2\/posts\/4142\/revisions\/15104"}],"wp:attachment":[{"href":"https:\/\/kbwp.transwarp.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4142"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kbwp.transwarp.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4142"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kbwp.transwarp.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}