{"id":72856,"date":"2026-02-06T17:25:54","date_gmt":"2026-02-06T09:25:54","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/72856.html"},"modified":"2026-02-06T17:25:54","modified_gmt":"2026-02-06T09:25:54","slug":"%e3%80%90docker%e8%bf%9b%e9%98%b6-07%e3%80%91dockerfile","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/72856.html","title":{"rendered":"\u3010Docker\u8fdb\u9636-07\u3011Dockerfile"},"content":{"rendered":"<\/p>\n<h4>\u3010Docker\u8fdb\u9636-07\u3011Dockerfile<\/h4>\n<ul>\n<li>Dockerfile<\/li>\n<li>\n<ul>\n<li>\u6982\u8ff0<\/li>\n<li>FROM<\/li>\n<li>LABEL<\/li>\n<li>RUN<\/li>\n<li>CMD\u548cENTRYPOINT<\/li>\n<li>\n<ul>\n<li>\u90fd\u53ef\u4ee5\u4f5c\u4e3a\u5bb9\u5668\u542f\u52a8\u5165\u53e3<\/li>\n<li>\u53ea\u80fd\u6709\u4e00\u4e2aCMD<\/li>\n<li>CMD\u4e3aENTRYPOINT\u63d0\u4f9b\u9ed8\u8ba4\u53c2\u6570<\/li>\n<li>\u7ec4\u5408\u6700\u7ec8\u6548\u679c<\/li>\n<li>docker run\u542f\u52a8\u53c2\u6570\u4f1a\u8986\u76d6CMD\u5185\u5bb9<\/li>\n<\/ul>\n<\/li>\n<li>ARG\u548cENV<\/li>\n<li>\n<ul>\n<li>ARG<\/li>\n<li>ENV<\/li>\n<\/ul>\n<\/li>\n<li>ADD\u548cCOPY<\/li>\n<li>\n<ul>\n<li>COPY<\/li>\n<li>ADD<\/li>\n<\/ul>\n<\/li>\n<li>WORKDIR<\/li>\n<li>VOLUME<\/li>\n<li>USER<\/li>\n<li>EXPOSE<\/li>\n<\/ul>\n<\/li>\n<li>Image\u7626\u8eab\u5b9e\u8df5<\/li>\n<li>\n<ul>\n<li>\u591a\u9636\u6bb5\u6784\u5efa<\/li>\n<li>\u591a\u9636\u6bb5\u6784\u5efa-\u4f8b\u5b50<\/li>\n<\/ul>\n<\/li>\n<li>\u5bb9\u5668\u65f6\u95f4\u540c\u6b65<\/li>\n<\/ul>\n<h2>Dockerfile<\/h2>\n<h3>\u6982\u8ff0<\/h3>\n<p>Dockerfile\u7531\u4e00\u884c\u884c\u547d\u4ee4\u8bed\u53e5\u7ec4\u6210&#xff0c;\u5e76\u4e14\u652f\u6301\u4ee5#\u5f00\u5934\u7684\u6ce8\u91ca\u884c\u3002<\/p>\n<p>\u4e00\u822c\u800c\u8a00&#xff0c;Dockerfile\u53ef\u4ee5\u5206\u4e3a\u56db\u90e8\u5206&#xff1a;\u57fa\u7840\u955c\u50cf\u4fe1\u606f\u3001\u7ef4\u62a4\u8005\u4fe1\u606f\u3001\u955c\u50cf\u64cd\u4f5c\u6307\u4ee4\u3001\u542f\u52a8\u65f6\u6267\u884c\u6307\u4ee4<\/p>\n<p>https:\/\/docs.docker.com\/reference\/dockerfile\/#entrypoint<\/p>\n<p>\u5b66\u4e60\u66f4\u591aDockerfile\u7684\u5199\u6cd5&#xff1a;https:\/\/github.com\/docker-library\/<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260206092549-6985b39d8b577.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u4f8b\u5b50&#xff1a;<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260206092549-6985b39dabdeb.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u4f8b\u5b50&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u8fd9\u662f\u6211\u7684Dockerfile<\/span><br \/>\nFROM alpine<\/p>\n<p><span class=\"token comment\">#\u7ed9\u955c\u50cf\u52a0\u4e2a\u6807\u7b7e<\/span><br \/>\nLABEL <span class=\"token assign-left variable\">maintainer<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;leifengyang &#064; dd&#034;<\/span> <span class=\"token punctuation\">\\\\<\/span><br \/>\n<span class=\"token assign-left variable\">abc<\/span><span class=\"token operator\">&#061;<\/span>def <span class=\"token punctuation\">\\\\<\/span><br \/>\n<span class=\"token assign-left variable\">aaa<\/span><span class=\"token operator\">&#061;<\/span>bbb <span class=\"token assign-left variable\">cccc<\/span><span class=\"token operator\">&#061;<\/span>ddd   <\/p>\n<p><span class=\"token comment\">#\u8fd0\u884c\u7684\u6307\u4ee4&#xff0c;\u5b89\u88c5\u4e86\u8f6f\u4ef6&#xff0c;\u4fee\u6539\u4e86\u6587\u4ef6&#xff0c;\u9ed8\u8ba4\u662f\u7528id&#061;0 \u4e5f\u5c31\u662froot&#xff0c;\u8fd9\u4e2a\u57fa\u7840\u7cfb\u7edf\u7684root\u7528\u6237<\/span><br \/>\n<span class=\"token comment\">#\u4ee3\u8868\u955c\u50cf\u6784\u5efa\u8fc7\u7a0b\u4e2d\u8fd0\u884c\u7684\u547d\u4ee4\u3002<\/span><br \/>\nRUN <span class=\"token builtin class-name\">echo<\/span> <span class=\"token number\">11111<\/span><\/p>\n<p><span class=\"token comment\">#\u955c\u50cf\u542f\u52a8\u5982\u679c\u8981\u8fd0\u884c\u5f88\u957f\u547d\u4ee4\u624d\u884c&#xff0c;\u5bb9\u5668\u542f\u52a8\u6267\u884c\u7684\u547d\u4ee4<\/span><br \/>\n<span class=\"token comment\">##1\u3001\u51c6\u5907\u4e00\u4e2ash\u6587\u4ef6&#xff0c;\u8ba9\u955c\u50cf\u542f\u52a8\u8fd0\u884csh\u6587\u4ef6&#xff08;\u5927\u591a\u955c\u50cf\u64cd\u4f5c&#xff09;<\/span><br \/>\n<span class=\"token comment\">##2\u3001\u76f4\u63a5\u5728CMD\u7684\u4f4d\u7f6e\u5199\u5373\u53ef<\/span><br \/>\nCMD <span class=\"token function\">sleep<\/span> <span class=\"token number\">10<\/span><span class=\"token punctuation\">;<\/span><span class=\"token builtin class-name\">echo<\/span> success<\/p>\n<p><span class=\"token comment\"># D:\\\\lp\\\\gitcode\\\\my_private_repo\\\\demo_project\\\\itdachanglfy\\\\day03\\\\dockerfiles&gt; docker build -t myalpine:v111 -f Dockerfile .<\/span><\/p>\n<p>FROM openjdk:17<br \/>\nCOPY target\/*.jar \/app.jar<br \/>\nEXPOSE <span class=\"token number\">8080<\/span><br \/>\nENTRYPOINT <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#034;java&#034;<\/span>, <span class=\"token string\">&#034;-jar&#034;<\/span>, <span class=\"token string\">&#034;\/app.jar&#034;<\/span><span class=\"token punctuation\">]<\/span><\/p>\n<p><span class=\"token comment\"># \u8003\u8651\u5230\u7ebf\u4e0a\u7684bug\/\u8c03\u4f18\u7b49&#xff0c;\u5efa\u8bae\u4f7f\u7528jdk<\/span><br \/>\n<span class=\"token comment\">#FROM openjdk:8-jre-alpine<\/span><br \/>\n<span class=\"token comment\">#LABEL maintainer&#061;&#034;lpruoyu&#064;gmail.com&#034;<\/span><br \/>\n<span class=\"token comment\">##COPY\u4e4b\u524d\u81ea\u5df1\u624b\u52a8\u7f16\u8bd1\u51fajar\u5305<\/span><br \/>\n<span class=\"token comment\">#COPY target\/*.jar \/app.jar<\/span><br \/>\n<span class=\"token comment\">##touch \/app.jar &#xff0c;\u5728linux\u4e2d\u968f\u4fbftouch\u4e2a\u6587\u4ef6\u4f1a\u53d1\u73b0&#xff0c;touch\u4e4b\u540e&#xff0c;\u8be5\u6587\u4ef6\u7684\u65f6\u95f4\u53d8\u4e86&#xff0c;\u5185\u5bb9\u4e0d\u4f1a\u53d8&#xff1b;<\/span><br \/>\n<span class=\"token comment\">##\u6240\u4ee5touch *.jar\u7684\u597d\u5904\u662f&#xff1a;\u8bb0\u5f55\u4e00\u4e0b\u6700\u540e\u8be5jar\u4fdd\u5b58\u8fdb\u6765\u7684\u65f6\u95f4&#xff0c;\u65b9\u4fbf\u4ee5\u540e\u8ffd\u6eaf<\/span><br \/>\n<span class=\"token comment\">#RUN ln -sf \/usr\/share\/zoneinfo\/Asia\/Shanghai \/etc\/localtime &amp;&amp; echo &#039;Asia\/Shanghai&#039; &gt;\/etc\/timezone &amp;&amp; touch \/app.jar<\/span><br \/>\n<span class=\"token comment\">#ENV JAVA_OPTS&#061;&#034;&#034;<\/span><br \/>\n<span class=\"token comment\">#ENV PARAMS&#061;&#034;&#034;<\/span><br \/>\n<span class=\"token comment\">##\u6bcf\u4e00\u4e2a\u542f\u52a8\u7684Java\u5bb9\u5668\u90fd\u662f\u4e00\u4e2a\u5c0f\u7684jvm&#xff0c;\u800c\u4e14\u90fd\u662f\u8fdb\u7a0b\u9694\u79bb\u7684&#xff0c;<\/span><br \/>\n<span class=\"token comment\">##\u5728\u8fd9\u513f\u52a0\u8fd9\u4fe9ENV\u7684\u4f5c\u7528\u5c31\u662f&#xff0c;\u65b9\u4fbf\u4ee5\u540e\u4fee\u6539jvm\u8fd0\u884c\u53c2\u6570&#xff0c;\u65b9\u4fbf\u8c03\u4f18<\/span><br \/>\n<span class=\"token comment\">#ENTRYPOINT [ &#034;sh&#034;,&#034;-c&#034;,&#034;java -Djava.security.egd&#061;file:\/dev\/.\/urandom$JAVA_OPTS -jar \/app.jar $PARAMS&#034; ]<\/span><\/p>\n<p>Dockerfile\u8fd0\u884c\u547d\u4ee4&#xff1a;<\/p>\n<p><span class=\"token comment\">#\u4f20\u5165\u6784\u5efa\u53c2\u6570<\/span><br \/>\n<span class=\"token function\">docker<\/span> build &#8211;no-cache &#8211;build-arg <span class=\"token assign-left variable\">param<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;11 22 33&#034;<\/span> <span class=\"token assign-left variable\">msg<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;aa bb cc&#034;<\/span> -t demo:test -f Dockerfile4 <span class=\"token builtin class-name\">.<\/span><\/p>\n<p><span class=\"token comment\">#\u8fdb\u5165\u5bb9\u5668\u63a7\u5236\u53f0<\/span><br \/>\n<span class=\"token function\">docker<\/span> <span class=\"token builtin class-name\">exec<\/span> -it mydemo1 \/bin\/sh<\/p>\n<p><span class=\"token comment\"># \u7528\u5b8c\u5bb9\u5668\u5c31\u5220\u9664<\/span><br \/>\n<span class=\"token function\">docker<\/span> run -d -P &#8211;rm &#8211;name<span class=\"token operator\">&#061;<\/span>xxx nginx<\/p>\n<h3>FROM<\/h3>\n<p>FROM \u6307\u5b9a\u57fa\u7840\u955c\u50cf&#xff0c;\u6700\u597d\u6311\u4e00\u4e9bapline&#xff0c;slim\u4e4b\u7c7b\u7684\u57fa\u7840\u5c0f\u955c\u50cf<\/p>\n<p>scratch\u955c\u50cf\u662f\u4e00\u4e2a\u7a7a\u955c\u50cf&#xff0c;\u5e38\u7528\u4e8e\u591a\u9636\u6bb5\u6784\u5efa<\/p>\n<p>\u5982\u4f55\u786e\u5b9a\u6211\u9700\u8981\u4ec0\u4e48\u8981\u7684\u57fa\u7840\u955c\u50cf&#xff1f;<\/p>\n<ul>\n<li>Java\u5e94\u7528\u5f53\u7136\u662fjava\u57fa\u7840\u955c\u50cf&#xff08;SpringBoot\u5e94\u7528&#xff09;\u6216\u8005Tomcat\u57fa\u7840\u955c\u50cf&#xff08;War\u5e94\u7528&#xff09;<\/li>\n<li>JS\u6a21\u5757\u5316\u5e94\u7528\u4e00\u822c\u7528nodejs\u57fa\u7840\u955c\u50cf<\/li>\n<li>\u5176\u4ed6\u5404\u79cd\u8bed\u8a00\u7528\u81ea\u5df1\u7684\u670d\u52a1\u5668\u6216\u8005\u57fa\u7840\u73af\u5883\u955c\u50cf&#xff0c;\u5982python\u3001golang\u3001java\u3001php\u7b49<\/li>\n<\/ul>\n<h3>LABEL<\/h3>\n<p>\u6807\u6ce8\u955c\u50cf\u7684\u4e00\u4e9b\u8bf4\u660e\u4fe1\u606f\u3002<\/p>\n<p>LABEL multi.label1<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;value1&#034;<\/span> multi.label2<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;value2&#034;<\/span> <span class=\"token assign-left variable\">other<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;value3&#034;<\/span><br \/>\nLABEL multi.label1<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;value1&#034;<\/span> <span class=\"token punctuation\">\\\\<\/span><br \/>\nmulti.label2<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;value2&#034;<\/span> <span class=\"token punctuation\">\\\\<\/span><br \/>\n<span class=\"token assign-left variable\">other<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;value3&#034;<\/span><\/p>\n<h3>RUN<\/h3>\n<p>RUN\u6307\u4ee4\u5728\u5f53\u524d\u955c\u50cf\u5c42\u9876\u90e8\u7684\u65b0\u5c42\u6267\u884c\u4efb\u4f55\u547d\u4ee4&#xff0c;\u5e76\u63d0\u4ea4\u7ed3\u679c&#xff0c;\u751f\u6210\u65b0\u7684\u955c\u50cf\u5c42\u3002<\/p>\n<p>\u751f\u6210\u7684\u63d0\u4ea4\u6620\u50cf\u5c06\u7528\u4e8eDockerfile\u4e2d\u7684\u4e0b\u4e00\u6b65\u3002<\/p>\n<p>\u5206\u5c42\u8fd0\u884cRUN\u6307\u4ee4\u5e76\u751f\u6210\u63d0\u4ea4\u7b26\u5408Docker\u7684\u6838\u5fc3\u6982\u5ff5&#xff0c;\u5c31\u50cf\u6e90\u4ee3\u7801\u63a7\u5236\u4e00\u6837\u3002<\/p>\n<p>exec\u5f62\u5f0f\u53ef\u4ee5\u907f\u514d\u7834\u574fshell\u5b57\u7b26\u4e32&#xff0c;\u5e76\u4f7f\u7528\u4e0d\u5305\u542b\u6307\u5b9ashell\u53ef\u6267\u884c\u6587\u4ef6\u7684\u57fa\u672c\u6620\u50cf\u8fd0\u884cRUN\u547d\u4ee4\u3002<\/p>\n<p>\u53ef\u4ee5\u4f7f\u7528SHELL\u547d\u4ee4\u66f4\u6539shell\u5f62\u5f0f\u7684\u9ed8\u8ba4shell\u3002 \u5728shell\u5f62\u5f0f\u4e2d&#xff0c;\u60a8\u53ef\u4ee5\u4f7f\u7528\\\\&#xff08;\u53cd\u659c\u6760&#xff09;\u5c06\u4e00\u6761RUN\u6307\u4ee4\u7ee7\u7eed\u5230\u4e0b\u4e00\u884c\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260206092549-6985b39dd1571.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260206092550-6985b39e0c111.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u603b\u7ed3&#xff1a;\u4ec0\u4e48\u662fshell\u548cexec\u5f62\u5f0f<\/p>\n<p><span class=\"token number\">1<\/span>. shell \u662f \/bin\/sh -c <span class=\"token operator\">&lt;<\/span>command<span class=\"token operator\">&gt;<\/span>\u7684\u65b9\u5f0f<br \/>\n<span class=\"token number\">2<\/span>. <span class=\"token builtin class-name\">exec<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#034;\/bin\/sh&#034;<\/span>,<span class=\"token string\">&#034;-c&#034;<\/span>,command<span class=\"token punctuation\">]<\/span> \u7684\u65b9\u5f0f  <span class=\"token operator\">&#061;&#061;<\/span>  shell\u65b9\u5f0f<br \/>\n\u4e5f\u5c31\u662fexec \u9ed8\u8ba4\u65b9\u5f0f\u4e0d\u4f1a\u8fdb\u884c\u53d8\u91cf\u66ff\u6362<\/p>\n<p>\u4f8b\u5b50&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u4e0d\u53ef\u4ee5\u5f15\u7528\u591a\u4e2a<\/span><br \/>\nFROM alpine<\/p>\n<p>LABEL <span class=\"token assign-left variable\">maintainer<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;leifengyang &#064; dd&#034;<\/span> <span class=\"token punctuation\">\\\\<\/span><br \/>\n<span class=\"token assign-left variable\">abc<\/span><span class=\"token operator\">&#061;<\/span>def <span class=\"token punctuation\">\\\\<\/span><br \/>\n<span class=\"token assign-left variable\">aaa<\/span><span class=\"token operator\">&#061;<\/span>bbb <span class=\"token assign-left variable\">cccc<\/span><span class=\"token operator\">&#061;<\/span>ddd   <\/p>\n<p><span class=\"token comment\">#\u6307\u5b9a\u6784\u5efa\u53c2\u6570\u3010\u6784\u5efa\u65f6\u6709\u6548\u3011<\/span><br \/>\nARG <span class=\"token assign-left variable\">aaa<\/span><span class=\"token operator\">&#061;<\/span>liupengxxx<\/p>\n<p><span class=\"token comment\">#\u6307\u5b9a\u73af\u5883\u53d8\u91cf\u3010\u4e3a\u540e\u9762\u7684RUN\u4ee5\u53caCMD \u6307\u5b9a\u73af\u5883\u53d8\u91cf\u3011<\/span><br \/>\n<span class=\"token comment\"># ENV\u7684\u5185\u5bb9\u4f1a\u88ab\u56fa\u5316\u4fdd\u5b58\u5230docker\u7684\u955c\u50cf\u914d\u7f6e\u4e2d \u53ef\u4ee5\u4f7f\u7528docker inspect\u67e5\u770b<\/span><br \/>\nENV <span class=\"token assign-left variable\">parm<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token number\">8888888899<\/span><\/p>\n<p><span class=\"token comment\"># shell \u5f62\u5f0f&#xff1b; bash -c &#034;echo 11111&#034;<\/span><br \/>\n<span class=\"token comment\"># \u4e0d\u7528\u4f7f\u7528&#034;&#034;<\/span><br \/>\nRUN <span class=\"token builtin class-name\">echo<\/span> <span class=\"token variable\">$parm<\/span><span class=\"token punctuation\">;<\/span> <span class=\"token builtin class-name\">echo<\/span> <span class=\"token variable\">$aaa<\/span><br \/>\nRUN <span class=\"token builtin class-name\">echo<\/span> <span class=\"token variable\">${parm}<\/span><span class=\"token punctuation\">;<\/span> <span class=\"token builtin class-name\">echo<\/span> <span class=\"token variable\">${aaa}<\/span><\/p>\n<p><span class=\"token comment\">#  exec \u5f62\u5f0f\u3002<\/span><br \/>\n<span class=\"token comment\"># \u8981\u4f7f\u7528&#034;&#034;<\/span><br \/>\nRUN <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#034;echo&#034;<\/span>,<span class=\"token string\">&#034;<span class=\"token variable\">$parm<\/span>&#034;<\/span><span class=\"token punctuation\">]<\/span><br \/>\nRUN <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#034;echo&#034;<\/span>,<span class=\"token string\">&#034;<span class=\"token variable\">$aaa<\/span>&#034;<\/span><span class=\"token punctuation\">]<\/span><br \/>\nRUN <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#034;echo&#034;<\/span>,<span class=\"token string\">&#034;<span class=\"token variable\">${parm}<\/span>&#034;<\/span><span class=\"token punctuation\">]<\/span><br \/>\nRUN <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#034;echo&#034;<\/span>,<span class=\"token string\">&#034;<span class=\"token variable\">${aaa}<\/span>&#034;<\/span><span class=\"token punctuation\">]<\/span><\/p>\n<p>RUN <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#034;echo&#034;<\/span>,<span class=\"token string\">&#034;env  parm is <span class=\"token variable\">$parm<\/span>&#034;<\/span><span class=\"token punctuation\">]<\/span><br \/>\nRUN <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#034;echo&#034;<\/span>,<span class=\"token string\">&#034;arg  aaa is <span class=\"token variable\">$aaa<\/span>&#034;<\/span><span class=\"token punctuation\">]<\/span><br \/>\nRUN <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#034;echo&#034;<\/span>,<span class=\"token string\">&#034;env  parm is <span class=\"token variable\">${parm}<\/span>&#034;<\/span><span class=\"token punctuation\">]<\/span><br \/>\nRUN <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#034;echo&#034;<\/span>,<span class=\"token string\">&#034;arg  aaa is <span class=\"token variable\">${aaa}<\/span>&#034;<\/span><span class=\"token punctuation\">]<\/span><\/p>\n<p><span class=\"token comment\"># ENTRYPOINT\u548cCMD\u4e0d\u8981\u7528ARG&#xff0c;\u4e5f\u7528\u4e0d\u4e86<\/span><\/p>\n<p>CMD <span class=\"token function\">sleep<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span><span class=\"token builtin class-name\">echo<\/span> <span class=\"token variable\">$parm<\/span><span class=\"token punctuation\">;<\/span><span class=\"token builtin class-name\">echo<\/span> <span class=\"token variable\">$aaa<\/span><span class=\"token punctuation\">;<\/span><span class=\"token builtin class-name\">echo<\/span> <span class=\"token variable\">${aaa}<\/span><span class=\"token punctuation\">;<\/span><span class=\"token builtin class-name\">echo<\/span> <span class=\"token variable\">${parm}<\/span><br \/>\n<span class=\"token comment\"># ENTRYPOINT sleep 1;echo $parm;echo $aaa;echo ${aaa};echo ${parm}<\/span><\/p>\n<p><span class=\"token comment\"># docker build -t myalpine:v111 &#8211;no-cache -f Dockerfile_run  .<\/span><\/p>\n<p><span class=\"token comment\"># RUN&#xff0c;CMD&#xff0c;ENTRYPOINT\u4e0b\u7684&#xff1a;<\/span><br \/>\n<span class=\"token comment\"># []:  [&#034;\/bin\/sh&#034;,&#034;-c&#034;] &#061; shell<\/span><br \/>\n<span class=\"token comment\"># shell:<\/span><br \/>\n<span class=\"token comment\"># \u56e0\u6b64<\/span><br \/>\n<span class=\"token comment\">#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/span><br \/>\n<span class=\"token comment\"># FROM alpine<\/span><br \/>\n<span class=\"token comment\"># ENV url&#061;jd.com<\/span><br \/>\n<span class=\"token comment\"># CMD [&#034;ping&#034;,&#034;baidu.com&#034;]<\/span><br \/>\n<span class=\"token comment\"># CMD [&#034;ping&#034;,&#034;${url}&#034;] # \u53d6\u4e0d\u51fa\u53d8\u91cf<\/span><br \/>\n<span class=\"token comment\"># CMD ping ${url}<\/span><br \/>\n<span class=\"token comment\"># \u5b98\u65b9\u90fd\u662f\u5efa\u8bae\u4f7f\u7528\u8fd9\u79cd\u65b9\u5f0f&#xff1a;<\/span><br \/>\n<span class=\"token comment\"># CMD [&#034;\/bin\/sh&#034;,&#034;-c&#034;,&#034;ping ${url}&#034;]<\/span><br \/>\n<span class=\"token comment\">#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/span><\/p>\n<h3>CMD\u548cENTRYPOINT<\/h3>\n<h4>\u90fd\u53ef\u4ee5\u4f5c\u4e3a\u5bb9\u5668\u542f\u52a8\u5165\u53e3<\/h4>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260206092550-6985b39e5267b.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260206092550-6985b39e861f9.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h4>\u53ea\u80fd\u6709\u4e00\u4e2aCMD<\/h4>\n<p>Dockerfile\u4e2d\u53ea\u80fd\u6709\u4e00\u6761CMD\u6307\u4ee4\u3002 \u5982\u679c\u60a8\u5217\u51fa\u591a\u4e2aCMD&#xff0c;\u5219\u53ea\u6709\u6700\u540e\u4e00\u4e2aCMD\u624d\u4f1a\u751f\u6548\u3002<\/p>\n<p>CMD\u7684\u4e3b\u8981\u76ee\u7684\u662f\u4e3a\u6267\u884c\u4e2d\u7684\u5bb9\u5668\u63d0\u4f9b\u9ed8\u8ba4\u503c\u3002 \u8fd9\u4e9b\u9ed8\u8ba4\u503c\u53ef\u4ee5\u5305\u542b\u53ef\u6267\u884c\u6587\u4ef6&#xff0c;\u4e5f\u53ef\u4ee5\u7701\u7565\u53ef\u6267\u884c\u6587\u4ef6&#xff0c;\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b&#xff0c;\u60a8\u8fd8\u5fc5\u987b\u6307\u5b9aENTRYPOINT\u6307\u4ee4\u3002<\/p>\n<h4>CMD\u4e3aENTRYPOINT\u63d0\u4f9b\u9ed8\u8ba4\u53c2\u6570<\/h4>\n<p>\u5982\u679c\u4f7f\u7528CMD\u4e3aENTRYPOINT\u6307\u4ee4\u63d0\u4f9b\u9ed8\u8ba4\u53c2\u6570&#xff0c;\u5219CMD\u548cENTRYPOINT\u6307\u4ee4\u5747\u5e94\u4f7f\u7528JSON\u6570\u7ec4\u683c\u5f0f\u6307\u5b9a\u3002<\/p>\n<h4>\u7ec4\u5408\u6700\u7ec8\u6548\u679c<\/h4>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260206092550-6985b39e98b2d.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260206092550-6985b39ed3b89.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>FROM alpine<\/p>\n<p><span class=\"token comment\"># ENV url&#061;jd.com<\/span><br \/>\n<span class=\"token comment\"># CMD [&#034;ping&#034;,&#034;baidu.com&#034;]<\/span><br \/>\n<span class=\"token comment\"># CMD [&#034;ping&#034;,&#034;${url}&#034;] # \u53d6\u4e0d\u51fa\u53d8\u91cf<\/span><br \/>\n<span class=\"token comment\"># CMD ping ${url}<\/span><br \/>\n<span class=\"token comment\"># \u5b98\u65b9\u90fd\u662f\u5efa\u8bae\u4f7f\u7528\u8fd9\u79cd\u65b9\u5f0f&#xff1a;<\/span><br \/>\n<span class=\"token comment\"># CMD [&#034;\/bin\/sh&#034;,&#034;-c&#034;,&#034;ping ${url}&#034;]<\/span><\/p>\n<p><span class=\"token comment\"># CMD [&#034;useradd&#034;,&#034;-u&#034;,&#034;1000&#034;,&#034;-g&#034;,&#034;2000&#034;]<\/span><\/p>\n<p><span class=\"token comment\"># \u5b98\u65b9\u63a8\u8350\u7684\u5199\u6cd5,\u53d8\u5316\u7684\u5199 CMD&#xff0c;\u4e0d\u53d8\u7684\u5199 ENTRYPOINT&#xff1b;CMD\u662f\u63d0\u4f9b\u53c2\u6570\u7ed9ENTRYPOINT&#xff1b;\u672a\u6765ENTRYPOINT\u662f\u5bb9\u5668\u542f\u52a8\u7684\u552f\u4e00\u5165\u53e3<\/span><br \/>\n<span class=\"token comment\"># ENTRYPOINT CMD \u8fd9\u4e24\u4e2a\u5408\u5728\u4e00\u8d77\u4e0d\u80fd\u662f\u9519\u8bef\u7684\u547d\u4ee4<\/span><\/p>\n<p><span class=\"token comment\"># docker run imageName  cmd1  \u4e00\u65e6\u4f20\u9012\u4e86cmd1&#xff0c;CMD\u6307\u5b9a\u7684\u6240\u6709\u53c2\u6570\u90fd\u4f1a\u88ab\u8986\u76d6<\/span><br \/>\n<span class=\"token comment\"># \u81ea\u5b9a\u4e49\u53c2\u6570\u7684\u60c5\u51b5\u4e0b\u4e00\u5b9a\u8981\u4f20\u5b8c<\/span><br \/>\nCMD <span class=\"token punctuation\">[<\/span> <span class=\"token string\">&#034;5&#034;<\/span>,<span class=\"token string\">&#034;baidu.com&#034;<\/span> <span class=\"token punctuation\">]<\/span><br \/>\nENTRYPOINT <span class=\"token punctuation\">[<\/span> <span class=\"token string\">&#034;ping&#034;<\/span>,<span class=\"token string\">&#034;-c&#034;<\/span> <span class=\"token punctuation\">]<\/span><\/p>\n<p>FROM alpine<\/p>\n<p><span class=\"token comment\"># ENTRYPOINT: \u5165\u53e3&#xff08;\u771f\u6b63\u7684\u95e8&#xff09;<\/span><br \/>\n<span class=\"token comment\"># ENTRYPOINT\u4e0d\u80fd\u88ab\u4fee\u6539<\/span><br \/>\n<span class=\"token comment\"># ENTRYPOINT ping atguigu.com<\/span><\/p>\n<p><span class=\"token comment\"># CMD&#xff1a;\u547d\u4ee4&#xff08;\u8fdb\u95e8\u7684\u65f6\u5019\u5e26\u53e3\u4ee4&#xff09;<\/span><br \/>\n<span class=\"token comment\"># CMD \u53ef\u4ee5\u88ab\u4fee\u6539\u3010docker run \u65f6\u5e26\u53c2\u6570\u3011<\/span><br \/>\n<span class=\"token comment\"># CMD ping baidu.com<\/span><\/p>\n<p><span class=\"token comment\"># \u6700\u7ec8\u7684\u7528\u6cd5: CMD\u662f\u7ed9ENTRYPOINT\u63d0\u4f9b\u53c2\u6570\u7684<\/span><br \/>\n<span class=\"token comment\"># docker run \u53ef\u4ee5\u643a\u5e26\u53c2\u6570\u8986\u76d6CMD :  docker run demo:test jd.com<\/span><br \/>\nCMD <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#034;baidu.com&#034;<\/span><span class=\"token punctuation\">]<\/span><br \/>\nENTRYPOINT <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#034;ping&#034;<\/span><span class=\"token punctuation\">]<\/span><\/p>\n<p><span class=\"token comment\"># \u603b\u7ed3&#xff1a;\u4e0d\u53d8\u7684\u5199ENTRYPOINT&#xff1b;\u53d8\u5316\u7684\u5199CMD<\/span><br \/>\n<span class=\"token comment\"># \u8fd9\u4e24\u4e2a\u5408\u5728\u4e00\u8d77\u4e0d\u80fd\u662f\u9519\u8bef\u7684\u547d\u4ee4<\/span><\/p>\n<p><span class=\"token comment\">#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/span><br \/>\n<span class=\"token comment\"># \u591a\u4e2aCMD\u6216\u8005ENTRYPOINT\u53ea\u6709\u6700\u540e\u4e00\u4e2a\u751f\u6548<\/span><br \/>\n<span class=\"token comment\"># CMD ping 666.com<\/span><br \/>\n<span class=\"token comment\"># CMD ping baidu.com<\/span><br \/>\n<span class=\"token comment\"># \u6216<\/span><br \/>\n<span class=\"token comment\"># ENTRYPOINT ping 666.com<\/span><br \/>\n<span class=\"token comment\"># ENTRYPOINT ping baidu.com<\/span><\/p>\n<p><span class=\"token comment\">#  docker build &#8211;no-cache -t demo:test -f .\\\\DockerfileCMDandENTRYPOINT .<\/span><\/p>\n<h4>docker run\u542f\u52a8\u53c2\u6570\u4f1a\u8986\u76d6CMD\u5185\u5bb9<\/h4>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260206092551-6985b39f2005b.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h3>ARG\u548cENV<\/h3>\n<h4>ARG<\/h4>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260206092551-6985b39f47e1f.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p><span class=\"token comment\"># \u53ef\u4ee5\u5728\u4efb\u610f\u4f4d\u7f6e\u5b9a\u4e49ARG&#xff0c;\u5e76\u5728\u4ee5\u540e\u53d6\u503c\u4f7f\u7528<\/span><br \/>\n<span class=\"token comment\"># \u8fd0\u884c\u671f\u4e0d\u80fd\u6539 ARG \u7684\u503c<\/span><br \/>\n<span class=\"token comment\"># \u6784\u5efa\u65f6\u8981\u6539ARG&#xff1a;\u4f7f\u7528&#8211;build-arg<\/span><br \/>\n<span class=\"token comment\"># \u4f7f\u7528&#8211;build-arg version&#061;3.13 \u6539\u53d8&#xff1b;\u4ee5\u6211\u4eec\u4f20\u5165\u7684\u4e3a\u51c6<\/span><br \/>\n<span class=\"token comment\"># docker build &#8211;no-cache -t myalpine:v111 &#8211;build-arg version&#061;3.13 -f DockerfileARG  .  <\/span><br \/>\nARG <span class=\"token assign-left variable\">version<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token number\">3.13<\/span>.4<br \/>\nFROM alpine:<span class=\"token variable\">$version<\/span><\/p>\n<p>LABEL <span class=\"token assign-left variable\">maintainer<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;leifengyang&#034;<\/span> <span class=\"token assign-left variable\">a<\/span><span class=\"token operator\">&#061;<\/span>b <span class=\"token punctuation\">\\\\<\/span><br \/>\n<span class=\"token assign-left variable\">c<\/span><span class=\"token operator\">&#061;<\/span>dd<\/p>\n<p><span class=\"token comment\">#ENV:\u6784\u5efa\u671f&#043;\u8fd0\u884c\u671f\u90fd\u53ef\u4ee5\u751f\u6548&#xff1b;\u4f46\u662f\u53ea\u80fd\u5728\u8fd0\u884c\u671f\u8fdb\u884c\u4fee\u6539<\/span><br \/>\n<span class=\"token comment\">#\u6784\u5efa\u671f\u4e0d\u80fd\u6539 ENV \u7684\u503c<\/span><br \/>\n<span class=\"token comment\">#\u8fd0\u884c\u671f&#xff1a;docker run -e app&#061;atguigu \u5c31\u53ef\u4ee5\u4fee\u6539<\/span><br \/>\n<span class=\"token comment\">#docker run  -e app&#061;liupengxxx myalpine:v111<\/span><br \/>\nENV <span class=\"token assign-left variable\">app<\/span><span class=\"token operator\">&#061;<\/span>itdachang<\/p>\n<p>RUN <span class=\"token builtin class-name\">echo<\/span> <span class=\"token variable\">$app<\/span><br \/>\nRUN <span class=\"token builtin class-name\">echo<\/span> <span class=\"token variable\">$param<\/span><\/p>\n<p><span class=\"token comment\"># ARG\u5728\u5b9a\u4e49\u4ee5\u540e\u7684\u5269\u4e0b\u73af\u8282&#xff08;\u4e0d\u5305\u62ec\u8fd0\u884c\u65f6&#xff09;\u80fd\u751f\u6548<\/span><br \/>\n<span class=\"token comment\"># \u53ef\u4ee5\u5728\u6784\u5efa\u65f6\u8fdb\u884c\u53d8\u5316&#xff0c;docker build &#8211;build-arg<\/span><br \/>\n<span class=\"token comment\"># ARG\u4e0d\u50cfENV, ARG\u4e0d\u80fd\u5e76\u6392\u5199<\/span><br \/>\nARG <span class=\"token assign-left variable\">param<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token number\">123456<\/span><br \/>\nARG <span class=\"token assign-left variable\">msg<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;hello docker&#034;<\/span><\/p>\n<p><span class=\"token comment\"># \u6784\u5efa\u65f6\u8981\u6539ARG&#xff1a;&#8211;build-arg<\/span><br \/>\n<span class=\"token comment\"># docker build -t myalpine:v111 &#8211;build-arg param&#061;&#034;lpx love wb&#034; &#8211;build-arg msg&#061;99x -f DockerfileARG  .<\/span><\/p>\n<p><span class=\"token comment\"># RUN:\u6784\u5efa\u65f6\u671f\u6211\u4eec\u4f1a\u8fd0\u884c\u7684\u6307\u4ee4(\u6784\u5efa\u65f6\u671f:\u6839\u636eDockerfile\u521b\u5efa\u4e00\u4e2a\u955c\u50cf\u7684\u6574\u4e2a\u8fc7\u7a0b\u65f6\u671f)<\/span><br \/>\nRUN <span class=\"token builtin class-name\">echo<\/span> <span class=\"token number\">11111<\/span><\/p>\n<p>RUN <span class=\"token builtin class-name\">echo<\/span> <span class=\"token variable\">$param<\/span><br \/>\nRUN <span class=\"token builtin class-name\">echo<\/span> <span class=\"token variable\">$msg<\/span><\/p>\n<p><span class=\"token comment\"># CMD&#xff1a;\u8fd0\u884c\u65f6\u671f\u6211\u4eec\u4f1a\u8fd0\u884c\u7684\u6307\u4ee4(\u8fd0\u884c\u65f6\u671f:\u6839\u636e\u521b\u5efa\u7684\u955c\u50cf\u542f\u52a8\u4e00\u4e2a\u5bb9\u5668&#xff0c;\u5bb9\u5668\u542f\u52a8\u9ed8\u8ba4\u8fd0\u884c\u7684\u547d\u4ee4)<\/span><br \/>\n<span class=\"token comment\">#&#xff08;docker run\/docker start&#xff09;<\/span><br \/>\n<span class=\"token comment\"># CMD\u548cENTRYPOINT&#096; \u90fd\u662f\u6307\u5b9a\u7684\u8fd0\u884c\u65f6\u7684\u6307\u4ee4<\/span><\/p>\n<p>CMD <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#034;\/bin\/sh&#034;<\/span>,<span class=\"token string\">&#034;-c&#034;<\/span>,<span class=\"token string\">&#034;echo 1111;echo <span class=\"token variable\">$param<\/span>;echo app_<span class=\"token variable\">${app}<\/span>&#034;<\/span><span class=\"token punctuation\">]<\/span><\/p>\n<h4>ENV<\/h4>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260206092551-6985b39f960c7.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260206092551-6985b39fca710.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p><span class=\"token comment\">#ENV:\u6784\u5efa\u671f&#043;\u8fd0\u884c\u671f\u90fd\u53ef\u4ee5\u751f\u6548&#xff1b;\u4f46\u662f\u53ea\u80fd\u5728\u8fd0\u884c\u671f\u8fdb\u884c\u4fee\u6539<\/span><\/p>\n<p><span class=\"token comment\"># env\u7684\u5751<\/span><br \/>\nFROM alpine<\/p>\n<p><span class=\"token comment\"># ARG msg&#061;hello<\/span><\/p>\n<p><span class=\"token comment\"># # ENV\u80af\u5b9a\u80fd\u5f15\u7528ARG<\/span><br \/>\n<span class=\"token comment\"># ENV name&#061;${msg}<\/span><\/p>\n<p><span class=\"token comment\"># RUN echo ${name}<\/span><\/p>\n<p><span class=\"token comment\"># RUN echo ${msg}<\/span><\/p>\n<p><span class=\"token comment\">#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/span><br \/>\n<span class=\"token comment\"># ENV\u53ea\u80fd\u8fd0\u884c\u671f\u6539\u6389<\/span><br \/>\nENV <span class=\"token assign-left variable\">msg1<\/span><span class=\"token operator\">&#061;<\/span>hello<br \/>\nENV <span class=\"token assign-left variable\">msg2<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token variable\">$msg1<\/span><br \/>\n<span class=\"token comment\"># \u4ee5\u4e0a\u6784\u5efa\u671f\u95f4\u5c31\u5df2\u7ecf\u786e\u5b9a\u597d\u503c\u4e86&#xff1b;<\/span><br \/>\n<span class=\"token comment\">#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/span><\/p>\n<p>RUN <span class=\"token builtin class-name\">echo<\/span> <span class=\"token variable\">${msg1}<\/span><br \/>\nRUN <span class=\"token builtin class-name\">echo<\/span> <span class=\"token variable\">${msg2}<\/span><\/p>\n<p><span class=\"token comment\"># ENV\u6301\u4e45\u5316\u95ee\u9898\u3002<\/span><br \/>\n<span class=\"token comment\"># msg1&#061;msg2\u6ca1\u95ee\u9898&#xff1b;\u5982\u679c\u6211\u8fd0\u884c\u671f\u4fee\u6539\u4e86msg1\u7684\u503c&#xff0c;\u8bf7\u95eemsg1\u3001msg2\u8f93\u51fa\u4ec0\u4e48&#xff1f;<\/span><br \/>\n<span class=\"token comment\"># docker run -e msg1&#061;666  myalpine:v111  \u7ed3\u679c\u8f93\u51fa&#xff1a; 666   hello; <\/span><br \/>\n<span class=\"token comment\"># \u539f\u56e0&#xff1a;<\/span><br \/>\n<span class=\"token comment\"># \u4e3a\u4ec0\u4e48\u8fd0\u884c\u671f\u95f4\u80fd\u7528ENV\u5b9a\u4e49\u7684\u6240\u6709\u503c&#xff0c;\u4e00\u5b9a\u662fENV\u5b58\u5728\u67d0\u4e2a\u5730\u65b9<\/span><br \/>\n<span class=\"token comment\"># docker build\u7684\u65f6\u5019&#xff0c;env\u73af\u5883\u7684\u4fe1\u606f\u4f1a\u56fa\u5316&#xff0c;\u76f4\u63a5\u5728\u955c\u50cf\u914d\u7f6e\u91cc\u9762\u5c31\u5df2\u7ecf\u5199\u6b7b\u4e86&#xff0c;msg1&#061;hello&#xff0c;msg2&#061;hello<\/span><br \/>\n<span class=\"token comment\"># -e \u53ea\u80fd\u4fee\u6539\u5f53\u524denv\u672c\u8eab<\/span><\/p>\n<p><span class=\"token comment\"># docker run -e msg1&#061;666 -e msg2&#061;777  myalpine:v111<\/span><br \/>\n<span class=\"token comment\"># \u8f93\u51fa 666 777<\/span><\/p>\n<p>CMD <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#034;\/bin\/sh&#034;<\/span>,<span class=\"token string\">&#034;-c&#034;<\/span>,<span class=\"token string\">&#034;echo <span class=\"token variable\">${msg1}<\/span>;echo <span class=\"token variable\">${msg2}<\/span>;&#034;<\/span><span class=\"token punctuation\">]<\/span><\/p>\n<h3>ADD\u548cCOPY<\/h3>\n<h4>COPY<\/h4>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260206092551-6985b39feabc1.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>FROM alpine<br \/>\n<span class=\"token environment constant\">USER<\/span> <span class=\"token number\">2000<\/span>:2000<br \/>\nCOPY &#8211;chown<span class=\"token operator\">&#061;<\/span><span class=\"token number\">2000<\/span>:2000   *.txt   \/b.txt<br \/>\n<span class=\"token comment\"># COPY *.txt   \/b.txt<\/span><br \/>\nRUN <span class=\"token function\">ls<\/span> -l \/<br \/>\nRUN  <span class=\"token builtin class-name\">echo<\/span> liupeng999 <span class=\"token operator\">&gt;&gt;<\/span> \/b.txt<\/p>\n<p><span class=\"token comment\"># \u5982\u4f55\u6d4b\u8bd5&#xff1a;<\/span><br \/>\n<span class=\"token comment\">#&#8212;&#8212;&#8212;&#8211;<\/span><br \/>\n<span class=\"token comment\"># \u4ee5root\u8eab\u4efd\u521b\u5efa\u4e00\u4e2a.txt\u6587\u4ef6<\/span><br \/>\n<span class=\"token comment\"># $ ls -l   #root\u624d\u80fd\u64cd\u4f5c\u8be5\u6587\u4ef6<\/span><br \/>\n<span class=\"token comment\"># -rw-r&#8211;r&#8211; 1 root    root      7 Jan 23 14:57 xxx.txt<\/span><br \/>\n<span class=\"token comment\">#&#8212;&#8212;&#8212;&#8211;<\/span><\/p>\n<p><span class=\"token comment\"># COPY\u4e0d\u52a0&#8211;chown<\/span><br \/>\n<span class=\"token comment\"># COPY\u52a0&#8211;chown<\/span><br \/>\n<span class=\"token comment\"># \u770b\u770b\u80fd\u4e0d\u80fd\u5199\u8fdb\u5165<\/span><br \/>\n<span class=\"token comment\"># \u53ef\u4ee5\u8fdb\u5165\u5bb9\u5668\u5185\u90e8\u770b\u770b\u6587\u4ef6\u7684\u6240\u6709\u8005\u662f\u8c01<\/span><\/p>\n<h4>ADD<\/h4>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260206092552-6985b3a04497c.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>FROM alpine<\/p>\n<p><span class=\"token comment\"># ADD:\u628a\u4e0a\u4e0b\u6587Context\u6307\u5b9a\u7684\u5185\u5bb9\u6dfb\u52a0\u5230\u955c\u50cf\u4e2d<\/span><br \/>\n<span class=\"token comment\"># \u5982\u679c\u662f\u8fdc\u7a0b\u6587\u4ef6&#xff0c;\u81ea\u52a8\u4e0b\u8f7d&#xff1b;<\/span><br \/>\n<span class=\"token comment\"># \u5982\u679c\u662f\u538b\u7f29\u5305&#xff0c;\u81ea\u52a8\u89e3\u538b&#xff1b;<\/span><\/p>\n<p><span class=\"token comment\"># ADD:\u5982\u679c\u662f\u8fdc\u7a0b\u6587\u4ef6&#xff0c;\u81ea\u52a8\u4e0b\u8f7d&#xff1b;<\/span><br \/>\n<span class=\"token comment\"># \u628a\u5f53\u524d\u5185\u5bb9\u590d\u5236\u5230\u8fd9\u4e2a alpine\u5c0f\u7cfb\u7edf\u91cc\u9762<\/span><br \/>\nADD https:\/\/download.redis.io\/releases\/redis-6.2.1.tar.gz  \/dest\/<br \/>\n<span class=\"token comment\">#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/span><br \/>\n<span class=\"token comment\"># RUN\u6307\u4ee4\u4e0a\u4e0b\u5e76\u6ca1\u6709\u4e0a\u4e0b\u6587\u5173\u7cfb&#xff1b;<\/span><br \/>\n<span class=\"token comment\"># RUN cd \/dest<\/span><br \/>\n<span class=\"token comment\"># \u5f53\u524d\u8fd8\u662f\u5217\u4e3e\u7684\u6839\u76ee\u5f55<\/span><br \/>\n<span class=\"token comment\"># RUN ls -l<\/span><br \/>\n<span class=\"token comment\"># \u8981\u60f3\u8fdb\u5165dest\u76ee\u5f55\u5e76\u67e5\u770bdest\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6&#xff0c;\u9700\u8981\u8fd9\u6837\u5199&#xff1a;<\/span><br \/>\nRUN <span class=\"token builtin class-name\">cd<\/span> \/dest <span class=\"token operator\">&amp;&amp;<\/span> <span class=\"token function\">ls<\/span> -l<br \/>\n<span class=\"token comment\">#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/span><\/p>\n<p><span class=\"token comment\"># ADD:\u5982\u679c\u662f\u538b\u7f29\u5305&#xff0c;\u81ea\u52a8\u89e3\u538b&#xff1b;<\/span><br \/>\n<span class=\"token comment\"># \u672c\u5730linux\u7cfb\u7edf\u628a\u5185\u5bb9\u6587\u4ef6\u6dfb\u52a0\u8fdb\u53bb  \u3010\u5bbf\u4e3b\u673a   \u955c\u50cf\u5185\u3011<\/span><br \/>\n<span class=\"token comment\"># docker build &#8211;no-cache -t demo:test  -f Dockerfile .\u3010. &#xff1a;\u4e0a\u4e0b\u6587\u7684\u6587\u4ef6\u8def\u5f84\u3011   .\u4ee3\u8868\u4e0a\u4e0b\u6587\u73af\u5883\u4e5f\u5c31\u662f\u5f53\u524dDockerfile\u6240\u5728\u76ee\u5f55<\/span><br \/>\n<span class=\"token comment\"># \u538b\u7f29\u5305\u4f4d\u7f6e\u653e\u5728&#xff1a;\/root\/dockerfiles\/ &#061;&#061;&#061;&#061;&gt; docker build &#8211;no-cache -t demo:test  -f Dockerfile \/root\/dockerfiles\/<\/span><br \/>\nADD *.tar.gz   \/app\/<br \/>\nRUN <span class=\"token builtin class-name\">cd<\/span> \/app <span class=\"token operator\">&amp;&amp;<\/span> <span class=\"token function\">ls<\/span> -l<\/p>\n<h3>WORKDIR<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260206092552-6985b3a062466.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>FROM alpine<\/p>\n<p><span class=\"token comment\">#\u590d\u5236\u5230\u5f53\u524d\u76ee\u5f55\u4e0b<\/span><br \/>\n<span class=\"token comment\"># COPY *.txt   .\/<\/span><br \/>\n<span class=\"token comment\"># \u6ca1\u6307\u5b9aWORKDIR\u9ed8\u8ba4\u5728\/\u76ee\u5f55<\/span><br \/>\n<span class=\"token comment\"># RUN pwd &amp;&amp; ls -l<\/span><\/p>\n<p><span class=\"token comment\"># WORKDIR\u4e3a\u4ee5\u4e0b\u6240\u6709\u7684\u547d\u4ee4\u8fd0\u884c\u6307\u5b9a\u4e86\u57fa\u7840\u76ee\u5f55<\/span><br \/>\nWORKDIR \/app<\/p>\n<p><span class=\"token comment\"># WORKDIR abc<\/span><br \/>\n<span class=\"token comment\"># \u7ed3\u679c&#xff1a;\/app\/abc<\/span><br \/>\n<span class=\"token comment\"># \u591a\u4e2aWORKDIR\u53ef\u4ee5\u5d4c\u5957<\/span><br \/>\n<span class=\"token comment\"># RUN pwd &amp;&amp; ls -l<\/span><\/p>\n<p><span class=\"token comment\"># \u53ef\u4ee5\u4f7f\u7528WORKDIR\u4e3a\u8fdb\u5165\u5bb9\u5668\u6307\u5b9a\u76ee\u5f55<\/span><br \/>\n<span class=\"token comment\"># docker exec -it mydemo1 \/bin\/sh<\/span><\/p>\n<p><span class=\"token comment\">##\u6bd4\u5982\u6211\u4eec\u81ea\u5df1\u7684nginx\u955c\u50cf\u53ef\u4ee5\u505a\u6210\u8fd9\u6837&#xff0c;\u6765\u65b9\u4fbf\u4fee\u6539<\/span><br \/>\n<span class=\"token comment\">#WORKDIR \/usr\/share\/nginx\/html<\/span><\/p>\n<p><span class=\"token comment\">#\u590d\u5236\u5230\u5f53\u524d\u76ee\u5f55\u4e0b<\/span><br \/>\nCOPY *.txt   .\/<\/p>\n<p><span class=\"token comment\"># RUN  pwd &amp;&amp; ls -l<\/span><\/p>\n<p>CMD <span class=\"token function\">ping<\/span> baidu.com<\/p>\n<p>FROM nginx:1.10<br \/>\nWORKDIR \/usr\/share\/nginx\/html<\/p>\n<p><span class=\"token comment\">#\u5269\u4e0b\u90fd\u662f\u539f\u6765 nginx \u9ed8\u8ba4\u7684<\/span><br \/>\n<span class=\"token comment\"># docker build &#8211;no-cache -t demo:test -f DockerfileWORKDIRmynginx .<\/span><br \/>\n<span class=\"token comment\"># docker run -d -P &#8211;name&#061;mmnginx demo:test<\/span><br \/>\n<span class=\"token comment\"># docker exec -it mmnginx \/bin\/bash<\/span><\/p>\n<h3>VOLUME<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260206092552-6985b3a099ce5.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>FROM alpine<\/p>\n<p>RUN <span class=\"token function\">mkdir<\/span> \/hello <span class=\"token operator\">&amp;&amp;<\/span> <span class=\"token function\">mkdir<\/span> \/app<br \/>\nRUN <span class=\"token builtin class-name\">echo<\/span> <span class=\"token number\">1111<\/span> <span class=\"token operator\">&gt;<\/span> \/hello\/a.txt<br \/>\nRUN <span class=\"token builtin class-name\">echo<\/span> <span class=\"token number\">222<\/span> <span class=\"token operator\">&gt;<\/span> \/app\/b.txt<\/p>\n<p><span class=\"token comment\"># VOLUME&#xff1a;\u6302\u8f7d \u5bb9\u5668\u5185\u7684\u6307\u5b9a\u6587\u4ef6\u5939&#xff0c;\u5982\u679c\u4e0d\u5b58\u5728\u5c31\u521b\u5efa\u3002<\/span><br \/>\n<span class=\"token comment\"># \u53ea\u8981\u6307\u5b9a\u4e86 VOLUME ,\u5373\u4f7f\u542f\u52a8\u5bb9\u5668\u6ca1\u6709\u6307\u5b9a -v \u53c2\u6570&#xff0c;\u6211\u4eec\u4e5f\u4f1a\u81ea\u52a8\u8fdb\u884c\u533f\u540d\u5377\u6302\u8f7d<\/span><\/p>\n<p><span class=\"token comment\"># VOLUME \u6307\u5b9a\u7684\u6302\u8f7d\u76ee\u5f55<\/span><br \/>\nVOLUME <span class=\"token punctuation\">[<\/span> <span class=\"token string\">&#034;\/hello&#034;<\/span>,<span class=\"token string\">&#034;\/app&#034;<\/span> <span class=\"token punctuation\">]<\/span><\/p>\n<p><span class=\"token comment\"># \u8fd93\u53e5\u8bdd\u6ca1\u6709\u751f\u6548&#xff1b;<\/span><br \/>\n<span class=\"token comment\"># \u4e5f\u5c31\u662fVOLUME\u67d0\u4e2a\u6587\u4ef6&#xff08;\u5939&#xff09;\u4e4b\u540e&#xff0c;Dockerfile\u5185\u7684\u6539\u53d8\u5c31\u4e0d\u4f1a\u751f\u6548\u4e86<\/span><br \/>\n<span class=\"token comment\"># \u6240\u4ee5VOLUME\u5e94\u5199\u5728\u6700\u540e<\/span><br \/>\nRUN <span class=\"token builtin class-name\">echo<\/span> <span class=\"token number\">6666<\/span> <span class=\"token operator\">&gt;&gt;<\/span> \/hello\/a.txt<br \/>\nRUN <span class=\"token builtin class-name\">echo<\/span> <span class=\"token number\">8888<\/span> <span class=\"token operator\">&gt;&gt;<\/span> \/app\/b.txt<br \/>\nRUN <span class=\"token builtin class-name\">cd<\/span> \/hello <span class=\"token operator\">&amp;&amp;<\/span> <span class=\"token builtin class-name\">echo<\/span> <span class=\"token number\">88888<\/span> <span class=\"token operator\">&gt;&gt;<\/span>a.txt<\/p>\n<p><span class=\"token comment\">#\u66b4\u9732 &#xff0c;\u8fd9\u4e2a\u53ea\u662f\u4e00\u4e2a\u58f0\u660e&#xff1b;\u7ed9\u7a0b\u5e8f\u5458\u770b\u3002docker\u4e5f\u80fd\u770b\u5230<\/span><br \/>\n<span class=\"token comment\"># docker -d -P&#xff08;\u968f\u673a\u5206\u914d\u7aef\u53e3&#xff09;<\/span><br \/>\nEXPOSE <span class=\"token number\">8080<\/span><br \/>\nEXPOSE <span class=\"token number\">999<\/span><\/p>\n<p><span class=\"token comment\"># \u5e94\u7528\u573a\u666f&#xff1a;<\/span><br \/>\n<span class=\"token comment\"># JAVA \u65e5\u5fd7\u90fd\u8981\u6302\u5916\u9762 \/app\/log<\/span><br \/>\n<span class=\"token comment\"># VOLUME [&#034;\/log&#034;]<\/span><br \/>\n<span class=\"token comment\"># &#8230;<\/span><\/p>\n<p>CMD <span class=\"token function\">ping<\/span> baidu.com<\/p>\n<h3>USER<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260206092552-6985b3a0bc250.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p><span class=\"token comment\"># COPY <\/span><br \/>\n<span class=\"token comment\"># \u628a\u4e0a\u4e0b\u6587Context\u6307\u5b9a\u7684\u5185\u5bb9&#xff08;\u5bbf\u4e3b\u673a\u7684\u5185\u5bb9&#xff09;\u590d\u5236\u5230\u955c\u50cf\u4e2d<\/span><\/p>\n<p><span class=\"token comment\"># COPY\u4e0d\u81ea\u52a8\u89e3\u538b\u548c\u4e0b\u8f7d<\/span><\/p>\n<p><span class=\"token comment\"># \u5bb9\u5668\u4e2d\u7684ROOT\u867d\u7136\u4e0d\u662flinux\u5bbf\u4e3b\u673a\u7684\u771f\u5b9eroot&#xff0c;\u4f46\u662f\u53ef\u4ee5\u6539\u6389\u8fd9\u4e2a\u955c\u50cf\u7684\u6240\u6709\u4e1c\u897f<\/span><br \/>\n<span class=\"token comment\"># ROOT\u7528\u6237\u7684id\u662f0<\/span><br \/>\n<span class=\"token comment\"># \u4ee5\u540e\u53ef\u4ee5\u7ed9\u81ea\u5df1\u7684\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u7528\u6237\u8eab\u4efd\u6765\u8fd0\u884c&#xff0c;\u800c\u4e0d\u662f\u7528root(0)<\/span><br \/>\n<span class=\"token comment\"># USER 1000:1000 \u7c7b\u4f3c\u8fd9\u6837&#xff0c;\u76f4\u63a5\u4f7f\u7528\u7528\u6237id\u5373\u53ef<\/span><\/p>\n<p><span class=\"token comment\"># \u4ee5\u5bb9\u5668\u7684redis\u7528\u6237\u7684redis\u7ec4\u7684\u8eab\u4efd\u8fd0\u884c&#xff1a;<\/span><br \/>\n<span class=\"token comment\"># COPY  &#8211;chown&#061;redis:redis   *.tar.gz  \/redis\/<\/span><br \/>\n<span class=\"token comment\"># RUN cd \/redis &amp;&amp; ls -l<\/span><\/p>\n<p><span class=\"token comment\"># USER user1:group1<\/span><br \/>\n<span class=\"token comment\"># \u63a5\u4e0b\u6765\u7684\u6240\u6709\u547d\u4ee4\u90fd\u7528\u8fd9\u4e2a\u7528\u6237\u6765\u8fd0\u884c<\/span><\/p>\n<p>FROM alpine<\/p>\n<p><span class=\"token environment constant\">USER<\/span> <span class=\"token number\">1000<\/span>:1000<br \/>\n<span class=\"token comment\"># \u4ee5\u540e\u7684\u6240\u6709\u547d\u4ee4\u4f1a\u7528 1000:1000 \u8eab\u4efd\u6765\u6267\u884c\u3002<\/span><\/p>\n<p><span class=\"token comment\"># \u6709\u53ef\u80fd\u6ca1\u6709\u6267\u884c\u6743\u9650<\/span><br \/>\n<span class=\"token comment\"># COPY  *.txt   \/a.txt<\/span><br \/>\n<span class=\"token comment\"># &#8211;chown\u53ef\u4ee5\u628a\u590d\u5236\u6765\u7684\u6587\u4ef6\u7ed9\u7528\u6237\u6240\u6709\u6743<\/span><br \/>\nCOPY &#8211;chown<span class=\"token operator\">&#061;<\/span><span class=\"token number\">1000<\/span>:1000   *.txt   \/a.txt<\/p>\n<p>RUN <span class=\"token function\">ls<\/span> -l \/<\/p>\n<p>RUN  <span class=\"token builtin class-name\">echo<\/span> <span class=\"token number\">2222<\/span> <span class=\"token operator\">&gt;&gt;<\/span> \/a.txt<\/p>\n<p><span class=\"token comment\"># \u65b9\u4fbf\u8fdb\u5165\u5bb9\u5668\u67e5\u770b<\/span><br \/>\nCMD <span class=\"token function\">sleep<\/span> <span class=\"token number\">1000000<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<h3>EXPOSE<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260206092552-6985b3a0d3a80.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h2>Image\u7626\u8eab\u5b9e\u8df5<\/h2>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260206092553-6985b3a10755d.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u5982\u4f55\u8ba9\u4e00\u4e2a\u955c\u50cf\u53d8\u5f97\u66f4\u5c0f<\/p>\n<ul>\n<li>\n<p>\u9009\u62e9\u6700\u5c0f\u7684\u57fa\u7840\u955c\u50cf<\/p>\n<\/li>\n<li>\n<p>\u5408\u5e76RUN\u73af\u8282\u7684\u6240\u6709\u6307\u4ee4&#xff0c;\u5c11\u751f\u6210\u4e00\u4e9b\u5c42 <img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260206092553-6985b3a118ef6.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<\/li>\n<li>\n<p>RUN\u671f\u95f4\u53ef\u80fd\u5b89\u88c5\u5176\u4ed6\u7a0b\u5e8f\u4f1a\u751f\u6210\u4e34\u65f6\u7f13\u5b58&#xff0c;\u8981\u81ea\u884c\u5220\u9664\u3002<\/p>\n<\/li>\n<li>\n<p>\u4f7f\u7528 .dockerignore \u6587\u4ef6&#xff0c;\u6392\u9664\u4e0a\u4e0b\u6587\u4e2d\u65e0\u9700\u53c2\u4e0e\u6784\u5efa\u7684\u8d44\u6e90<\/p>\n<\/li>\n<li>\n<p>\u5408\u7406\u4f7f\u7528\u6784\u5efa\u7f13\u5b58\u52a0\u901f\u6784\u5efa\u3002[\u2013no-cache]<\/p>\n<\/li>\n<li>\n<p>\u4f7f\u7528\u591a\u9636\u6bb5\u6784\u5efa<\/p>\n<\/li>\n<\/ul>\n<h3>\u591a\u9636\u6bb5\u6784\u5efa<\/h3>\n<p>https:\/\/docs.docker.com\/develop\/develop-images\/multistage-build\/<\/p>\n<h3>\u591a\u9636\u6bb5\u6784\u5efa-\u4f8b\u5b50<\/h3>\n<p><span class=\"token comment\"># \u591a\u9636\u6bb5\u6700\u5927\u7684\u597d\u5904\u5c31\u662f\u4e4b\u524d\u7684\u9636\u6bb5\u90fd\u8ddf\u6211\u6253\u5305\u7684\u955c\u50cf\u6ca1\u5173\u7cfb&#xff0c;\u6700\u540e\u4e00\u4e2a\u9636\u6bb5&#xff0c;\u4e0d\u4f1a\u6709\u524d\u9762\u9636\u6bb5\u7684\u90a3\u4e9b\u5c42&#xff01;\u56e0\u6b64\u955c\u50cf\u5c31\u4f1a\u5f88\u5c0f<\/span><\/p>\n<p>FROM alpine<\/p>\n<p><span class=\"token comment\"># RUN  \u5b89\u88c5maven<\/span><\/p>\n<p><span class=\"token comment\"># RUN mvn clean package<\/span><\/p>\n<p><span class=\"token comment\"># COPY  xxx.jar \/app.jar<\/span><\/p>\n<p><span class=\"token comment\"># ENTRYPOINT [ &#034;java&#034;,&#034;-jar&#034;,&#034;app.jar&#034; ]<\/span><\/p>\n<p><span class=\"token comment\">#SpringBoot\u5e94\u7528 java -jar xxx.jar<\/span><\/p>\n<p><span class=\"token comment\"># \u8fd0\u884cJava\u6700\u5c11\u73af\u5883&#xff1a;jre\u73af\u5883&#xff1b;<\/span><br \/>\n<span class=\"token comment\"># \u4e0d\u5acc\u9ebb\u70e6\u4f60\u4e5f\u53ef\u4ee5\u81ea\u5df1\u6253\u5305,\u90a3\u5c31\u4e0d\u9700\u8981\u4e0a\u9762\u7684maven\u73af\u5883\u4e86<\/span><\/p>\n<p><span class=\"token comment\"># \u591a\u9636\u6bb5\u6784\u5efa&#xff1a;<\/span><br \/>\n<span class=\"token comment\"># \u4e00\u4e2a\u955c\u50cf\u5206\u4e3a\u591a\u4e2a\u5927\u7684\u9636\u6bb5\u8fdb\u884c\u6784\u5efa&#xff0c;\u6700\u7ec8\u7684\u6784\u5efa\u7ed3\u679c\u662f\u6700\u540e\u4e00\u4e2a\u9636\u6bb5\u7684\u7ed3\u679c&#xff0c;\u597d\u5904\u5c31\u662f\u80fd\u591f\u7f29\u5c0f\u955c\u50cf<\/span><\/p>\n<p><span class=\"token comment\"># \u591a\u9636\u6bb5\u6784\u5efa<\/span><br \/>\n<span class=\"token comment\"># FROM alpine AS build<\/span><br \/>\n<span class=\"token comment\"># xxxxxx<\/span><\/p>\n<p><span class=\"token comment\"># \u4e0a\u9762\u7684FROM\u662f\u8f85\u52a9\u9636\u6bb5<\/span><br \/>\n<span class=\"token comment\"># FROM  jre<\/span><\/p>\n<p><span class=\"token comment\"># COPY  &#8211;from&#061;build xxx  xxx<\/span><\/p>\n<p><span class=\"token comment\"># ENTRYPOINT [ &#034;executable&#034; ]<\/span><\/p>\n<p>FROM  maven:3.6.1-jdk-8-alpine AS buildapp<\/p>\n<p>WORKDIR \/app<br \/>\nCOPY pom.xml <span class=\"token builtin class-name\">.<\/span><br \/>\nCOPY src <span class=\"token builtin class-name\">.<\/span><\/p>\n<p>RUN mvn clean package -Dmaven.test.skip<span class=\"token operator\">&#061;<\/span>true<\/p>\n<p><span class=\"token comment\"># \/app \u4e0b\u9762\u6709 target<\/span><br \/>\nRUN <span class=\"token builtin class-name\">pwd<\/span> <span class=\"token operator\">&amp;&amp;<\/span> <span class=\"token function\">ls<\/span> -l<\/p>\n<p>RUN <span class=\"token function\">cp<\/span> \/app\/target\/*.jar  \/app.jar<br \/>\nRUN <span class=\"token function\">ls<\/span> -l<br \/>\n<span class=\"token comment\">### \u4ee5\u4e0a\u7b2c\u4e00\u9636\u6bb5\u7ed3\u675f&#xff0c;\u6211\u4eec\u5f97\u5230\u4e86\u4e00\u4e2a app.jar<\/span><\/p>\n<p><span class=\"token comment\">## \u53ea\u8981\u4e00\u4e2aJRE<\/span><br \/>\nFROM openjdk:8-jre-alpine<br \/>\n<span class=\"token comment\">#FROM openjdk:8u282-slim<\/span><br \/>\nRUN <span class=\"token function\">ln<\/span> -sf \/usr\/share\/zoneinfo\/Asia\/Shanghai \/etc\/localtime <span class=\"token operator\">&amp;&amp;<\/span> <span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#039;Asia\/Shanghai&#039;<\/span> <span class=\"token operator\">&gt;<\/span>\/etc\/timezone<br \/>\nLABEL <span class=\"token assign-left variable\">maintainer<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;534096094&#064;qq.com&#034;<\/span><br \/>\n<span class=\"token comment\"># \u628a\u4e0a\u4e00\u4e2a\u9636\u6bb5\u7684\u4e1c\u897f\u590d\u5236\u8fc7\u6765<\/span><br \/>\nCOPY &#8211;from<span class=\"token operator\">&#061;<\/span>buildapp \/app.jar  \/app.jar<\/p>\n<p><span class=\"token comment\"># docker run -e JAVA_OPTS&#061;&#034;-Xmx512m -Xms33 -&#034; -e PARAMS&#061;&#034;&#8211;spring.profiles&#061;dev &#8211;server.port&#061;8080&#034; -jar \/app\/app.jar <\/span><br \/>\n<span class=\"token comment\"># \u542f\u52a8java\u7684\u547d\u4ee4<\/span><br \/>\nENV <span class=\"token assign-left variable\">JAVA_OPTS<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;&#034;<\/span><br \/>\nENV <span class=\"token assign-left variable\">PARAMS<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;&#034;<\/span><br \/>\nENTRYPOINT <span class=\"token punctuation\">[<\/span> <span class=\"token string\">&#034;sh&#034;<\/span>, <span class=\"token string\">&#034;-c&#034;<\/span>, <span class=\"token string\">&#034;java -Djava.security.egd&#061;file:\/dev\/.\/urandom <span class=\"token variable\">$JAVA_OPTS<\/span> -jar \/app.jar <span class=\"token variable\">$PARAMS<\/span>&#034;<\/span> <span class=\"token punctuation\">]<\/span><\/p>\n<p><span class=\"token comment\"># \u591a\u9636\u6bb5\u6784\u5efa\u6709\u4e2a\u597d\u5904\u5c31\u662f&#xff1a;\u7f29\u5c0f\u955c\u50cf<\/span><\/p>\n<p><span class=\"token comment\"># https:\/\/hub.docker.com\/_\/maven\/tags?name&#061;jdk-17<\/span><br \/>\nFROM  maven:3.8.5-openjdk-17-slim AS buildapp<br \/>\n<span class=\"token comment\">#FROM  maven:3.8.5-openjdk-17-slim<\/span><\/p>\n<p>WORKDIR \/app<br \/>\n<span class=\"token comment\"># COPY \u662f\u4ece\u5bbf\u4e3b\u673a\u4e0a\u590d\u5236\u5230\u955c\u50cf\u5185\u90e8<\/span><br \/>\nCOPY pom.xml <span class=\"token builtin class-name\">.<\/span><br \/>\nCOPY src .\/src<\/p>\n<p><span class=\"token comment\">#CMD sleep 10000000<\/span><br \/>\n<span class=\"token comment\">#<\/span><br \/>\nRUN mvn clean package<\/p>\n<p><span class=\"token comment\"># \/app \u4e0b\u9762\u6709 target<\/span><br \/>\n<span class=\"token comment\">#RUN pwd &amp;&amp; ls -l<\/span><\/p>\n<p><span class=\"token comment\">#\u955c\u50cf\u5185\u90e8\u62f7\u8d1d<\/span><br \/>\nRUN <span class=\"token function\">cp<\/span> \/app\/target\/*.jar  \/app.jar<br \/>\n<span class=\"token comment\">#RUN ls -l<\/span><br \/>\n<span class=\"token comment\">### \u4ee5\u4e0a\u7b2c\u4e00\u9636\u6bb5\u7ed3\u675f&#xff0c;\u6211\u4eec\u5f97\u5230\u4e86\u4e00\u4e2a app.jar<\/span><\/p>\n<p><span class=\"token comment\">## Java\u60f3\u8981\u8fd0\u884c\u53ea\u8981\u4e00\u4e2aJRE\u5c31\u591f\u4e86<\/span><br \/>\nFROM  openjdk:26-ea-17-trixie<\/p>\n<p><span class=\"token comment\"># \u4fee\u6539\u65f6\u533a<\/span><br \/>\nRUN <span class=\"token function\">ln<\/span> -sf \/usr\/share\/zoneinfo\/Asia\/Shanghai \/etc\/localtime <span class=\"token operator\">&amp;&amp;<\/span> <span class=\"token builtin class-name\">echo<\/span> <span class=\"token string\">&#039;Asia\/Shanghai&#039;<\/span> <span class=\"token operator\">&gt;<\/span>\/etc\/timezone<br \/>\nLABEL <span class=\"token assign-left variable\">maintainer<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;lpruoyu&#064;gmail.com&#034;<\/span><br \/>\n<span class=\"token comment\"># \u628a\u4e0a\u4e00\u4e2a\u9636\u6bb5\u7684\u4e1c\u897f\u590d\u5236\u8fc7\u6765<\/span><br \/>\nCOPY &#8211;from<span class=\"token operator\">&#061;<\/span>buildapp \/app.jar  \/app.jar<\/p>\n<p><span class=\"token comment\"># docker run -e JAVA_OPTS&#061;&#034;-Xmx512m -Xms33 xxx&#034; -e PARAMS&#061;&#034;&#8211;spring.profiles&#061;dev &#8211;server.port&#061;8080 xxx&#034;<\/span><br \/>\n<span class=\"token comment\"># \u542f\u52a8java\u7684\u547d\u4ee4<\/span><br \/>\nENV <span class=\"token assign-left variable\">JAVA_OPTS<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;&#034;<\/span><br \/>\nENV <span class=\"token assign-left variable\">PARAMS<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;&#034;<\/span><\/p>\n<p><span class=\"token comment\"># EXPOSE \u4e3b\u8981\u662f\u8d77\u6587\u6863\u7684\u4f5c\u7528<\/span><br \/>\n<span class=\"token comment\">#EXPOSE 8080<\/span><\/p>\n<p>ENTRYPOINT <span class=\"token punctuation\">[<\/span> <span class=\"token string\">&#034;sh&#034;<\/span>, <span class=\"token string\">&#034;-c&#034;<\/span>, <span class=\"token string\">&#034;java -Djava.security.egd&#061;file:\/dev\/.\/urandom <span class=\"token variable\">$JAVA_OPTS<\/span> -jar \/app.jar <span class=\"token variable\">$PARAMS<\/span>&#034;<\/span> <span class=\"token punctuation\">]<\/span><\/p>\n<h2>\u5bb9\u5668\u65f6\u95f4\u540c\u6b65<\/h2>\n<p><img decoding=\"async\" src=\"2026-02-06gnxf0eps4c0.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3010Docker\u8fdb\u9636-07\u3011DockerfileDockerfile\u6982\u8ff0FROMLABELRUNCMD\u548cENTRYPOINT\u90fd\u53ef\u4ee5\u4f5c\u4e3a\u5bb9\u5668\u542f\u52a8\u5165\u53e3\u53ea\u80fd\u6709\u4e00\u4e2aCMDCMD\u4e3aENTRYPOINT\u63d0\u4f9b\u9ed8\u8ba4\u53c2\u6570\u7ec4\u5408\u6700\u7ec8\u6548\u679cdocker run\u542f\u52a8\u53c2\u6570\u4f1a\u8986\u76d6CMD\u5185\u5bb9ARG\u548cENVARGENVADD\u548cCOPYCOPYADDWORKDIRVOLUMEUSEREXPOSEImage\u7626\u8eab\u5b9e\u8df5\u591a\u9636\u6bb5\u6784\u5efa\u591a\u9636\u6bb5\u6784\u5efa-\u4f8b\u5b50\u5bb9\u5668\u65f6\u95f4\u540c\u6b65Dockerfile<br \/>\n\u6982\u8ff0<br \/>\nDockerfile\u7531\u4e00\u884c\u884c\u547d\u4ee4\u8bed<\/p>\n","protected":false},"author":2,"featured_media":72836,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[27,121,44],"topic":[],"class_list":["post-72856","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-server","tag-docker","tag-121","tag-44"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u3010Docker\u8fdb\u9636-07\u3011Dockerfile - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wsisp.com\/helps\/72856.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u3010Docker\u8fdb\u9636-07\u3011Dockerfile - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"\u3010Docker\u8fdb\u9636-07\u3011DockerfileDockerfile\u6982\u8ff0FROMLABELRUNCMD\u548cENTRYPOINT\u90fd\u53ef\u4ee5\u4f5c\u4e3a\u5bb9\u5668\u542f\u52a8\u5165\u53e3\u53ea\u80fd\u6709\u4e00\u4e2aCMDCMD\u4e3aENTRYPOINT\u63d0\u4f9b\u9ed8\u8ba4\u53c2\u6570\u7ec4\u5408\u6700\u7ec8\u6548\u679cdocker run\u542f\u52a8\u53c2\u6570\u4f1a\u8986\u76d6CMD\u5185\u5bb9ARG\u548cENVARGENVADD\u548cCOPYCOPYADDWORKDIRVOLUMEUSEREXPOSEImage\u7626\u8eab\u5b9e\u8df5\u591a\u9636\u6bb5\u6784\u5efa\u591a\u9636\u6bb5\u6784\u5efa-\u4f8b\u5b50\u5bb9\u5668\u65f6\u95f4\u540c\u6b65Dockerfile \u6982\u8ff0 Dockerfile\u7531\u4e00\u884c\u884c\u547d\u4ee4\u8bed\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/72856.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-06T09:25:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260206092549-6985b39d8b577.png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/72856.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/72856.html\",\"name\":\"\u3010Docker\u8fdb\u9636-07\u3011Dockerfile - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2026-02-06T09:25:54+00:00\",\"dateModified\":\"2026-02-06T09:25:54+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/72856.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/72856.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/72856.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u3010Docker\u8fdb\u9636-07\u3011Dockerfile\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u3010Docker\u8fdb\u9636-07\u3011Dockerfile - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wsisp.com\/helps\/72856.html","og_locale":"zh_CN","og_type":"article","og_title":"\u3010Docker\u8fdb\u9636-07\u3011Dockerfile - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"\u3010Docker\u8fdb\u9636-07\u3011DockerfileDockerfile\u6982\u8ff0FROMLABELRUNCMD\u548cENTRYPOINT\u90fd\u53ef\u4ee5\u4f5c\u4e3a\u5bb9\u5668\u542f\u52a8\u5165\u53e3\u53ea\u80fd\u6709\u4e00\u4e2aCMDCMD\u4e3aENTRYPOINT\u63d0\u4f9b\u9ed8\u8ba4\u53c2\u6570\u7ec4\u5408\u6700\u7ec8\u6548\u679cdocker run\u542f\u52a8\u53c2\u6570\u4f1a\u8986\u76d6CMD\u5185\u5bb9ARG\u548cENVARGENVADD\u548cCOPYCOPYADDWORKDIRVOLUMEUSEREXPOSEImage\u7626\u8eab\u5b9e\u8df5\u591a\u9636\u6bb5\u6784\u5efa\u591a\u9636\u6bb5\u6784\u5efa-\u4f8b\u5b50\u5bb9\u5668\u65f6\u95f4\u540c\u6b65Dockerfile \u6982\u8ff0 Dockerfile\u7531\u4e00\u884c\u884c\u547d\u4ee4\u8bed","og_url":"https:\/\/www.wsisp.com\/helps\/72856.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2026-02-06T09:25:54+00:00","og_image":[{"url":"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/02\/20260206092549-6985b39d8b577.png"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"8 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/72856.html","url":"https:\/\/www.wsisp.com\/helps\/72856.html","name":"\u3010Docker\u8fdb\u9636-07\u3011Dockerfile - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2026-02-06T09:25:54+00:00","dateModified":"2026-02-06T09:25:54+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/72856.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/72856.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/72856.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"\u3010Docker\u8fdb\u9636-07\u3011Dockerfile"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/72856","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=72856"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/72856\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media\/72836"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=72856"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=72856"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=72856"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=72856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}