{"id":2568,"date":"2020-11-11T17:34:52","date_gmt":"2020-11-11T09:34:52","guid":{"rendered":"https:\/\/nj.transwarp.cn:8180\/?p=2568"},"modified":"2020-11-20T11:52:21","modified_gmt":"2020-11-20T03:52:21","slug":"%e4%bd%bf%e7%94%a8dockerfile%e6%9b%b4%e6%8d%a2%e5%b7%b2%e6%9c%89%e9%95%9c%e5%83%8f%e7%9a%84%e6%96%87%e4%bb%b6%ef%bc%88%e6%8d%a2%e5%8c%85%ef%bc%89","status":"publish","type":"post","link":"https:\/\/kbwp.transwarp.cn\/?p=2568","title":{"rendered":"\u4f7f\u7528 Dockerfile \u66f4\u6362\u5df2\u6709\u955c\u50cf\u7684\u6587\u4ef6\uff08\u6362\u5305\uff09"},"content":{"rendered":"<h3>\u6982\u8981\u63cf\u8ff0<\/h3>\n<hr \/>\n<p>\u672c\u6587\u4e3b\u8981\u8bb2\u8ff0\u5982\u4f55\u901a\u8fc7 Dockerfile \u66f4\u6362\u5df2\u6709\u955c\u50cf\u4e2d\u7684\u6587\u4ef6\uff0c\u9700\u8981\u4e00\u4e2a Docker \u73af\u5883\uff0c\u672c\u6587\u662f\u5728 TDH5.2.2 \u96c6\u7fa4\u5185\u6267\u884c\uff0c\u5df2\u7ecf\u62e5\u6709 Docker \u73af\u5883\u3002<br \/>\n\u4e3b\u8981\u539f\u7406\u662f\u4f7f\u7528 Dockerfile \u4ece Registory \u4e2d\u6784\u5efa\uff0c\u5e76\u4f7f\u7528 COPY \u6307\u4ee4\u5bf9\u955c\u50cf\u5185\u67d0\u8def\u5f84\u4e0b\u7684\u6587\u4ef6\u505a\u66ff\u6362\uff0c\u5e76\u6784\u5efa\u65b0\u7684\u955c\u50cf\u3002<\/p>\n<h3>\u8be6\u7ec6\u8bf4\u660e<\/h3>\n<hr \/>\n<p>\u5047\u8bbe\u4f7f\u7528\u5916\u90e8 <code>\/root\/opt\/test.jar<\/code> \u6587\u4ef6\u66ff\u6362 inceptor \u955c\u50cf\u4e2d <code>\/usr\/lib\/inceptor\/lib\/test.jar<\/code> \u8fd9\u4e2a\u6587\u4ef6\uff1b<br \/>\nDockerfile \u65b9\u5f0f\u5f88\u591a\u60c5\u51b5\u4e0b\u4f1a\u8986\u76d6\u6e90\u6587\u4ef6\uff0c\u518d\u64cd\u4f5c\u4e4b\u524d\u52a1\u5fc5\u8981\u5907\u4efd\u539f\u59cb\u955c\u50cf\uff0c\u53c2\u89c1\u8be6\u7ec6\u6b65\u9aa4\u7684\u7b2c 2 \u6b65\u5907\u4efd\u539f\u59cb\u955c\u50cf\uff1b<\/p>\n<h4>\u8be6\u7ec6\u6b65\u9aa4<\/h4>\n<hr \/>\n<ol>\n<li>\u627e\u5230\u9700\u8981\u4fee\u6539\u7684\u955c\u50cf name \u548c tag<\/li>\n<li>\u5907\u4efd\u539f\u59cb\u955c\u50cf\uff0c<\/li>\n<li>\u7f16\u5199 DockerFile<\/li>\n<li>\u6784\u5efa\u65b0\u7684\u955c\u50cf<\/li>\n<li>push \u955c\u50cf\u5230\u4ed3\u5e93<\/li>\n<li>\u56de\u9000<\/li>\n<\/ol>\n<h5>1\u3001\u627e\u5230\u9700\u8981\u66f4\u6362\u7684\u955c\u50cf<\/h5>\n<pre><code class=\"language-shell\">[root@tdh-01~\/opt]# docker images |grep inceptor\ntdh-01:5000\/transwarp\/inceptor             transwarp-5.2.2-final           34a4941969ea        9 minutes ago       3.87 GB<\/code><\/pre>\n<h5>2\u3001\u5907\u4efd\u539f\u59cb\u955c\u50cf<\/h5>\n<pre><code class=\"language-shell\">[root@tdh-01~\/opt]# docker tag 34a4941969ea tdh-01:5000\/transwarp\/inceptor:transwarp-5.2.2-final-bak\n\u60a8\u5728 \/var\/spool\/mail\/root \u4e2d\u6709\u90ae\u4ef6\n[root@tdh-01~\/opt]# docker images |grep inceptor\ntdh-01:5000\/transwarp\/inceptor             transwarp-5.2.2-final           34a4941969ea        13 minutes ago      3.87 GB\ntdh-01:5000\/transwarp\/inceptor             transwarp-5.2.2-final-bak       34a4941969ea        13 minutes ago      3.87 GB<\/code><\/pre>\n<h5>3\u3001\u7f16\u5199 Dockerfile<\/h5>\n<pre><code class=\"language-shell\">[root@tdh-01~\/opt]# vi Dockerfile \nFROM tdh-01:5000\/transwarp\/inceptor:transwarp-5.2.2-final\nCOPY test.jar \/usr\/lib\/inceptor\/lib\/<\/code><\/pre>\n<p>COPY \u547d\u4ee4\u7b2c\u4e00\u4e2a\u53c2\u6570\u662f\u9700\u8981\u66f4\u6362\u5230\u955c\u50cf\u5185\u7684\u6587\u4ef6\u6216\u6587\u4ef6\u5939\uff0c\u53ea\u53ef\u4ee5\u4f7f\u7528\u76f8\u5bf9\u8def\u5f84\uff0c\u76f8\u5bf9\u8def\u5f84\u6307\u548c Dockerfile \u6587\u4ef6\u7684\u76f8\u5bf9\u8def\u5f84\u3002<br \/>\n\u5efa\u8bae\u662f\u76f4\u63a5\u5c06 Dockerfile \u548c jar \u5305\u653e\u5728\u540c\u4e00\u76ee\u5f55\u4e0b\uff0c\u76f4\u63a5\u6307\u5b9a jar \u5305\u540d\uff1b<br \/>\n\u7b2c\u4e8c\u4e2a\u53c2\u6570\u662f\u955c\u50cf\u5185\u7684\u8def\u5f84\u3002<\/p>\n<h5>4\u3001\u6784\u5efa\u65b0\u955c\u50cf<\/h5>\n<pre><code class=\"language-shell\">[root@tdh-01~\/opt]# docker build -f Dockerfile -t tdh-01:5000\/transwarp\/inceptor:transwarp-5.2.2-final .\/\nSending build context to Docker daemon 3.072 kB\nStep 1\/2 : FROM tdh-01:5000\/transwarp\/inceptor:transwarp-5.2.2-final\n ---> 34a4941969ea\nStep 2\/2 : COPY test.jar \/usr\/lib\/inceptor\/lib\/\n ---> 16518398c108\nRemoving intermediate container 9bce7f25ee49\nSuccessfully built 16518398c108<\/code><\/pre>\n<p>\u53ef\u4ee5\u770b\u5230\u6709\u521a\u521a\u6784\u5efa\u7684\u955c\u50cf\uff0c48 seconds ago<\/p>\n<pre><code class=\"language-shell\">[root@tdh-01~\/opt]# docker images |grep incep\ntdh-01:5000\/transwarp\/inceptor             transwarp-5.2.2-final           16518398c108        48 seconds ago       3.87 GB<\/code><\/pre>\n<h5>5\u3001push \u955c\u50cf\u5230\u4ed3\u5e93<\/h5>\n<pre><code>[root@tdh-01~\/opt]# docker push tdh-01:5000\/transwarp\/inceptor:transwarp-5.2.2-final\nThe push refers to a repository [tdh-01:5000\/transwarp\/inceptor]\n44bea1b33574: Preparing \nad22a4c17e35: Preparing \n7c18ff707cef: Preparing \n......\n7c18ff707cef: Layer already exists \n8a81774a2cd1: Layer already exists \n5f70bf18a086: Layer already exists \nf64116beaa4b: Layer already exists \ntranswarp-5.2.2-final: digest: sha256:0f2495daa96da4e73486ac49ce2357a40a330f9bd98bb1d93374d3af27bfc80c size: 14744\n[root@tdh-01~\/opt]# <\/code><\/pre>\n<h5>6\u3001\u56de\u9000<\/h5>\n<p>\u53ea\u9700\u8981\u5c06\u5907\u4efd\u7684\u955c\u50cf tag \u8fd8\u539f\u6210\u5f53\u524d\u7248\u672c\u7684 tag\uff1b\u7136\u540e\u91cd\u65b0 push \u5230\u955c\u50cf\u4ed3\u5e93\u5373\u53ef\u5b8c\u6210\u56de\u9000\uff1b<\/p>\n<pre><code class=\"language-shell\">[root@tdh-01~\/opt]# docker tag 34a4941969ea tdh-01:5000\/transwarp\/inceptor:transwarp-5.2.2-final\n[root@tdh-01~\/opt]# docker push tdh-01:5000\/transwarp\/inceptor:transwarp-5.2.2-final\nThe push refers to a repository [tdh-01:5000\/transwarp\/inceptor]\n44bea1b33574: Preparing \nad22a4c17e35: Preparing \n9e2c8d8701a7: Preparing \n7a7e4c283b3e: Preparing \n......\n8a81774a2cd1: Layer already exists \n5f70bf18a086: Layer already exists \nf64116beaa4b: Layer already exists \ntranswarp-5.2.2-final: digest: sha256:9988ef0bbf4da4c28ac5eb2b4fc31f0a4b13ace906a2db52bc81e9378dcd3574 size: 14744<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u6982\u8981\u63cf\u8ff0 \u672c\u6587\u4e3b\u8981\u8bb2\u8ff0\u5982\u4f55\u901a\u8fc7 Dockerfile \u66f4\u6362\u5df2\u6709\u955c\u50cf\u4e2d\u7684\u6587\u4ef6\uff0c\u9700\u8981\u4e00\u4e2a Docker \u73af\u5883\uff0c\u672c\u6587 ..<\/p>\n<div class=\"clear-fix\"><\/div>\n<p><a href=\"https:\/\/kbwp.transwarp.cn\/?p=2568\" title=\"read more...\">Read more<\/a><\/p>\n","protected":false},"author":16,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2568","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\/2568","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\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/kbwp.transwarp.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2568"}],"version-history":[{"count":1,"href":"https:\/\/kbwp.transwarp.cn\/index.php?rest_route=\/wp\/v2\/posts\/2568\/revisions"}],"predecessor-version":[{"id":4488,"href":"https:\/\/kbwp.transwarp.cn\/index.php?rest_route=\/wp\/v2\/posts\/2568\/revisions\/4488"}],"wp:attachment":[{"href":"https:\/\/kbwp.transwarp.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2568"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kbwp.transwarp.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2568"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kbwp.transwarp.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2568"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}