{"id":217,"date":"2026-01-23T07:10:16","date_gmt":"2026-01-23T07:10:16","guid":{"rendered":"https:\/\/blog.gpst.net.cn:4008\/?p=217"},"modified":"2026-01-28T06:24:15","modified_gmt":"2026-01-28T06:24:15","slug":"docker-%e6%95%b0%e6%8d%ae%e7%9b%ae%e5%bd%95%e8%bf%81%e7%a7%bb%e6%ad%a5%e9%aa%a4","status":"publish","type":"post","link":"https:\/\/opshub.com.cn\/?p=217","title":{"rendered":"Docker \u6570\u636e\u76ee\u5f55\u8fc1\u79fb\u6b65\u9aa4"},"content":{"rendered":"\n<p>1\u3001\u51c6\u5907\u76ee\u6807\u76ee\u5f55<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u521b\u5efa\u76ee\u6807\u76ee\u5f55\nsudo mkdir -p \/home\/var\/lib\n\n# \u786e\u4fdd\u76ee\u5f55\u6743\u9650\u4e0e\u539fdocker\u76ee\u5f55\u4e00\u81f4\nsudo chmod 711 \/home\/var\/lib\nsudo chown root:root \/home\/var\/lib<\/code><\/pre>\n\n\n\n<p>2\u3001\u505c\u6b62docker\u76f8\u5173\u670d\u52a1<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u505c\u6b62docker\u670d\u52a1\nsudo systemctl stop docker\n\n# \u68c0\u67e5\u662f\u5426\u6709docker.socket\u5728\u8fd0\u884c\uff0c\u82e5\u6709\u5219\u505c\u6b62\uff08\u901a\u7528\u505a\u6cd5\uff0c\u65e0\u9700\u7b49\u63d0\u793a\uff09\nif sudo systemctl is-active --quiet docker.socket; then\n    sudo systemctl stop docker.socket\nfi\n\n# \u786e\u8ba4docker\u5b8c\u5168\u505c\u6b62\nsudo systemctl status docker | grep \"inactive (dead)\"<\/code><\/pre>\n\n\n\n<p>3\u3001\u4fee\u6539docker\u914d\u7f6e\u6587\u4ef6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u5148\u5907\u4efd\u539f\u914d\u7f6e\u6587\u4ef6\uff08\u91cd\u8981\uff09\nsudo cp \/lib\/systemd\/system\/docker.service \/lib\/systemd\/system\/docker.service.bak\n\n# \u7f16\u8f91\u914d\u7f6e\u6587\u4ef6\uff0c\u4fee\u6539ExecStart\u884c\uff08\u4f7f\u7528sed\u66ff\u6362\u66f4\u9ad8\u6548\uff0c\u907f\u514d\u624b\u52a8\u7f16\u8f91\u51fa\u9519\uff09\nsudo sed -i '\/^ExecStart=\/ s\/$\/ --data-root=\\\/home\\\/var\\\/lib\\\/docker\/' \/lib\/systemd\/system\/docker.service\n\n# \u9a8c\u8bc1\u4fee\u6539\u662f\u5426\u751f\u6548\uff08\u67e5\u770bExecStart\u884c\uff09\ngrep \"ExecStart\" \/lib\/systemd\/system\/docker.service<\/code><\/pre>\n\n\n\n<p>4\u3001\u540c\u6b65\u6570\u636e\u5230\u65b0\u76ee\u5f55\uff08\u4f7f\u7528 rsync\uff09<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u540c\u6b65\u539fdocker\u76ee\u5f55\u5230\u76ee\u6807\u4f4d\u7f6e\uff08\u6ce8\u610f\u8def\u5f84\uff1a\/var\/lib\/docker \u540c\u6b65\u5230 \/home\/var\/lib\/ \u4e0b\uff09\nsudo rsync -avzP \/var\/lib\/docker \/home\/var\/lib\/\n\n# \u9a8c\u8bc1\u540c\u6b65\u7ed3\u679c\uff08\u68c0\u67e5\u65b0\u76ee\u5f55\u6587\u4ef6\u6570\u662f\u5426\u4e0e\u539f\u76ee\u5f55\u4e00\u81f4\uff09\necho \"\u539f\u76ee\u5f55\u6587\u4ef6\u6570\uff1a$(sudo find \/var\/lib\/docker -type f | wc -l)\"\necho \"\u65b0\u76ee\u5f55\u6587\u4ef6\u6570\uff1a$(sudo find \/home\/var\/lib\/docker -type f | wc -l)\"<\/code><\/pre>\n\n\n\n<p>5\u3001\u91cd\u547d\u540d\u539f\u76ee\u5f55\uff08\u5907\u4efd\uff09<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mv \/var\/lib\/docker \/var\/lib\/docker.old<\/code><\/pre>\n\n\n\n<p>6\u3001\u91cd\u542fdocker\u5e76\u68c0\u67e5\u6302\u8f7d\u95ee\u9898<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u91cd\u65b0\u52a0\u8f7dsystemd\u914d\u7f6e\uff08\u4fee\u6539service\u6587\u4ef6\u540e\u5fc5\u987b\u6267\u884c\uff09\nsudo systemctl daemon-reload\n\n# \u542f\u52a8docker\u670d\u52a1\nsudo systemctl start docker\n\n# \u542f\u52a8docker.socket\uff08\u82e5\u4e4b\u524d\u505c\u6b62\u8fc7\uff09\nsudo systemctl start docker.socket\n\n# \u67e5\u770b\u78c1\u76d8\u6302\u8f7d\u60c5\u51b5\uff0c\u68c0\u67e5\u662f\u5426\u6709\/var\/lib\/docker.old\u7684\u6302\u8f7d\ndf -h | grep \"docker.old\"<\/code><\/pre>\n\n\n\n<p>7\u3001\u5904\u7406 overlay \u6302\u8f7d\u6b8b\u7559\uff08\u5173\u952e\u6b65\u9aa4\uff09<\/p>\n\n\n\n<p>\u5982\u679c <code>df -h<\/code> \u663e\u793a <code>\/var\/lib\/docker.old<\/code> \u4ecd\u88ab overlay \u6302\u8f7d\uff0c\u6267\u884c\u4ee5\u4e0b\u64cd\u4f5c\u5378\u8f7d\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># 1. \u5148\u505c\u6b62\u6240\u6709\u8fd0\u884c\u4e2d\u7684\u5bb9\u5668\nsudo docker stop $(sudo docker ps -aq)\n\n# 2. \u5378\u8f7d\u6240\u6709\u5173\u8054\u5230docker.old\u7684\u6302\u8f7d\u5377\uff08-l \u8868\u793a\u61d2\u5378\u8f7d\uff0c\u5f3a\u5236\u89e3\u9664\u6302\u8f7d\uff09\nsudo cat \/proc\/mounts | grep \"\/var\/lib\/docker.old\" | awk '{print $2}' | while read line; do\n    sudo umount -l $line\ndone\n\n# 3. \u9a8c\u8bc1\u6302\u8f7d\u662f\u5426\u5df2\u5378\u8f7d\ndf -h | grep \"docker.old\" || echo \"\u5df2\u65e0docker.old\u6302\u8f7d\"\n\n# 4. \u91cd\u65b0\u542f\u52a8docker\nsudo systemctl restart docker<\/code><\/pre>\n\n\n\n<p>8\u3001\u6700\u7ec8\u9a8c\u8bc1<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u68c0\u67e5docker\u72b6\u6001\nsudo systemctl status docker\n\n# \u68c0\u67e5docker\u6570\u636e\u76ee\u5f55\u914d\u7f6e\uff08\u663e\u793a\u5e94\u4e3a\/home\/var\/lib\/docker\uff09\nsudo docker info | grep \"Docker Root Dir\"\n\n# \u8fd0\u884c\u4e00\u4e2a\u6d4b\u8bd5\u5bb9\u5668\uff0c\u9a8c\u8bc1\u6570\u636e\u5199\u5165\u65b0\u76ee\u5f55\nsudo docker run --rm alpine echo \"\u8fc1\u79fb\u6210\u529f\uff01\"<\/code><\/pre>\n\n\n\n<p>9\u3001\u4fee\u6539docker\u7684data-root\u7684\u7b80\u6613\u6d41\u7a0b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>service docker stop\nmkdir -p \/data\/var\/lib\/docker\nrsync -avzP \/var\/lib\/docker\/ \/data\/var\/lib\/docker\/\nvim \/etc\/docker\/daemon.json\n{\n\"data-root\": \"\/data\/var\/lib\/docker\"\n}\n\nservice docker start<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>1\u3001\u51c6\u5907\u76ee\u6807\u76ee\u5f55 2\u3001\u505c\u6b62docker\u76f8\u5173\u670d\u52a1 3\u3001\u4fee\u6539docker\u914d\u7f6e\u6587\u4ef6 4\u3001\u540c\u6b65\u6570\u636e\u5230\u65b0\u76ee\u5f55\uff08\u4f7f\u7528 rsync\uff09 5\u3001\u91cd\u547d\u540d\u539f\u76ee\u5f55\uff08\u5907\u4efd\uff09 6\u3001\u91cd\u542fdocker\u5e76\u68c0\u67e5\u6302\u8f7d\u95ee\u9898 7\u3001\u5904\u7406 overlay \u6302\u8f7d\u6b8b\u7559\uff08\u5173\u952e\u6b65\u9aa4\uff09 \u5982\u679c df -h \u663e\u793a \/var\/lib\/docker.old \u4ecd\u88ab overlay \u6302\u8f7d\uff0c\u6267\u884c\u4ee5\u4e0b\u64cd\u4f5c\u5378\u8f7d\uff1a 8\u3001\u6700\u7ec8\u9a8c\u8bc1 9\u3001\u4fee\u6539docker\u7684data-root\u7684\u7b80\u6613\u6d41\u7a0b<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-217","post","type-post","status-publish","format-standard","hentry","category-dockerkubernetes"],"_links":{"self":[{"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/217","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=217"}],"version-history":[{"count":3,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/217\/revisions"}],"predecessor-version":[{"id":220,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/217\/revisions\/220"}],"wp:attachment":[{"href":"https:\/\/opshub.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=217"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=217"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=217"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}