{"id":327,"date":"2026-03-02T18:23:12","date_gmt":"2026-03-02T10:23:12","guid":{"rendered":"https:\/\/blog.xyytoy.vip\/?p=327"},"modified":"2026-06-02T21:13:14","modified_gmt":"2026-06-02T13:13:14","slug":"docker%e5%85%a5%e9%97%a8","status":"publish","type":"post","link":"https:\/\/blog.xyytoy.vip\/?p=327","title":{"rendered":"Docker\u5165\u95e8"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">\u4ec0\u4e48\u662f\u5bb9\u5668<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5bb9\u5668\u6280\u672f\u5e76\u4e0d\u662f\u4e00\u4e2a\u5168\u65b0\u7684\u6982\u5ff5\uff0c\u5b83\u53c8\u79f0\u4e3a\u5bb9\u5668\u865a\u62df\u5316\u3002\u663e\u7136\u5b83\u662f\u865a\u62df\u5316\u6280\u672f\u4e2d\u7684\u4e00\u79cd\u3002\u865a\u62df\u5316\u6280\u672f\u76ee\u524d\u4e3b\u8981\u6709\u786c\u4ef6\u865a\u62df\u5316\u3001\u534a\u865a\u62df\u5316\u548c\u64cd\u4f5c\u7cfb\u7edf\u865a\u62df\u5316\u7b49\u3002\u672c\u4e66\u8bb2\u8ff0\u7684\u5bb9\u5668\u865a\u62df\u5316\u5c5e\u4e8e\u64cd\u4f5c\u7cfb\u7edf\u865a\u62df \u5316\uff0c\u5176\u76f8\u8f83\u4e8e\u5176\u4ed6\u4e3b\u6d41\u865a\u62df\u5316\u6280\u672f\u66f4\u8f7b\u91cf\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u4ec0\u4e48\u662fDocker<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Docker\u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u5e94\u7528\u5bb9\u5668\u5f15\u64ce\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u6253\u5305\u4ed6\u4eec\u7684\u5e94\u7528\u4ee5\u53ca\u4f9d\u8d56\u5305\u5230\u4e00\u4e2a\u53ef\u79fb\u690d\u7684\u5bb9\u5668\u4e2d\uff0c\u7136\u540e\u53d1\u5e03\u5230\u4e3b\u6d41\u7684Linux\/macOS\/Windows\u673a\u5668\u4e0a\uff0c\u5b9e\u73b0\u865a\u62df\u5316\u3002 Docker\u662f\u4e00\u4e2a\u91cd\u65b0\u5b9a\u4e49\u4e86\u7a0b\u5e8f\u5f00\u53d1\u6d4b\u8bd5\u3001\u4ea4\u4ed8\u548c\u90e8\u7f72\u8fc7\u7a0b\u7684\u5f00\u653e\u5e73\u53f0\u3002\u5728Docker\u7684\u4e16\u754c\u91cc\uff0c\u5bb9\u5668\u5c31\u662f\u96c6\u88c5\u7bb1\uff0c\u6211\u4eec\u7684\u4ee3\u7801\u90fd\u88ab\u6253\u5305\u5230\u96c6\u88c5\u7bb1\u91cc\uff1bDocker\u5c31\u662f\u96c6\u8239\u575e\u3001\u8d27\u8f6e\u3001\u88c5\u5378\u3001\u642c\u8fd0\u4e8e\u4e00\u4f53\u7684\u5e73 \u53f0\uff0c\u5e2e\u4f60\u628a\u5e94\u7528\u8f6f\u4ef6\u8fd0\u8f93\u5230\u4e16\u754c\u5404\u5730\uff0c\u5e76\u8fc5\u901f\u90e8\u7f72\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e3a\u4ec0\u4e48\u9009\u62e9Docker<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Docker\u4f5c\u4e3a\u4e00\u79cd\u65b0\u5174\u7684\u865a\u62df\u5316\u65b9\u5f0f\uff0c\u4e0e\u4f20\u7edf\u7684\u865a\u62df\u5316\u65b9\u5f0f\u76f8\u6bd4\u4f18\u52bf\u660e\u663e\u3002 \u9996\u5148\uff0cDocker\u5bb9\u5668\u7684\u542f\u52a8\u53ef\u4ee5\u5728\u79d2\u7ea7\u5b9e\u73b0\uff0c\u8fd9\u76f8\u6bd4\u4f20\u7edf\u7684\u865a\u62df\u673a\u65b9\u5f0f\u8981\u5feb\u5f97\u591a\u3002\u5176\u6b21\uff0cDocker\u5bf9\u7cfb\u7edf\u8d44\u6e90\u7684\u5229\u7528\u7387\u5f88\u9ad8\uff0c\u4e00\u53f0\u666e\u901a\u7684\u4e3b\u673a\u4e0a\u53ef\u4ee5\u540c\u65f6\u8fd0\u884c\u6570\u5343\u4e2aDocker\u5bb9\u5668\u3002 \u5bb9\u5668\u9664\u4e86\u8fd0\u884c\u5176\u4e2d\u5e94\u7528\u5916\uff0c\u57fa\u672c\u4e0d\u6d88\u8017\u989d\u5916\u7684\u7cfb\u7edf\u8d44\u6e90\uff0c\u4f7f\u5f97\u5e94\u7528\u7684\u6027\u80fd\u5f88\u9ad8\uff0c\u540c\u65f6\u7cfb\u7edf\u7684\u5f00\u9500\u5c3d\u91cf\u5c0f\u3002\u4f20\u7edf\u865a\u62df\u673a\u65b9\u5f0f\u8fd0\u884c10\u4e2a\u4e0d\u540c\u7684\u5e94\u7528\u5c31\u8981\u542f\u52a810\u4e2a\u865a\u62df\u673a\uff0c\u800cDocker\u53ea\u9700\u8981\u542f\u52a810\u4e2a\u9694\u79bb\u7684 \u5e94\u7528\u5373\u53ef\u3002 \u5bf9\u5f00\u53d1\u548c\u8fd0\u7ef4\u4eba\u5458\u6765\u8bf4\uff0c\u6700\u5e0c\u671b\u7684\u5c31\u662f\u4e00\u6b21\u521b\u5efa\u6216\u914d\u7f6e\uff0c\u53ef\u4ee5\u5728\u4efb\u610f\u5730\u65b9\u6b63\u5e38\u8fd0\u884c\u3002\u5f00\u53d1\u4eba\u5458\u4f7f\u7528\u4e00\u4e2a\u6807\u51c6\u7684\u955c\u50cf\u6765\u6784\u5efa\u4e00\u5957\u5f00\u53d1\u5bb9\u5668\uff0c\u5f00\u53d1\u5b8c\u6210\u4e4b\u540e\uff0c\u8fd0\u7ef4\u4eba\u5458\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u8fd9\u4e2a\u5bb9\u5668\u6765\u90e8\u7f72\u4ee3\u7801\u3002 \u800c\u8fd9\u6b63\u662fDocker\u53ef\u4ee5\u505a\u5230\u7684\uff0cDocker\u5bb9\u5668\u7684\u8fd0\u884c\u4e0d\u9700\u8981\u989d\u5916\u7684hypervisor\u652f\u6301\uff0c\u5b83\u662f\u5185\u6838\u7ea7\u7684\u865a\u62df\u5316\uff0c\u56e0\u6b64\u53ef\u4ee5\u5b9e\u73b0\u66f4\u9ad8\u7684\u6027\u80fd\u548c\u6548\u7387\u3002 Docker\u5bb9\u5668\u51e0\u4e4e\u53ef\u4ee5\u5728\u4efb\u610f\u7684\u5e73\u53f0\u4e0a\u8fd0\u884c\uff0c\u5305\u62ec\u7269\u7406\u673a\u3001\u865a\u62df\u673a\u3001\u516c\u6709\u4e91\u3001\u79c1\u6709\u4e91\u3001\u4e2a\u4eba\u8ba1\u7b97\u673a\u3001\u670d\u52a1\u5668\u7b49\u3002\u8fd9\u79cd\u517c\u5bb9\u6027\u53ef\u4ee5\u8ba9\u7528\u6237\u628a\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\u4ece\u4e00\u4e2a\u5e73\u53f0\u76f4\u63a5\u8fc1\u79fb\u5230\u53e6\u5916\u4e00\u4e2a\u5e73\u53f0\u4e0a\u3002\u4f7f\u7528 Docker\uff0c\u53ea\u9700\u8981\u5c0f\u5c0f\u7684\u4fee\u6539\uff0c\u5c31\u53ef\u4ee5\u66ff\u4ee3\u4ee5\u5f80\u5927\u91cf\u7684\u66f4\u65b0\u5de5\u4f5c\u3002\u6240\u6709\u7684\u4fee\u6539\u90fd\u4ee5\u589e\u91cf\u7684\u65b9\u5f0f\u88ab\u5206\u53d1\u548c\u66f4\u65b0\uff0c\u4ece\u800c\u5b9e\u73b0\u81ea\u52a8\u5316\u5e76\u4e14\u9ad8\u6548\u7684\u7ba1\u7406\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Docker\u4e0e\u865a\u62df\u673a\u7684\u533a\u522b<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u865a\u62df\u673a\u548cDocker\u6700\u660e\u663e\u7684\u5dee\u522b\u662f\u865a\u62df\u673a\u9700\u8981\u5b89\u88c5\u64cd\u4f5c\u7cfb\u7edf\uff08\u5b89\u88c5Guest OS\uff09\u624d\u80fd\u6267\u884c\u5e94\u7528\u7a0b\u5e8f\uff0c\u800cDocker\u5185\u4e0d\u9700\u8981\u5b89\u88c5\u64cd\u4f5c\u7cfb\u7edf\u3002Docker\u6280\u672f\u4e0d\u662f\u5728OS\u5916\u6765\u5efa\u7acb\u865a\u62df\u73af\u5883\uff0c\u800c\u662f\u5728OS\u5185\u7684\u6838\u5fc3\u7cfb\u7edf \u5c42\u6765\u6253\u9020\u865a\u62df\u6267\u884c\u73af\u5883\uff0c\u901a\u8fc7\u5171\u4eab\u5bbf\u4e3b\u673aOS\u7684\u505a\u6cd5\uff0c\u53d6\u4ee3\u4e00\u4e2a\u4e00\u4e2aGuest OS\u7684\u529f\u7528\u3002Docker\u4e5f\u56e0\u6b64\u88ab\u79f0\u4e3a\u662f\u64cd\u4f5c\u7cfb\u7edf\u865a\u62df\u5316\u6280\u672f\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Docker\u5bb9\u5668<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728Docker\u7684\u4e16\u754c\u4e2d\uff0c\u5bb9\u5668\u662f\u4e00\u4e2a\u6838\u5fc3\uff0c\u5bb9\u5668\u662f\u4e00\u4e2a\u57fa\u4e8eDocker\u955c\u50cf\u521b\u5efa\uff0c\u5305\u542b\u4e3a\u4e86\u8fd0\u884c\u67d0\u4e00\u7279\u5b9a\u7a0b\u5e8f\u6240\u6709\u9700\u8981\u7684OS\u3001\u8f6f\u4ef6\u3001\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\uff0c\u662f\u4e00\u4e2a\u53ef\u79fb\u690d\u7684\u8fd0\u884c\u5355\u5143\u3002\u4e0d\u8fc7\u5728\u5bbf\u4e3b\u673a\u770b\u6765\uff0c\u5b83\u53ea\u662f \u4e00\u4e2a\u7b80\u5355\u7684\u7528\u6237\u8fdb\u7a0b\u800c\u5df2\u3002\u5173\u4e8e\u5bb9\u5668\u7684\u77e5\u8bc6\uff0c\u5728\u7b2c8\u7ae0\u4f1a\u6709\u8be6\u7ec6\u4ecb\u7ecd\uff0c\u5728\u8fd9\u91cc\u8bfb\u8005\u53ea\u9700\u8981\u77e5\u9053\u5bb9\u5668\u662f\u4ece\u955c\u50cf\u521b\u5efa\u7684\u8fd0\u884c\u5b9e\u4f8b\uff0c\u5b83\u662f\u72ec\u7acb\u7684\u4e00\u4e2a\u6c99\u76d2\u5373\u53ef\u3002 \u5bb9\u5668\u5f88\u597d\u5730\u8be0\u91ca\u4e86\u96c6\u88c5\u7bb1\u7684\u7406\u5ff5\uff0c\u5f00\u53d1\u4eba\u5458\u4e0d\u7528\u5173\u5fc3\u5bb9\u5668\u5185\u90e8\u662f\u4ec0\u4e48\u5e94\u7528\uff0c\u53ea\u7ba1\u4f20\u8f93\u3001\u8fd0\u884c\u5373\u53ef\uff0c\u8fd9\u662f\u4e00\u79cd\u6807\u51c6\u5316\u7684\u96c6\u88c5\u548c\u8fd0\u8f93\u65b9\u5f0f\uff0c\u6b63\u662f\u56e0\u4e3aDocker\u628a\u5bb9\u5668\u6280\u672f\u8fdb\u884c\u4e86\u4f53\u9a8c\u53cb\u597d\u7684\u5c01\u88c5\uff0c\u624d\u4f7f\u5f97\u5bb9\u5668 \u6280\u672f\u8fc5\u901f\u63a8\u5e7f\u666e\u53ca\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Docker\u4ed3\u5e93<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u76f8\u4fe1\u5927\u5bb6\u5bf9Github\u8fd9\u4e2a\u7f51\u7ad9\u4e0d\u4f1a\u964c\u751f\uff0cGithub\u4e0a\u6709\u7740\u6d77\u91cf\u7684\u4ee3\u7801\u4ed3\u5e93\uff0c\u7c7b\u4f3c\u7684\uff0c\u5728Docker\u4e2d\uff0c\u5f53\u5f00\u53d1\u8005\u60f3\u8981\u6784\u5efa\u4e00\u4e2a\u955c\u50cf\u6216\u8fd0\u884c\u4e00\u4e2a\u5bb9\u5668\u65f6\uff0c\u4e00\u822c\u8981\u5148\u6709\u4e00\u4e2a\u73b0\u6210\u7684\u955c\u50cf\u624d\u53ef\u4ee5\u6267\u884c\u6784\u5efa\u6216\u8005\u8fd0\u884c\uff0c \u800c\u672c\u5730\u53c8\u6ca1\u6709\u8be5\u7279\u5b9a\u955c\u50cf\u65f6\u600e\u4e48\u529e\u5462\uff1fDocker\u63d0\u51fa\u4e86Registry\u7684\u6982\u5ff5\uff0c\u7528\u6237\u53ef\u4ee5\u4e0a\u4f20\u81ea\u5df1\u7684\u955c\u50cf\u5230Registry\u4e0a\uff0c\u5982\u679c\u662f\u516c\u5f00\u7684\uff0c\u90a3\u4e48\u5168\u4e16\u754c\u7684\u7528\u6237\u90fd\u53ef\u4ee5\u62c9\u53d6\u8fd9\u4e2a\u955c\u50cf\u6765\u64cd\u4f5c\uff0c\u53ef\u4ee5\u8bf4Registry\u5c31\u662f\u4e00\u4e2a\u201c\u8f6f \u4ef6\u5546\u5e97\u201d\u3002\u7c7b\u6bd4\u4f20\u7edf\u8fd0\u8f93\u4e1a\uff0cRegistry\u7c7b\u4f3c\u4e00\u79cd\u8239\u575e\u3001\u4e2d\u8f6c\u7ad9\u4e00\u6837\uff0c\u662f\u4e00\u4e2a\u96c6\u4e2d\u5b58\u653e\u201c\u96c6\u88c5\u7bb1\u201d\uff08\u955c\u50cf\uff09\u7684\u5730\u65b9\u3002 Docker\u5b98\u65b9\u7684Registry\u5730\u5740\u662f<a href=\"https:\/\/hub.docker.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/hub.docker.com\/<\/a>\u3002 \u9664\u4e86\u8fd9\u4e2a\u5b98\u65b9\u7684\u5730\u5740\uff0c\u7528\u6237\u8fd8\u53ef\u4ee5\u642d\u5efa\u81ea\u5df1\u7684\u79c1\u6709Registry\u7528\u6765\u5b58\u50a8\u975e\u516c\u5f00\u7684\u955c\u50cf\u7b49\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5b89\u88c5Docker<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Linux\u7cfb\u7edf<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Docker\u57fa\u4e8eLinux\u5bb9\u5668\u6280\u672f\uff0c\u9762\u5411\u670d\u52a1\u5668\u7aef\uff0c\u6240\u4ee5\u5bf9Linux\u7684\u652f\u6301\u65e0\u7591\u662f\u6700\u597d\u7684\uff0c\u4e3b\u6d41\u7684Linux\u7cfb\u7edf\u90fd\u53ef\u4ee5\u5b89\u88c5Docker\u3002 Docker\u53ea\u80fd\u5b89\u88c5\u8fd0\u884c\u572864\u4f4d\u8ba1\u7b97\u673a\u4e0a\uff08\u793e\u533a\u6709\u5bf932\u4f4d\u7684\u652f\u6301\uff09\uff0cLinux\u5185\u6838\u7248\u672c\u5fc5\u987b\u5927\u4e8e3.10\uff0c\u5185\u6838\u5c0f\u4e8e3.10\u7684\u7cfb\u7edf\u4f1a\u56e0\u4e3a\u7f3a\u5c11Docker\u5bb9\u5668\u8fd0\u884c\u6240\u9700\u7684\u529f\u80fd\u800c\u6709\u9519\u8bef\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e00\u952e\u5b89\u88c5\u811a\u672c<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Docker\u5b98\u65b9\u63d0\u4f9b\u4e86\u4fbf\u6377\u7684\u5b89\u88c5\u811a\u672c\uff0c\u901a\u8fc7\u811a\u672c\u81ea\u52a8\u5b8c\u6210\u5b89\u88c5\u3002\u5b98\u7f51\u811a\u672c\u4e00\u5171\u67093\u79cd\u7248\u672c\u4f9b\u7528\u6237\u9009\u62e9\uff0c\u5206\u522b\u662f\u6700\u65b0\u7684\u7a33\u5b9a\u7248\u672c\u3001\u6d4b\u8bd5\u7248\u672c\u548c\u5b9e\u9a8c\u7248\u672c\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uff081\uff09\u5b89\u88c5\u7a33\u5b9a\u7248\u672c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> curl -sSL https:\/\/get.docker.com\/ | sh  <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6216\u8005<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>  wget -qO- https:\/\/get.docker.com\/ | sh <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uff082\uff09\u5b89\u88c5\u6d4b\u8bd5\u7248\u672c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>  curl -fsSL https:\/\/test.docker.com\/ | sh <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6216\u8005<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>  wget -qO- https:\/\/test.docker.com\/ | sh <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uff083\uff09\u5b89\u88c5\u5b9e\u9a8c\u7248\u672c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>  curl -fsSL https:\/\/experimental.docker.com\/ | sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6216\u8005<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> wget -qO- https:\/\/experimental.docker.com\/ | sh <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u679c\u811a\u672c\u5728\u7528\u6237\u7684Linux\u673a\u5668\u4e0a\u65e0\u6cd5\u8fd0\u884c\uff0c\u6216\u8005\u51fa\u73b0\u5176\u4ed6\u9519\u8bef\uff0c\u53ef\u4ee5\u7ee7\u7eed\u5f80\u4e0b\u770b\uff0c\u4e0b\u6587\u6709\u975e\u811a\u672c\u7684\u624b\u52a8\u5b89\u88c5\u6559\u7a0b\u3002 \u5982\u679c\u5b89\u88c5\u65f6\u51fa\u73b0\u5982\u4e0b\u6ca1\u6709aufs\u7684\u63d0\u793a\uff0c\u7528\u6237\u53ef\u4ee5\u5b89\u88c5\u5185\u6838\u6269\u5c55\uff08Ubuntu\u7cfb\u5217\uff09\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>  sudo apt-get install linux-image-extra-'uname -r'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6216\u8005\u81ea\u5df1\u4e0b\u8f7daufs\u7f16\u8bd1\u5b89\u88c5\uff0c\u518d\u6216\u8005\u7b49\u5f8510\u79d2\uff0c\u5b89\u88c5\u811a\u672c\u4f1a\u4f7f\u7528\u66ff\u4ee3\u65b9\u6848\u5b89\u88c5Docker\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> sudo curl -sSL https:\/\/get.docker.com\/ | sh <\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>modprobe: FATAL: Module aufs not found in directory \/lib\/modules\/ 4.4.0-2-**-amd64<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code> Warning: current kernel is not supported by the linux-image-extra-virtual <\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>package. We have no AUFS support. Consider installing the packages <\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>linux-image-virtual kernel and linux-image-extra-virtual for AUFS support. <\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>+ sleep 10 <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5177\u4f53\u53d1\u884c\u7248\u5b89\u88c5\u4f1a\u6709\u7ec6\u5c0f\u5dee\u522b\uff0c\u5982\u679c\u4e0d\u80fd\u5b8c\u6210\u81ea\u52a8\u5b89\u88c5\u53ef\u4ee5\u4f7f\u7528\u4e0b\u9762\u65b9\u6cd5\u624b\u52a8\u5b89\u88c5Docker\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Debian\u53d1\u884c\u7248<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u524d\u9762\u6240\u8bf4\uff0c\u5b89\u88c5\u524d\u786e\u4fdd\u673a\u5668\u4e3a64\u4f4d\u8ba1\u7b97\u673a\uff0c\u5e76\u4e14Linux\u5185\u6838\u57283.10\u4ee5\u4e0a<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u67e5\u770b\u5185\u6838\u7248\u672c<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u8981\u67e5\u770b\u5f53\u524d\u7684\u5185\u6838\u7248\u672c\uff0c\u53ea\u9700\u8981\u6253\u5f00\u4e00\u4e2a\u7ec8\u7aef\uff0c\u4f7f\u7528uname-r\u67e5\u770b\u5185\u6838\u7248\u672c\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>uname -r <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">3.13.0-85-generic<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u679c\u5185\u6838\u7248\u672c\u4e0d\u8fbe\u5230\u8981\u6c42\uff0c\u9700\u8981\u5347\u7ea7\u5185\u6838\u3002\u76ee\u524dDebian\u4e00\u822c\u90fd\u4e0d\u7528\u5347\u7ea7\u5185\u6838\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get update <\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get dist-upgrade<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo reboot <\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u66f4\u65b0APT\u6e90<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u6253\u5f00\u4e00\u4e2a\u7ec8\u7aef\uff0c\u5b89\u88c5apt-transport-https\u5305\uff0c\u4f7f\u5f97APT\u652f\u6301HTTPS\u534f\u8bae\u7684\u6e90\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get update &amp;&amp; sudo apt-get install apt-transport-https ca-certificates <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6dfb\u52a0Docker\u6e90\u7684gpg\u5bc6\u94a5\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-key adv --keyserver hkp:\/\/p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D <\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u6dfb\u52a0Docker\u7684\u5b98\u65b9APT\u8f6f\u4ef6\u6e90<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Debian\u6bcf\u6b21\u53d1\u884c\u90fd\u6709\u4e00\u4e2a\u4ee3\u53f7\uff0c\u4f7f\u7528\u4e0b\u9762\u547d\u4ee4\u53ef\u67e5\u770b\u5f53\u524d\u64cd\u4f5c\u7cfb\u7edf\u7684\u4ee3\u53f7\u3002\u8fd9\u91cc\u4ee5Debian 8.0\u4e3a\u4f8b\uff0c\u8fd4\u56de\u7684\u7cfb\u7edf\u4ee3\u53f7\u662fwheezy\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>lsb_release -c <\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>Codename: jessie <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u00b7Debian testing\u4ee3\u53f7\u4e3astretch\/Sid\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00b7Debian 8.0\u4ee3\u53f7\u4e3aJessie\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00b7Debian 7.7\u4ee3\u53f7\u4e3aWheezy\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u83b7\u5f97\u7cfb\u7edf\u4ee3\u53f7\u4e4b\u540e\uff0c\u901a\u8fc7\u547d\u4ee4\u521b\u5efa\/etc\/apt\/sources.list.d\/docker.list\u6587\u4ef6\uff08\u5982\u679c\u4e0d\u5b58\u5728\u5c31\u65b0\u5efa\uff09\uff0c\u5e76\u5199\u5165\u6e90\u7684\u5730\u5740\u5185\u5bb9\u3002\u6ce8\u610f\u4fee\u6539\u4e3a\u81ea\u5df1\u64cd\u4f5c\u7cfb\u7edf\u5bf9\u5e94\u7684\u4ee3\u53f7\u3002 \u521b\u5efa\/etc\/apt\/sources.list.d\/docker.list\u6587\u4ef6\uff08\u8fd9\u91cc\u4f7f\u7528\u7f16\u8f91\u5668Vim\uff0c\u5982\u679c\u4e0d\u719f\u6089Vim\u7684\u64cd\u4f5c\uff0c\u8bfb\u8005\u53ef\u4ee5\u9009\u62e9\u81ea\u5df1\u559c\u6b22\u7684\u7f16\u8f91\u5668\u8fdb\u884c\u7f16\u8f91\uff09\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo vim \/etc\/apt\/sources.list.d\/docker.list <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Debian Wheezy\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>deb https:\/\/apt.dockerproject.org\/repo debian-wheezy main <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Debian Jessie\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>deb https:\/\/apt.dockerproject.org\/repo debian-jessie main<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Debian Stretch\/Sid\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>deb https:\/\/apt.dockerproject.org\/repo debian-stretch main <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6dfb\u52a0\u6210\u529f\u540e\uff0c\u66f4\u65b0APT\u8f6f\u4ef6\u5305\u7f13\u5b58\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get update <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6821\u9a8c\u8f6f\u4ef6\u5305\u7f13\u5b58\u7ed3\u679c\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt-cache policy docker-engine <\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u5b89\u88c5Docker<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b89\u88c5Docker\u4e4b\u524d\uff0c\u5982\u679c\u7528\u6237\u4ee5\u524d\u88c5\u8fc7Docker\uff0c\u90a3\u4e48\u9700\u8981\u5148\u5b8c\u5168\u5378\u8f7dDocker\u518d\u5b89\u88c5\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt-get purge \"lxc-docker*\" <\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>apt-get purge \"docker.io*\" <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e00\u5207\u6ca1\u95ee\u9898\u4e4b\u540e\uff0c\u6267\u884c\u5b89\u88c5\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get install docker-engine <\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u542f\u52a8Docker<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo service docker start <\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u786e\u8ba4Docker\u8fd0\u884c\u6b63\u5e38<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo docker run --rm hello-world <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd4\u56deHelo World\u8868\u793a\u8fd0\u884c\u6b63\u5e38\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ubuntu\u53d1\u884c\u7248<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Docker\u76ee\u524d\u652f\u6301\u7684\u6700\u4f4eUbuntu\u7248\u672c\u4e3a12.04LTS\uff0c\u4f46\u63a8\u8350\u7528\u6237\u81f3\u5c11\u4f7f\u752814.04LTS\u7248\u672c\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u67e5\u770b\u5185\u6838\u7248\u672c<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u8981\u67e5\u770b\u5f53\u524d\u7684\u5185\u6838\u7248\u672c\uff0c\u53ea\u9700\u8981\u6253\u5f00\u4e00\u4e2a\u7ec8\u7aef\uff0c\u4f7f\u7528uname-r\u67e5\u770b\u5185\u6838\u7248\u672c\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>uname -r <\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>3.13.0-85-generic <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u679c\u5185\u6838\u7248\u672c\u4e0d\u8fbe\u5230\u8981\u6c42\uff0c\u9700\u8981\u5347\u7ea7\u5185\u6838\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get update <\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get install -y linux-images-generic-lts-raring linux-headers- generic-lts-raring <\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo reboot <\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u66f4\u65b0APT\u6e90<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u6253\u5f00\u4e00\u4e2a\u7ec8\u7aef\uff0c\u5b89\u88c5apt-transport-https\u5305\uff0c\u4f7f\u5f97APT\u652f\u6301HTTPS\u534f\u8bae\u7684\u6e90\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get update &amp;&amp; sudo apt-get install apt-transport-https ca-certificates <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6dfb\u52a0Docker\u6e90\u7684gpg\u5bc6\u94a5\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-key adv --keyserver hkp:\/\/p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D <\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u6dfb\u52a0Docker\u7684\u5b98\u65b9APT\u8f6f\u4ef6\u6e90<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ubuntu\/Debian\u6bcf\u6b21\u53d1\u884c\u90fd\u6709\u4e00\u4e2a\u4ee3\u53f7\uff0c\u4f7f\u7528\u4e0b\u9762\u547d\u4ee4\u53ef\u67e5\u770b\u5f53\u524d\u64cd\u4f5c\u7cfb\u7edf\u7684\u4ee3\u53f7\u3002\u8fd9\u91cc\u4ee5Ubuntu 14.04\u4e3a\u4f8b\uff0c\u8fd4\u56de\u7684\u7cfb\u7edf\u4ee3\u53f7\u662ftrusty\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>lsb_release -c <\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>Codename: trusty <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u00b7Ubuntu 12.04(LTS)\u4ee3\u53f7\u4e3aprecise\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00b7Ubuntu 14.04(LTS)\u4ee3\u53f7\u4e3atrusty\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00b7Ubuntu 15.04\u4ee3\u53f7\u4e3avivid\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00b7Ubuntu 15.10\u4ee3\u53f7\u4e3awily\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00b7Ubuntu 16.04(LTS)\u4ee3\u53f7\u4e3axenial\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u83b7\u5f97\u7cfb\u7edf\u4ee3\u53f7\u4e4b\u540e\uff0c\u901a\u8fc7\u547d\u4ee4\u521b\u5efa\/etc\/apt\/sources.list.d\/docker.list\u6587\u4ef6\uff08\u5982\u679c\u4e0d\u5b58\u5728\u5c31\u65b0\u5efa\uff09\uff0c\u5e76\u5199\u5165\u6e90\u7684\u5730\u5740\u5185\u5bb9\u3002\u6ce8\u610f\u4fee\u6539\u4e3a\u81ea\u5df1\u64cd\u4f5c\u7cfb\u7edf\u5bf9\u5e94\u7684\u4ee3\u53f7\u3002 \u521b\u5efa\/etc\/apt\/sources.list.d\/docker.list\u6587\u4ef6\uff08\u8fd9\u91cc\u4f7f\u7528\u7f16\u8f91\u5668Vim\uff0c\u5982\u679c\u4e0d\u719f\u6089Vim\u7684\u64cd\u4f5c\uff0c\u53ef\u4ee5\u9009\u62e9\u81ea\u5df1\u559c\u6b22\u7f16\u8f91\u5668\u8fdb\u884c\u7f16\u8f91\uff09\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo vim \/etc\/apt\/sources.list.d\/docker.list <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ubuntu 12.04(LTS)\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>deb https:\/\/apt.dockerproject.org\/repo ubuntu-precise main <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ubuntu 14.04(LTS\u5982\u4e0b)\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>deb https:\/\/apt.dockerproject.org\/repo ubuntu-trusty main <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ubuntu 15.04\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>deb https:\/\/apt.dockerproject.org\/repo ubuntu-vivid main <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ubuntu 15.10\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>deb https:\/\/apt.dockerproject.org\/repo ubuntu-wily main <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ubuntu 16.04(LTS)\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>deb https:\/\/apt.dockerproject.org\/repo ubuntu-xenial main <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6dfb\u52a0\u6210\u529f\u540e\uff0c\u66f4\u65b0APT\u8f6f\u4ef6\u5305\u7f13\u5b58\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get update <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6821\u9a8c\u8f6f\u4ef6\u5305\u7f13\u5b58\u7ed3\u679c\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt-cache policy docker-engine <\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u5b89\u88c5Docker<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u786e\u4fdd\u57fa\u672c\u5b89\u88c5\u6761\u4ef6\u6ee1\u8db3\uff0c\u5982\u679c\u7528\u6237\u4ee5\u524d\u88c5\u8fc7Docker\uff0c\u90a3\u4e48\u9700\u8981\u5148\u5b8c\u5168\u5378\u8f7dDocker\u518d\u5b89\u88c5.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt-get purge \"lxc-docker*\" <\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>apt-get purge \"docker.io*\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u7136\u540e\u518d\u6267\u884c\u5982\u4e0b\u5b89\u88c5\u6b65\u9aa4\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get update <\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get install docker-engine<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u663e\u793a\u5982\u4e0b\u4fe1\u606f\u8bf4\u660e\u5b89\u88c5\u6210\u529f\uff1a<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">+ sudo -E sh -c docker version<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Client:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Version: 1.11.2<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">API version: 1.23<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Go version: go1.5.4<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Git commit: b9f10c9<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Built: Wed Jun 1 22:00:43 2016<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">OS\/Arch: linux\/amd64<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Server:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Version: 1.11.2<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">API version: 1.23<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Go version: go1.5.4<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Git commit: b9f10c9<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Built: Wed Jun 1 22:00:43 2016<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">OS\/Arch: linux\/amd64<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you would like to use Docker as a non-root user, you should now consider<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">adding your user to the &#8220;docker&#8221; group with something like:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sudo usermod -aG docker yourusername<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Remember that you will have to log out and back in for this to take effect\uff01<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">\u542f\u52a8Docker<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo service docker start<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u786e\u8ba4Docker\u8fd0\u884c\u6b63\u5e38<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo docker run --rm hello-world<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd4\u56deHello World\u8868\u793a\u8fd0\u884c\u6b63\u5e38\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e3a\u975eroot\u7528\u6237\u6388\u6743<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u679c\u6ca1\u6709Docker\u7528\u6237\u7ec4\u5c31\u5efa\u7acb\u4e00\u4e2aDocker\u7528\u6237\u7ec4\uff08\u9ed8\u8ba4\u5b89\u88c5\u540e\u81ea\u52a8\u521b\u5efa\uff09\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo groupadd docker<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u589e\u52a0\u5f53\u524d\u7528\u6237\u5230Docker\u7ec4\uff0c\u9700\u8981\u6ce8\u9500\u6765\u751f\u6548\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo gpasswd -a${USER} docker<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u91cd\u542fDocker\u670d\u52a1\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo service docker restart<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd9\u6837\uff0c\u6267\u884cDocker\u547d\u4ee4\u5c31\u4e0d\u5fc5\u4f7f\u7528sudo\u7533\u8bf7\u6743\u9650\u4e86\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Docker Compose<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Compose\u53ef\u8bd1\u4e3a\u7ec4\u5408\u7269\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-12\"><sup>[12]<\/sup><\/a>Compose \u662f\u7528\u4e8e\u5b9a\u4e49\u548c\u8fd0\u884c \u591a\u4e2a\u5bb9\u5668Docker\u5e94\u7528\u7a0b\u5e8f \u7684\u5de5\u5177\u3002\u901a\u8fc7Compose\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528<a href=\"https:\/\/zh.wikipedia.org\/wiki\/YAML\">YAML\u6587\u4ef6<\/a>\u6765\u914d\u7f6e\u5e94\u7528\u7a0b\u5e8f\u9700\u8981\u7684\u6240\u6709\u670d\u52a1\uff0c\u7136\u540e\u901a\u8fc7\u4f7f\u7528\u4e00\u4e2a\u547d\u4ee4\uff0c\u5c31\u53ef\u4ee5\u521b\u5efa\u5e76\u542f\u52a8\u6240\u6709\u670d\u52a1\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-13\"><sup>[13]<\/sup><\/a><a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-14\"><sup>[14]<\/sup><\/a>Compose\u5bf9\u5e94\u7684\u547d\u4ee4\u4e3a<code>docker-compose<\/code>\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-15\"><sup>[15]<\/sup><\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Docker Desktop<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Docker Desktop \u662f\u9002\u7528\u4e8eWindows\u3001Linux\u3001MacOS\u64cd\u4f5c\u7cfb\u7edf\u7684\u4e00\u952e\u5f0f\u5b89\u88c5\u7a0b\u5e8f\uff0c\u63d0\u4f9b\u4e86\u56fe\u5f62\u7528\u6237\u754c\u9762\uff0c\u4fbf\u4e8e\u7ba1\u7406Docker\u7684\u5bb9\u5668\u3001\u955c\u50cf\u4ee5\u53ca\u5e94\u7528\u7b49\u5bf9\u8c61\u3002Docker Desktop\u5305\u542b\u4e86\uff1aDocker Engine\u3001CLI\u3001\u6784\u5efa\u4ee5\u53ca\u6269\u5c55\u7b49\u7ec4\u4ef6\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-16\"><sup>[16]<\/sup><\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Swarm Mode<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5f53\u8bf4\u5230 Docker Swarm \u65f6\uff0c\u4e00\u822c\u662f\u6307\u5355\u72ec\u9879\u76ee Docker Swarm\u3002\u800c\u5728Docker 1.12\u65f6\uff0c\u5c06swarm mode\u96c6\u6210\u5230Docker \u5f15\u64ce\u4e2d\uff0c\u53ef\u7528Docker\u5f15\u64ceAPI \u548c CLI \u547d\u4ee4\u76f4\u63a5\u4f7f\u7528\u3002\u5b98\u65b9\u63a8\u8350\u7528\u6237\u4f7f\u7528\u96c6\u6210\u7684 swarm mode <a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-17\"><sup>[17]<\/sup><\/a>\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Swarm Mode \u5185\u7f6e kv \u5b58\u50a8\u529f\u80fd\uff0c\u63d0\u4f9b\u4e86\u4f17\u591a\u7684\u65b0\u7279\u6027\uff0c\u6bd4\u5982\uff1a\u5177\u6709\u5bb9\u9519\u80fd\u529b\u7684\u53bb\u4e2d\u5fc3\u5316\u8bbe\u8ba1\u3001\u5185\u7f6e\u670d\u52a1\u53d1\u73b0\u3001\u8d1f\u8f7d\u5747\u8861\u3001\u8def\u7531\u7f51\u683c\u3001\u52a8\u6001\u4f38\u7f29\u3001\u6eda\u52a8\u66f4\u65b0\u3001\u5b89\u5168\u4f20\u8f93\u7b49\u3002\u4f7f\u5f97 Docker \u539f\u751f\u7684 <code>Swarm<\/code> \u96c6\u7fa4\u5177\u5907\u4e0e Mesos\u3001<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Kubernetes\">Kubernetes<\/a> \u7ade\u4e89\u7684\u5b9e\u529b\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-18\"><sup>[18]<\/sup><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">cluster\uff08\u4e2d\u6587\uff1a<a href=\"https:\/\/zh.wikipedia.org\/wiki\/%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%9B%86%E7%BE%A4\">\u96c6\u7fa4<\/a>\uff09\uff0cDocker\u5c06\u96c6\u7fa4\u5b9a\u4e49\u4e3a\uff1a\u4e00\u7fa4\u5171\u540c\u4f5c\u4e1a\u5e76\u63d0\u4f9b\u9ad8\u53ef\u7528\u6027\u7684\u673a\u5668<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-#2-5\"><sup>[5]<\/sup><\/a>\u3002swarm\uff08\u4e2d\u6587\uff1a\u7fa4<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-19\"><sup>[19]<\/sup><\/a>\uff09\uff0c\u662f\u6307\u4e00\u4e2a\u96c6\u7fa4\u7684Docker\u5f15\u64ce\u4ee5swarm mode\u5f62\u5f0f\u8fd0\u884c<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-#2-5\"><sup>[5]<\/sup><\/a>\u3002swarm mode\u662f\u6307Docker\u5f15\u64ce\u5185\u5d4c\u7684\u96c6\u7fa4\u7ba1\u7406\u548c\u7f16\u6392\u529f\u80fd\u3002\u5f53\u4f60\u521d\u59cb\u5316\u4e86\u4e00\u4e2aswarm(cluster)\u6216\u8005\u5c06\u8282\u70b9\u52a0\u5165\u4e00\u4e2aswarm\u65f6\uff0c\u5176Docker\u5f15\u64ce\u5c31\u4f1a\u4ee5swarm mode\u7684\u5f62\u5f0f\u8fd0\u884c\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-#2-5\"><sup>[5]<\/sup><\/a><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u539f\u7406<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">swarm\u4e2d\u7684Docker\u673a\u5668\u4e2d\u5206\u4e3a managers\uff08\u7ba1\u7406\u8005\uff09 \u548c workers\uff08\u5458\u5de5\uff09\uff0c\u7ba1\u7406\u8005\u7528\u4e8e\u5904\u7406\u96c6\u7fa4\u7684\u5173\u7cfb\u548c\u59d4\u6d3e\uff0c\u5458\u5de5\u5219\u7528\u4e8e\u6267\u884c swarm\u670d\u52a1\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:3-20\"><sup>[20]<\/sup><\/a>\u5f53\u4f60\u521b\u5efaswarm\u670d\u52a1\u65f6\uff0c\u4f60\u53ef\u4ee5\u4e3a\u5176\u589e\u52a0\u5404\u79cd\u989d\u5916\u7684\u72b6\u6001\uff08\u5982\uff1a\u6570\u91cf\u3001\u7f51\u7edc\u3001\u7aef\u53e3\u3001\u5b58\u50a8\u8d44\u6e90\u7b49\u7b49\uff09\u3002Docker\u4f1a\u53bb\u7ef4\u6301\u7528\u6237\u60f3\u8981\u7684\u72b6\u6001\u3002\u5982\uff1a\u4e00\u4e2a\u5de5\u4f5c\u8282\u70b9\u5982\u679c\u6302\u4e86\uff0c\u90a3\u4e48Docker\u4f1a\u53bb\u628a\u8fd9\u4e2a\u8282\u70b9\u7684\u4efb\u52a1\u7ed9\u53e6\u5916\u4e00\u4e2a\u8282\u70b9\u3002\u6b64\u5904\u7684\u4efb\u52a1\uff08task\uff09\u662f\u6307\uff1a\u88abswarm\u7ba1\u7406\u8005\u7ba1\u7406\u7684\u4e00\u4e2a\u8fd0\u884c\u4e2d\u7684\u5bb9\u5668\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:3-20\"><sup>[20]<\/sup><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">swarm\u670d\u52a1\u6bd4\u5355\u72ec\u5bb9\u5668\u597d\u5728\uff0c\u4fee\u6539swarm\u670d\u52a1\u7684\u914d\u7f6e\u4e4b\u540e\u4e0d\u7528\u91cd\u542f\u3002\u540c\u65f6\uff0cDocker\u4ee5swarm mode\u5f62\u5f0f\u8fd0\u884c\u65f6\uff0c\u4e5f\u53ef\u4ee5\u9009\u62e9\u76f4\u63a5\u542f\u52a8\u5355\u72ec\u7684\u5bb9\u5668\u3002\u53e6\u5916\uff0cswarm mode\u4e0b\uff0c\u4f60\u4e5f\u53ef\u4ee5\u901a\u8fc7 <code>docker stack deploy<\/code> \u4f7f\u7528 Compose file \u90e8\u7f72\u5e94\u7528\u6808\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:3-20\"><sup>[20]<\/sup><\/a><a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-21\"><sup>[21]<\/sup><\/a>swarm\u670d\u52a1\u5206\u4e3a\u4e24\u79cd\uff0c\u4e00\u79cd\u662freplicated services \uff0c\u53ef\u4ee5\u6307\u5b9a\u8282\u70b9\u4efb\u52a1\u7684\u603b\u6570\u91cf\uff1bglobal services\uff0c\u5219\u662f\u6bcf\u4e2a\u8282\u70b9\u90fd\u4f1a\u8fd0\u884c\u4e00\u4e2a\u6307\u5b9a\u4efb\u52a1\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-22\"><sup>[22]<\/sup><\/a>swarm\u7ba1\u7406\u5458\u4f7f\u7528 ingress \u8d1f\u8f7d\u5747\u8861\u4f7f\u670d\u52a1\u53ef\u88ab\u5916\u90e8\u63a5\u89e6\u3002 swarm\u7ba1\u7406\u5458\u4f1a\u81ea\u52a8\u5730\u7ed9\u670d\u52a1\u5206\u914dPublishedPort\uff08\u6216\u8005\u624b\u52a8\u914d\u7f6e\uff09\u3002\u5916\u90e8\u7ec4\u4ef6\uff0c\u5982\u4e91\u8d1f\u8f7d\u5747\u8861\u5668\u80fd\u901a\u8fc7\u96c6\u7fa4\u4e2d\u4efb\u4f55\u8282\u70b9\u4e0a\u7684PublishedPort\u53bb\u63a5\u5165\u670d\u52a1\uff08\u4e0d\u7ba1\u8be5\u670d\u52a1\u662f\u5426\u542f\u52a8\uff09\u3002\u53e6\u5916 swarm mode\u6709\u5185\u90e8DNS\u7ec4\u4ef6\uff0c\u5b83\u4f1a\u4e3a\u6bcf\u4e2a\u670d\u52a1\u5206\u914d\u4e00\u4e2aDNS\u6761\u76ee\u3002swarm\u7ba1\u7406\u5458\u4f7f\u7528 internal load balancing \u53bb\u5206\u53d1\u8bf7\u6c42\u65f6\uff0c\u5c31\u662f\u4f9d\u9760\u8fd9\u4e2aDNS\u7ec4\u4ef6\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-23\"><sup>[23]<\/sup><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">swarm mode\u7684\u529f\u80fd\u662f\u7531swarmkit\uff08\u4e00\u4e2a\u72ec\u7acb\u9879\u76ee\uff09\u63d0\u4f9b\u7684\uff0c\u5b83\u5b9e\u73b0\u4e86Docker\u7684\u7f16\u6392\u5c42\u3002swarm\u53ef\u4ee5\u76f4\u63a5\u88abDocker\u4f7f\u7528\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:3-20\"><sup>[20]<\/sup><\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u6587\u4ef6\u683c\u5f0f<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Docker\u6709\u4e24\u79cd\u6587\u4ef6\u683c\u5f0f\uff0cDockerfile\u548cCompose file\u3002Dockerfile\u5b9a\u4e49\u4e86\u5355\u4e2a\u5bb9\u5668\u7684\u5185\u5bb9\u548c\u542f\u52a8\u65f6\u5019\u7684\u884c\u4e3a\u3002Compose file\u5b9a\u4e49\u4e86\u4e00\u4e2a\u591a\u5bb9\u5668\u5e94\u7528\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-24\"><sup>[24]<\/sup><\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Dockerfile<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Docker \u53ef\u4ee5\u4f9d\u7167 Dockerfile \u7684\u5185\u5bb9\uff0c\u81ea\u52a8\u5316\u5730\u6784\u5efa\u955c\u50cf\u3002 Dockerfile \u662f\u5305\u542b\u7740\u7528\u6237\u60f3\u8981\u5982\u4f55\u6784\u5efa\u955c\u50cf\u7684\u6240\u6709\u547d\u4ee4\u7684\u6587\u672c\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-25\"><sup>[25]<\/sup><\/a><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>FROM ubuntu:18.04\nCOPY . \/app\nRUN make \/app\nCMD python \/app\/app.py\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5173\u952e\u8bcd\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>RUN<\/code>\u3002<code>RUN<\/code>\u4f1a\u5728\u5f53\u524d\u955c\u50cf\u7684\u9876\u5c42\u4e0a\u6dfb\u52a0\u65b0\u7684\u4e00\u5c42(layer)\uff0c\u5e76\u5728\u8be5\u5c42\u4e0a\u6267\u884c\u547d\u4ee4\uff0c\u6267\u884c\u7ed3\u679c\u5c06\u4f1a\u88ab\u63d0\u4ea4\u3002\u63d0\u4ea4\u540e\u7684\u7ed3\u679c\u5c06\u4f1a\u7528\u4e8e<code>Dockerfile<\/code>\u7684\u4e0b\u4e00\u6b65\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-26\"><sup>[26]<\/sup><\/a><\/li>\n\n\n\n<li><code>ENTRYPOINT<\/code>\uff0c<a href=\"https:\/\/zh.wikipedia.org\/wiki\/%E5%85%A5%E5%8F%A3%E7%82%B9\">\u5165\u53e3\u70b9<\/a>\u3002<code>ENTRYPOINT<\/code>\u5141\u8bb8\u4f60\u914d\u7f6e\u5bb9\u5668\uff0c\u4f7f\u4e4b\u6210\u4e3a\u53ef\u6267\u884c\u7a0b\u5e8f\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-27\"><sup>[27]<\/sup><\/a>\u5373\uff0c<code>ENTRYPOINT<\/code>\u5141\u8bb8\u4f60\u4e3a\u5bb9\u5668\u589e\u52a0\u4e00\u4e2a<a href=\"https:\/\/zh.wikipedia.org\/wiki\/%E5%85%A5%E5%8F%A3%E7%82%B9\">\u5165\u53e3\u70b9<\/a>\u3002<code>ENTRYPOINT<\/code>\u548c<code>CMD<\/code>\u7c7b\u4f3c\uff0c\u5747\u5728\u5bb9\u5668\u542f\u52a8\u65f6\u6267\u884c\uff0c\u4f46\u662f<code>ENTRYPOINT<\/code>\u4e3a\u4e86\u63d0\u4f9b\u7a33\u5b9a\u4e14\u4e0d\u53ef\u88ab\u8986\u76d6\u7684\u64cd\u4f5c\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-28\"><sup>[28]<\/sup><\/a>\u901a\u8fc7\u5728\u547d\u4ee4\u884c\u4e2d\u6307\u5b9a<code>--entrypoint \u547d\u4ee4<\/code>\u7684\u65b9\u5f0f\uff0c\u53ef\u5728\u8fd0\u884c\u65f6\u5c06Dockerfile\u6587\u4ef6\u4e2d\u7684<code>ENTRYPOINT<\/code>\u8986\u76d6\u3002<\/li>\n\n\n\n<li><code>CMD<\/code>\uff0c\u662fcommand\u7684\u7f29\u5199\u3002<code>CMD<\/code>\u7528\u4e8e\u4e3a\u5df2\u521b\u5efa\u7684\u955c\u50cf\u63d0\u4f9b\u9ed8\u8ba4\u7684\u64cd\u4f5c\uff0c\u5f53\u4e0d\u60f3\u8981\u7528\u9ed8\u8ba4\u64cd\u4f5c\u65f6\u5019\uff0c\u53ef\u7528<code>docker run IMAGE[:TAG|@DIGEST] [COMMAND]<\/code> \u8fdb\u884c\u66ff\u6362 \u3002\u4f46\u5f53Dockerfile\u62e5\u6709\u5165\u53e3\u70b9\u65f6\uff0c<code>CMD<\/code>\u7528\u4e8e\u8d4b\u4e88\u5165\u53e3\u70b9\u53c2\u6570\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-29\"><sup>[29]<\/sup><\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Compose\u6587\u4ef6<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Compose\u6587\u4ef6 \u662f\u4e00\u4e2a<a href=\"https:\/\/zh.wikipedia.org\/wiki\/YAML\">YAML\u6587\u4ef6<\/a>\uff0c\u5b9a\u4e49\u4e86\u670d\u52a1\uff08service\uff09\u3001\u7f51\u7edc\u3001<a href=\"https:\/\/zh.wikipedia.org\/w\/index.php?title=%E5%8D%B7(%E8%AE%A1%E7%AE%97%E6%9C%BA)&amp;action=edit&amp;redlink=1\">\u5377<\/a>\uff08volume\uff09\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u670d\u52a1\uff08service\uff09<\/strong>\u5b9a\u4e49\u5404\u5bb9\u5668\u7684\u914d\u7f6e\uff0c\u5b9a\u4e49\u5185\u5bb9\u5c06\u4ee5\u547d\u4ee4\u884c\u53c2\u6570\u7684\u65b9\u5f0f \u4f20\u7ed9 <code>docker run<\/code> \u547d\u4ee4\u3002<\/li>\n\n\n\n<li><strong>\u7f51\u7edc\uff08network\uff09<\/strong>\uff0c\u7c7b\u4f3c\u5730\uff0c\u5c06\u5b9a\u4e49\u5185\u5bb9\u4f20\u7ed9 <code>docker network create<\/code> \u547d\u4ee4 \u3002<\/li>\n\n\n\n<li><strong>\u5377\uff08volume\uff09<\/strong>\uff0c\u7c7b\u4f3c\u5730\uff0c\u5c06\u5b9a\u4e49\u5185\u5bb9\u4f20\u7ed9 <code>docker volume create<\/code> \u547d\u4ee4\u3002<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><code>docker run<\/code> \u547d\u4ee4\u4e2d\u6709\u4e00\u4e9b\u9009\u9879\uff0c\u548c <a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#Dockerfile\">Dockerfile\u6587\u4ef6<\/a>\u4e2d\u7684\u6307\u4ee4\u6548\u679c\u4e00\u6837\uff08\u5982\uff1a<code>CMD<\/code>, <code>EXPOSE<\/code>, <code>VOLUME<\/code>, <code>ENV<\/code>\uff09\uff0c\u5982\u679c<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#Dockerfile\">Dockerfile\u6587\u4ef6<\/a>\u4e2d\u4f7f\u7528\u8fd9\u4e9b\u6307\u4ee4\uff0c\u90a3\u4e48\u8fd9\u4e9b\u6307\u4ee4\u5c31\u4f1a\u88ab\u89c6\u4e3a\u9ed8\u8ba4\u53c2\u6570\uff0c\u6240\u4ee5\u5f00\u53d1\u8005\u65e0\u9700\u7279\u610f\u5728 <a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#Compose%E6%96%87%E4%BB%B6\">Compose\u6587\u4ef6<\/a>\u4e2d\u518d\u6307\u5b9a\u4e00\u6b21\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-30\"><sup>[30]<\/sup><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#Compose%E6%96%87%E4%BB%B6\">Compose\u6587\u4ef6<\/a> \u53ef\u4f7f\u7528 Shell\u53d8\u91cf\uff08Variable\uff09\uff0c\u5982\uff1a<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-31\"><sup>[31]<\/sup><\/a><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>db:\n  image: \"postgres:${POSTGRES_VERSION}\"\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#Compose%E6%96%87%E4%BB%B6\">Compose\u6587\u4ef6<\/a> \u53ef\u901a\u8fc7\u81ea\u8eab\u7684<code>ARGS<\/code>\u53d8\u91cf\uff0c\u5c06\u53c2\u6570\u4f20\u7ed9<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#Dockerfile\">Dockerfile<\/a>\u7684 <code>ARGS<\/code> \u6307\u4ee4\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-32\"><sup>[32]<\/sup><\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u7f51\u7edc<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u53c2\u8003\u6587\u6863\uff1a<a href=\"https:\/\/docs.docker.com\/network\/\">Docker\u6587\u6863-\u7f51\u7edc\u6982\u8981<\/a>\uff08<a href=\"https:\/\/web.archive.org\/web\/20200415060005\/https:\/\/docs.docker.com\/network\/\">\u9875\u9762\u5b58\u6863\u5907\u4efd<\/a>\uff0c\u5b58\u4e8e<a href=\"https:\/\/zh.wikipedia.org\/wiki\/%E4%BA%92%E8%81%94%E7%BD%91%E6%A1%A3%E6%A1%88%E9%A6%86\">\u4e92\u8054\u7f51\u6863\u6848\u9986<\/a>\uff09<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>bridge<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728Docker\u91cc\uff0c<a href=\"https:\/\/zh.wikipedia.org\/wiki\/%E7%BD%91%E6%A1%A5\">\u7f51\u6865<\/a>\u7f51\u7edc \u4f7f\u7528\u7684\u662f \u8f6f\u4ef6\u5f62\u5f0f\u7684\u7f51\u6865\u3002\u4f7f\u7528\u76f8\u540c\u7684\u7f51\u6865\u7684\u5bb9\u5668\u8fde\u63a5\u8fdb\u5165\u8be5\u7f51\u7edc\uff0c\u800c\u975e\u8be5\u7f51\u7edc\u7684\u5bb9\u5668\u5237\u6545\u65e0\u6cd5\u63a5\u5165\u3002Docker\u7f51\u6865\u9a71\u52a8\u4f1a\u81ea\u52a8\u5730\u5728Docker\u4e3b\u673a\u4e0a\u5b89\u88c5\u89c4\u5219\uff0c\u8fd9\u4e9b\u89c4\u5219\u8ba9\u4e0d\u540c\u6865\u63a5\u7f51\u7edc\u4e4b\u95f4\u4e0d\u80fd\u76f4\u63a5\u901a\u4fe1\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:4-33\"><sup>[33]<\/sup><\/a>\u6865\u63a5\u7ecf\u5e38\u7528\u4e8e\uff1a\u5728\u5355\u72ec\u5bb9\u5668\u4e0a\u8fd0\u884c\u5e94\u7528\u65f6\uff0c\u53ef\u901a\u8fc7 \u7f51\u6865 \u8fdb\u884c\u901a\u4fe1\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:5-34\"><sup>[34]<\/sup><\/a>\u7f51\u6865\u7f51\u7edc \u9002\u7528\u4e8e\u5bb9\u5668\u8fd0\u884c\u5728\u76f8\u540c\u5730Docker\u5b88\u62a4\u8fdb\u7a0b\u7684\u4e3b\u673a\u4e0a\u3002\u4e0d\u540cDocker\u5b88\u62a4\u8fdb\u7a0b\u4e3b\u673a\u4e0a\u7684\u5bb9\u5668\uff0c\u5b83\u4eec\u4e4b\u95f4\u7684\u901a\u4fe1\u9700\u8981\u4f9d\u9760\u64cd\u4f5c\u7cfb\u7edf\u5c42\u6b21\u7684\u8def\u7531\uff0c\u6216\u8005\u4f60\u5e94\u8be5\u4f7f\u7528 overlay\u7f51\u7edc \u8fdb\u884c\u4ee3\u66ff\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:4-33\"><sup>[33]<\/sup><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>bridge<\/code> \u662f\u7f51\u6865\u9a71\u52a8\uff0c\u662fDocker\u9ed8\u8ba4\u7684\u7f51\u7edc\u9a71\u52a8\uff08\u63a5\u53e3\u540d\u4e3a <code>docker0<\/code><a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-35\"><sup>[35]<\/sup><\/a>\uff09\uff0c\u5f53\u4f60\u4e0d\u4e3a\u5bb9\u5668\u6307\u5b9a\u4e00\u4e2a\u7f51\u7edc\u65f6\u5019\uff0cDocker\u5c06\u4f1a\u4f7f\u7528\u8be5\u9a71\u52a8\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:5-34\"><sup>[34]<\/sup><\/a>\u53ef\u901a\u8fc7 <code>daemon.json<\/code> \u6587\u4ef6\u4fee\u6539\u76f8\u5173\u914d\u7f6e\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-36\"><sup>[36]<\/sup><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u81ea\u5b9a\u4e49\u7f51\u6865\u53ef\u901a\u8fc7 <code>brctl<\/code> \u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-37\"><sup>[37]<\/sup><\/a><a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-38\"><sup>[38]<\/sup><\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>host<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e3b\u673a\u6a21\u5f0f<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>host<\/code> \u7528\u4e8e\u5355\u72ec\u5bb9\u5668\uff0c\u8be5\u7f51\u7edc\u4e0b\u5bb9\u5668\u53ea\u80fd\u548cDocker\u4e3b\u673a\u8fdb\u884c\u76f4\u63a5\u8fde\u63a5\u3002<code>host<\/code> \u53ea\u9002\u7528\u4e8e Docker 17.06\u6216\u4ee5\u4e0a\u7248\u672c\u7684swarm\u670d\u52a1\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">host\u7f51\u7edc\u548cVirtualBox\u7684 \u4ec5\u4e3b\u673a\u7f51\u7edc\uff08Host-only Networking\uff09 \u7c7b\u4f3c\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-39\"><sup>[39]<\/sup><\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>overlay<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>overlay<\/code> \uff08\u4e2d\u6587\uff1a<a href=\"https:\/\/zh.wikipedia.org\/wiki\/%E8%A6%86%E7%9B%96%E7%BD%91%E7%BB%9C\">\u8986\u76d6\u7f51\u7edc<\/a>\uff09\u7f51\u7edc\u9a71\u52a8\u5c06\u4f1a\u521b\u5efa\u5206\u5e03\u5f0f\u7f51\u7edc\uff0c\u8be5\u7f51\u7edc\u53ef\u4ee5\u8986\u76d6\u82e5\u5e72\u4e2a Docker\u5b88\u62a4\u8fdb\u7a0b\u4e3b\u673a\u3002\u8be5\u7f51\u7edc\u662f\u57fa\u4e8e \u4e3b\u673a\u7279\u5b9a\u7f51\u7edc\uff08host-specific networks\uff09\uff0c\u5141\u8bb8 swarm\u670d\u52a1 \u548c \u5bb9\u5668 \u8fdb\u884c\u5b89\u5168\u901a\u4fe1\uff08\u5f53\u52a0\u5bc6\u529f\u80fd\u5f00\u542f\u65f6\uff09\u3002\u5728\u8be5\u7f51\u7edc\u4e0b\uff0cDocker\u80fd\u591f\u6e05\u6670\u5730\u638c\u63e1 \u6570\u636e\u5305\u7684\u8def\u7531 \u4ee5\u53ca \u53d1\u9001\u63a5\u6536\u5bb9\u5668\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:1-40\"><sup>[40]<\/sup><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>overlay<\/code> \u6709\u4e24\u79cd\u7f51\u7edc\u7c7b\u578b\u7f51\u7edc\uff1a<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:1-40\"><sup>[40]<\/sup><\/a><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>ingress<\/code> \u7f51\u7edc\uff0c\u53ef\u638c\u63a7 swarm\u670d\u52a1 \u7684<a href=\"https:\/\/zh.wikipedia.org\/wiki\/%E7%BD%91%E7%BB%9C%E6%B5%81%E9%87%8F\">\u7f51\u7edc\u6d41\u91cf<\/a> \u3002\u8be5\u7f51\u7edc\u662f <code>overlay<\/code> \u7684\u9ed8\u8ba4\u7f51\u7edc\u3002<\/li>\n\n\n\n<li><code>docker_gwbridge<\/code> \u7f51\u7edc\u662f \u7f51\u6865\u7f51\u7edc\u3002\u8be5\u7f51\u7edc\u4f1a\u5c06 \u5355\u72ec\u7684Docker\u5b88\u62a4\u8fdb\u7a0b \u8fde\u63a5\u81f3 swarm\u91cc\u7684\u53e6\u5916\u4e00\u4e2a\u5b88\u62a4\u8fdb\u7a0b\u3002<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728 <code>overlay<\/code> \u7f51\u7edc\u4e0b\uff0c\u5355\u72ec\u7684\u5bb9\u5668 \u548c swarm\u670d\u52a1 \u7684\u884c\u4e3a\u548c\u914d\u7f6e\u6982\u5ff5 \u662f\u4e0d\u4e00\u6837\u7684\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:1-40\"><sup>[40]<\/sup><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8be5\u7b56\u7565\u4e0d\u9700\u8981 \u5bb9\u5668\u4eec \u5177\u6709\u64cd\u4f5c\u7cfb\u7edf\u7ea7\u522b\u7684\u8def\u7531\uff0c\u56e0\u4e3aDocker\u8d1f\u8d23\u8def\u7531\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:5-34\"><sup>[34]<\/sup><\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>macvlan<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Macvlan<\/code>\u7f51\u7edc\u914d\u7f6e\u63d0\u4f9b\u4e86\u4e00\u79cd\u673a\u5236\uff0c\u5141\u8bb8\u5355\u72ec\u7684\u5bb9\u5668\u5177\u6709\u72ec\u7acb\u7684MAC\u5730\u5740\uff0c\u4f7f\u5f97\u8fd9\u4e9b\u5bb9\u5668\u5728\u7f51\u7edc\u4e0a\u8868\u73b0\u5f97\u5982\u540c\u7269\u7406\u8bbe\u5907\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>none<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u8be5\u7b56\u7565\u4e0b\uff0c\u5bb9\u5668\u4e0d\u4f7f\u7528\u4efb\u4f55\u7f51\u7edc\u3002<code>none<\/code> \u5e38\u5e38\u7528\u4e8e\u8fde\u63a5\u81ea\u5b9a\u4e49\u7f51\u7edc\u9a71\u52a8\u7684\u60c5\u51b5\u4e0b\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u5176\u4ed6<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u622a\u6b622023\u5e745\u670818\u65e5\uff0cDocker\u5b98\u65b9\u4ed3\u5e93\u57df\u540d <a href=\"https:\/\/hub.docker.com\/\">https:\/\/hub.docker.com\/<\/a> \uff08<a href=\"https:\/\/web.archive.org\/web\/20230610172413\/https:\/\/hub.docker.com\/\">\u9875\u9762\u5b58\u6863\u5907\u4efd<\/a>\uff0c\u5b58\u4e8e<a href=\"https:\/\/zh.wikipedia.org\/wiki\/%E4%BA%92%E8%81%94%E7%BD%91%E6%A1%A3%E6%A1%88%E9%A6%86\">\u4e92\u8054\u7f51\u6863\u6848\u9986<\/a>\uff09 \u5728\u4e2d\u56fd\u5927\u9646\u88ab\u5c4f\u853d\uff0c\u65b9\u5f0f\u4e3aDNS\u6c61\u67d3\u3002\u968f\u540e\u77ed\u6682\u89e3\u5c01\uff0c2024\u5e746\u67086\u65e5\u518d\u6b21\u88ab\u5c01\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u6570\u636e\u7ba1\u7406<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Docker\u9ed8\u8ba4\u4e0b\uff0c\u6240\u6709\u6587\u4ef6\u5c06\u4f1a\u5b58\u50a8\u5728\u5bb9\u5668\u91cc\u7684\u53ef\u5199\u7684\u5bb9\u5668\u5c42\uff08container layer\uff09\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:02-41\"><sup>[41]<\/sup><\/a><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6570\u636e\u4e0e\u5bb9\u5668\u4e3a\u4e00\u4f53\u3002\u968f\u7740\u5bb9\u5668\u6d88\u5931\uff0c\u6570\u636e\u5c06\u6d88\u5931\uff1b\u96be\u4ee5\u4e0e\u5176\u4ed6\u7a0b\u5e8f\uff08\u5bb9\u5668\uff09\u5171\u4eab\u3002\u53ef\u4ee5\u91c7\u7528\u6302\u8f7d\u6587\u4ef6\u7684\u65b9\u5f0f\u89e3\u51b3\u3002<\/li>\n\n\n\n<li>\u7531\u4e8e\u5bb9\u5668\u7684\u5199\u5165\u5c42\u662f\u4e0e\u5bbf\u4e3b\u673a\u5668\u7d27\u7d27\u8026\u5408\u3002\u6240\u4ee5\u4f60\u96be\u4ee5\u79fb\u52a8\u6570\u636e\u5230\u5176\u4ed6\u673a\u5668\u3002<\/li>\n\n\n\n<li>\u5bb9\u5668\u7684\u5199\u5165\u5c42\u7684\u662f\u901a\u8fc7 <a href=\"https:\/\/docs.docker.com\/storage\/storagedriver\/\">\u5b58\u50a8\u9a71\u52a8<\/a>\uff08<a href=\"https:\/\/web.archive.org\/web\/20200218205357\/https:\/\/docs.docker.com\/storage\/storagedriver\/\">\u9875\u9762\u5b58\u6863\u5907\u4efd<\/a>\uff0c\u5b58\u4e8e<a href=\"https:\/\/zh.wikipedia.org\/wiki\/%E4%BA%92%E8%81%94%E7%BD%91%E6%A1%A3%E6%A1%88%E9%A6%86\">\u4e92\u8054\u7f51\u6863\u6848\u9986<\/a>\uff09\uff08storage driver\uff09 \u7ba1\u7406\u6587\u4ef6\u7cfb\u7edf\u3002<a href=\"https:\/\/docs.docker.com\/storage\/storagedriver\/\">\u5b58\u50a8\u9a71\u52a8<\/a>\uff08<a href=\"https:\/\/web.archive.org\/web\/20200218205357\/https:\/\/docs.docker.com\/storage\/storagedriver\/\">\u9875\u9762\u5b58\u6863\u5907\u4efd<\/a>\uff0c\u5b58\u4e8e<a href=\"https:\/\/zh.wikipedia.org\/wiki\/%E4%BA%92%E8%81%94%E7%BD%91%E6%A1%A3%E6%A1%88%E9%A6%86\">\u4e92\u8054\u7f51\u6863\u6848\u9986<\/a>\uff09 \u4f1a\u4f7f\u7528Linux\u5185\u6838\u7684 \u94fe\u5408\u6587\u4ef6\u7cfb\u7edf\uff08union filesystem\uff09\u8fdb\u884c\u6302\u8f7d\u3002\u76f8\u6bd4\u8d77\u76f4\u63a5\u64cd\u4f5c\u4e8e\u5bbf\u4e3b\u673a\u5668\u6587\u4ef6\u7cfb\u7edf\u7684 \u6570\u636e\u5377\uff0c\u8fd9\u989d\u5916\u7684\u62bd\u8c61\u5c42\u5c06\u4f1a\u964d\u4f4e\u6027\u80fd\u3002<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u5bb9\u5668\u6709\u4e24\u79cd\u6c38\u4e45\u5316\u5b58\u50a8\u65b9\u5f0f\uff1a<strong>\u5377\uff08volumes\uff09<\/strong>\u548c <strong>\u7ed1\u5b9a\u6302\u8f7d\uff08bind mounts\uff09<\/strong>\u3002\u53e6\u5916\uff0cLinux\u7528\u6237\u8fd8\u53ef\u4f7f\u7528 <a href=\"https:\/\/zh.wikipedia.org\/wiki\/Tmpfs\">tmpfs<\/a> \u8fdb\u884c\u6302\u8f7d\uff1bWindow\u7528\u6237\u8fd8\u53ef\u4ee5\u4f7f\u7528 <strong>\u547d\u540d\u7ba1\u9053\uff08named pipe\uff09<\/strong>\u3002\u5728\u5bb9\u5668\u4e2d\uff0c\u4e0d\u7ba1\u662f\u54ea\u79cd\u6c38\u4e45\u5316\u5b58\u50a8\uff0c\u8868\u73b0\u5f62\u5f0f\u90fd\u662f\u4e00\u6837\u7684\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:02-41\"><sup>[41]<\/sup><\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u5377<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5377\uff08volumes\uff09\u662f<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Hypervisor\">\u5bbf\u4e3b\u673a\u5668<\/a>\u7684\u6587\u4ef6\u7cfb\u7edf\u7684\u4e00\u90e8\u5206\uff0c\u7531Docker\u8fdb\u884c\u7ba1\u7406\uff08 \u5728Linux\uff0c\u5b58\u50a8\u4e8e<code>\/var\/lib\/docker\/volumes\/<\/code>\uff09\u3002\u975eDocker\u7a0b\u5e8f\u4e0d\u5e94\u8be5\u53bb\u4fee\u6539\u8fd9\u4e9b\u6587\u4ef6\u3002Docker\u63a8\u8350\u4f7f\u7528 \u5377 \u8fdb\u884c\u6301\u4e45\u5316\u6570\u636e\u3002 \u5377 \u53ef\u652f\u6301 \u5377\u9a71\u52a8\uff08volume drivers\uff09\uff0c\u8be5\u9a71\u52a8\u5141\u8bb8\u7528\u6237\u5c06\u6570\u636e\u5b58\u50a8\u5230 \u8fdc\u7a0b\u4e3b\u673a \u6216 \u4e91\u670d\u52a1\u5546\uff08cloud provider\uff09\u6216 \u5176\u4ed6\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:02-41\"><sup>[41]<\/sup><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6ca1\u6709\u540d\u5b57\u7684\u5377\u53eb\u533f\u540d\u5377\uff08anonymous volume\uff09\uff0c\u6709\u540d\u5b57\u7684\u5377\u53eb\u547d\u540d\u5377\uff08named volume\uff09\u3002\u533f\u540d\u5377\u6ca1\u6709\u660e\u786e\u7684\u540d\u5b57\uff0c\u5f53\u88ab\u521d\u59cb\u5316\u65f6\uff0c\u4f1a\u88ab\u8d4b\u4e88\u4e00\u4e2a\u968f\u673a\u540d\u5b57\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:02-41\"><sup>[41]<\/sup><\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u7ed1\u5b9a\u6302\u8f7d<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u7ed1\u5b9a\u6302\u8f7d\uff08bind mounts\uff09\u901a\u8fc7\u5c06\u5bbf\u4e3b\u673a\u5668\u7684\u8def\u5f84\u6302\u8f7d\u5230\u5bb9\u5668\u91cc\u7684\u8fd9\u79cd\u65b9\u5f0f\uff0c\u4ece\u800c\u6570\u636e\u6301\u7eed\u5316\uff0c\u56e0\u6b64\u7ed1\u5b9a\u6302\u8f7d\u53ef\u5c06\u6570\u636e\u5b58\u50a8\u5728\u5bbf\u4e3b\u673a\u5668\u7684\u6587\u4ef6\u7cfb\u7edf\u7684\u4efb\u4f55\u5730\u65b9\u3002\u975eDocker\u7a0b\u5e8f\u53ef\u4fee\u6539\u8fd9\u4e9b\u6587\u4ef6\u3002 \u7ed1\u5b9a\u6302\u8f7d\u662fDocker\u65e9\u671f\u5c31\u5b58\u5728\u7684\uff0c\u76f8\u6bd4\u8d77\u5377\uff0c\u7ed1\u5b9a\u6302\u8f7d\u5341\u5206\u7b80\u5355\u660e\u4e86\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:02-41\"><sup>[41]<\/sup><\/a>\u5728\u5f00\u53d1Docker\u5e94\u7528\u65f6\uff0c\u5e94\u4f7f\u7528\u547d\u540d\u5377\uff08named volume\uff09\u4ee3\u66ff\u7ed1\u5b9a\u6302\u8f7d\uff0c\u56e0\u4e3a\u7528\u6237\u4e0d\u80fd\u5bf9\u7ed1\u5b9a\u6302\u8f7d\u8fdb\u884c Docker CLI \u547d\u4ee4\u64cd\u4f5c\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:02-41\"><sup>[41]<\/sup><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u7ed1\u5b9a\u6302\u8f7d\u5e38\u7528\u4e8e\uff1a<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:12-42\"><sup>[42]<\/sup><\/a><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u540c\u6b65\u914d\u7f6e\u6587\u4ef6\uff0c\u5982\uff1a \u5c06 \u5bbf\u4e3b\u4e3b\u673a\u7684<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Resolv.conf%E6%96%87%E4%BB%B6\">DNS\u914d\u7f6e\u6587\u4ef6<\/a>\uff08<code>\/etc\/resolv.conf<\/code>\uff09\u540c\u6b65\u81f3\u5bb9\u5668\u4e2d<\/li>\n\n\n\n<li>\u5728\u5f00\u53d1\u7a0b\u5e8f\u65f6\uff0c\u5c06 \u6e90\u4ee3\u7801 \u6216 <a href=\"https:\/\/zh.wikipedia.org\/wiki\/Artifact_(%E8%AE%A1%E7%AE%97%E6%9C%BA)\">Artifact<\/a> \u540c\u6b65\u81f3\u5bb9\u5668\u4e2d\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:12-42\"><sup>[42]<\/sup><\/a>\u8fd9\u79cd\u7528\u6cd5\u4e0e <a href=\"https:\/\/zh.wikipedia.org\/wiki\/Vagrant\">Vagrant<\/a> \u7c7b\u4f3c\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>tmpfs<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>tmpfs<\/code> \u6302\u8f7d\uff08tmpfs mounts\uff09\uff0c\u4ec5\u4ec5\u5b58\u50a8\u4e8e\u5185\u5b58\u4e2d\uff0c\u5e76\u4e0d\u64cd\u4f5c \u5bbf\u4e3b\u673a\u5668\u7684\u6587\u4ef6\u7cfb\u7edf\uff08\u4e0d\u6301\u4e45\u5316\u4e8e\u78c1\u76d8\uff09\u3002\u5b83\u53ef\u7528\u4e8e\u5b58\u50a8\u4e00\u4e9b \u975e\u6301\u4e45\u5316\u72b6\u6001\u3001\u654f\u611f\u6570\u636e\u3002 \u4e3e\u4f8b\uff0cswarm\u670d\u52a1 \u901a\u8fc7<code>tmpfs<\/code> \u5c06 <a href=\"https:\/\/docs.docker.com\/engine\/swarm\/secrets\/\">secrets<\/a>\uff08<a href=\"https:\/\/web.archive.org\/web\/20200321112911\/https:\/\/docs.docker.com\/engine\/swarm\/secrets\/\">\u9875\u9762\u5b58\u6863\u5907\u4efd<\/a>\uff0c\u5b58\u4e8e<a href=\"https:\/\/zh.wikipedia.org\/wiki\/%E4%BA%92%E8%81%94%E7%BD%91%E6%A1%A3%E6%A1%88%E9%A6%86\">\u4e92\u8054\u7f51\u6863\u6848\u9986<\/a>\uff09\uff08\u5bc6\u7801\u3001\u5bc6\u94a5\u3001\u8bc1\u4e66\u7b49\uff09\u5b58\u50a8\u5230swarm\u670d\u52a1\u3002 <a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:02-41\"><sup>[41]<\/sup><\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u547d\u540d\u7ba1\u9053<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/zh.wikipedia.org\/wiki\/%E5%91%BD%E5%90%8D%E7%AE%A1%E9%81%93\">\u547d\u540d\u7ba1\u9053<\/a>\uff08named pipes\uff09\uff0c\u901a\u8fc7 <code>npipe<\/code> \u6302\u8f7d\u7684\u5f62\u5f0f\uff0c\u4f7f Docker\u4e3b\u673a \u548c \u5bb9\u5668 \u4e4b\u95f4\u80fd\u4e92\u76f8\u901a\u8baf\u3002\u5e38\u89c1\u7528\u4f8b\u662f\u5728\u5bb9\u5668\u5185\u8fd0\u884c\u7b2c\u4e09\u65b9\u5de5\u5177\uff0c\u5e76\u4f7f\u7528\u547d\u540d\u7ba1\u9053\u8fde\u63a5\u5230Docker Engine API\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:02-41\"><sup>[41]<\/sup><\/a><a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-43\"><sup>[43]<\/sup><\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u8986\u76d6\u95ee\u9898<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5f53\u6302\u8f7d \u7a7a\u7684\u5377 \u81f3\u4e00\u4e2a\u76ee\u5f55\u4e2d\uff0c\u76ee\u5f55\u4e2d\u7684\u5185\u5bb9\u4f1a\u88ab\u590d\u5236\u4e8e\u5377\u4e2d\uff08\u4e0d\u4f1a\u8986\u76d6\uff09\u3002\u5982\u679c\u6302\u8f7d \u975e\u7a7a\u7684\u5377 \u6216 \u7ed1\u5b9a\u6302\u8f7d \u81f3\u4e00\u4e2a\u76ee\u5f55\u4e2d\uff0c\u90a3\u4e48\u8be5\u76ee\u5f55\u7684\u5185\u5bb9\u5c06\u4f1a\u88ab\u9690\u85cf\uff08obscured \uff09\uff0c\u5f53\u5378\u8f7d\u540e\u5185\u5bb9\u5c06\u4f1a\u6062\u590d\u663e\u793a\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-44\"><sup>[44]<\/sup><\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u65e5\u5fd7<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728<a href=\"https:\/\/zh.wikipedia.org\/wiki\/UNIX\">UNIX<\/a>\u548c<a href=\"https:\/\/zh.wikipedia.org\/wiki\/%E7%B1%BBUnix%E7%B3%BB%E7%BB%9F\">\u7c7bUnix\u7cfb\u7edf<\/a>\u4e2d\uff0c\u5e38\u89c1\u7684 I\/O\u6d41\uff08\u82f1\u8bed\uff1aI\/O streams\uff09 \u5206\u4e3a\u4e09\u79cd\uff1a<code>STDIN<\/code>\uff08\u8f93\u5165 \uff09\u3001 <code>STDOUT<\/code>\uff08\u6b63\u5e38\u8f93\u51fa\uff09\u3001<code>STDERR<\/code>\uff08\u9519\u8bef\u8f93\u51fa\uff09\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:03-45\"><sup>[45]<\/sup><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u9ed8\u8ba4\u914d\u7f6e\u4e0b\uff0cDocker\u7684\u65e5\u5fd7\uff08\u5982\uff1a<code>docker logs<\/code>\u3001<code>docker service log<\/code>\uff09\u6240\u8bb0\u8f7d\u7684\u662f\u547d\u4ee4\u884c\u7684\u8f93\u51fa\u7ed3\u679c\uff08<code>STDOUT<\/code>\u548c<code>STDERR<\/code>\uff09\u3002\u800c<code>STDOUT<\/code> \u548c <code>STDERR<\/code> \u5bf9\u5e94\u7684\u6587\u4ef6\u8def\u5f84\u5206\u522b\u662f <code>\/dev\/stderr<\/code>\u548c<code>\/dev\/stdout<\/code>\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:03-45\"><sup>[45]<\/sup><\/a>\u53e6\u5916\uff0c\u4e5f\u53ef\u4ee5\u5728\u5bbf\u4e3b\u4e3b\u673a\u4e0a\u67e5\u770b\u5bb9\u5668\u7684\u65e5\u5fd7\uff0c\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u53ef\u4ee5\u67e5\u770b\u5230\u5bb9\u5668\u7684\u65e5\u5fd7\u4f4d\u7f6e\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-46\"><sup>[46]<\/sup><\/a><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ docker inspect --format='{{.LogPath}}' $INSTANCE_ID\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Kubernetes in docker<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">kind\uff08\u5168\u79f0\uff1aKubernetes IN Docker\uff09\u662f\u90e8\u7f72\u672c\u5730Kubernetes\u96c6\u7fa4\u7684\u5de5\u5177\uff0c\u800c\u96c6\u7fa4\u7684\u8282\u70b9\u662f\u7531Docker\u751f\u6210\u7684\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:04-47\"><sup>[47]<\/sup><\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u64cd\u4f5c\u7ec6\u8282<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u5b89\u88c5\u5b8ckind\u4e4b\u540e\uff0c\u901a\u8fc7<code>kind create cluster<\/code>\u547d\u4ee4\u751f\u6210\u96c6\u7fa4\u3002<a href=\"https:\/\/zh.wikipedia.org\/wiki\/Docker#cite_note-:04-47\"><sup>[47]<\/sup><\/a>\u751f\u6210Kubernetes\u96c6\u7fa4\u540e\uff0c\u53ef\u4ee5\u901a\u8fc7Docker\u547d\u4ee4\u8fdb\u884c\u67e5\u770b\u8282\u70b9\u6982\u89c8\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ docker container ls\n\nCONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS              PORTS                       NAMES\n\n99c96c1f21ab        kindest\/node:v1.17.0   \"\/usr\/local\/bin\/entr\u2026\"   4 minutes ago       Up 4 minutes        127.0.0.1:32769-&gt;6443\/tcp   kind-control-plane<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u4ec0\u4e48\u662f\u5bb9\u5668 \u5bb9\u5668\u6280\u672f\u5e76\u4e0d\u662f\u4e00\u4e2a\u5168\u65b0\u7684\u6982\u5ff5\uff0c\u5b83\u53c8\u79f0\u4e3a\u5bb9\u5668\u865a\u62df\u5316\u3002\u663e\u7136\u5b83\u662f\u865a\u62df\u5316\u6280\u672f\u4e2d\u7684\u4e00\u79cd\u3002\u865a\u62df\u5316\u6280\u672f\u76ee\u524d\u4e3b\u8981\u6709 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36,20],"tags":[37,38],"class_list":["post-327","post","type-post","status-publish","format-standard","hentry","category-docker","category-share","tag-docker","tag-38"],"_links":{"self":[{"href":"https:\/\/blog.xyytoy.vip\/index.php?rest_route=\/wp\/v2\/posts\/327","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.xyytoy.vip\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.xyytoy.vip\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.xyytoy.vip\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.xyytoy.vip\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=327"}],"version-history":[{"count":1,"href":"https:\/\/blog.xyytoy.vip\/index.php?rest_route=\/wp\/v2\/posts\/327\/revisions"}],"predecessor-version":[{"id":328,"href":"https:\/\/blog.xyytoy.vip\/index.php?rest_route=\/wp\/v2\/posts\/327\/revisions\/328"}],"wp:attachment":[{"href":"https:\/\/blog.xyytoy.vip\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=327"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.xyytoy.vip\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=327"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.xyytoy.vip\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=327"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}