{"id":1135,"date":"2022-04-06T05:14:07","date_gmt":"2022-04-05T21:14:07","guid":{"rendered":"https:\/\/www.buyao007.icu\/?p=1135"},"modified":"2022-04-06T05:25:53","modified_gmt":"2022-04-05T21:25:53","slug":"3-%e5%88%b6%e4%bd%9cdocker%e9%95%9c%e5%83%8f","status":"publish","type":"post","link":"https:\/\/www.buyao007.icu\/?p=1135","title":{"rendered":"3.\u5236\u4f5cdocker\u955c\u50cf"},"content":{"rendered":"\n<p>\u5b59\u5bcc\u9633\uff0c \u6c5f\u6e56\u4eba\u79f0\u6ca1\u4eba\u79f0\u3002\u591a\u5e74\u4e92\u8054\u7f51\u8fd0\u7ef4\u5de5\u4f5c\u7ecf\u9a8c\uff0c\u66fe\u8d1f\u8d23\u8fc7\u5b59\u5e03\u65af\u5927\u89c4\u6a21\u96c6\u7fa4\u67b6\u6784\u81ea\u52a8\u5316\u8fd0\u7ef4\u7ba1\u7406\u5de5\u4f5c\u3002\u64c5\u957fWeb\u96c6\u7fa4\u67b6\u6784\u4e0e\u81ea\u52a8\u5316\u8fd0\u7ef4\uff0c\u66fe\u8d1f\u8d23\u56fd\u5185\u67d0\u5927\u578b\u535a\u5ba2\u7f51\u7ad9\u8fd0\u7ef4\u5de5\u4f5c\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"toc_0\">1.\u624b\u52a8\u5236\u4f5c\u4e00\u4e2adocker\u955c\u50cf<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\u5236\u4f5c\u4e00\u4e2a\u57fa\u4e8ecentos7\u7cfb\u7edf\u7684nginx\u955c\u50cf(\u5355\u670d\u52a1)\r\n1:\u542f\u52a8\u4e00\u4e2a\u7eaf\u51c0\u7684centos:7\u5bb9\u5668,\u5b89\u88c5nginx\r\n&#91;root@docker01 ~]#  docker run -d -it -p 80:80 centos:7\r\n&#91;root@docker01 ~]#  docker exec -it bold_feynman \/bin\/bash\r\n#\u7136\u540e\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\r\ncurl -o \/etc\/yum.repos.d\/CentOS-Base.repo http:\/\/mirrors.aliyun.com\/repo\/Centos-7.repo\r\ncurl -o \/etc\/yum.repos.d\/epel.repo http:\/\/mirrors.aliyun.com\/repo\/epel-7.repo\r\nyum install nginx -y\r\ncd \/usr\/share\/nginx\/html\r\nrm -f img index.html en-US \r\necho sfy > index.html\r\n\u6253\u5f00\u7f51\u9875\u53ef\u4ee5\u770b\u5230index\u6587\u4ef6\u7684\u5185\u5bb9\r\n2:\u628a\u5b89\u88c5\u597d\u670d\u52a1\u7684\u5bb9\u5668,\u63d0\u4ea4\u4e3a\u955c\u50cf\r\n&#91;root@docker01 ~]#  docker container commit bold_feynman centos_nginx:v1\r\n\r\n3:\u6d4b\u8bd5\u955c\u50cf\u7684\u529f\u80fd\uff08\u5982\u679c\u4e0d\u52a0nginx -g \u2018'daemon off;'\u2019\u53c2\u6570\u7684\u8bddnginx\u662f\u8d77\u4e0d\u6765\u7684\uff09\r\n&#91;root@docker01 ~]# docker run -d -p 82:80 centos_nginx:v1 nginx -g 'daemon off;'\r\n\r\n4.\u8fd0\u884cdocker imsges\u67e5\u770b\u5236\u4f5c\u7684docker\u8d44\u6599\u5305\r\n&#91;root@docker01 ~]# docker images\r<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"toc_0\">2.\u4f7f\u7528dockerfile\u81ea\u52a8\u5236\u4f5c\u955c\u50cf<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\u624b\u52a8\u955c\u50cf\uff1a \u5c31\u50cf\u6293\u597d\u7684\u4e2d\u836f\u6253\u6210\u5305\u7ed9\u4f60\r\n\u81ea\u52a8\u5236\u4f5c\u955c\u50cf\uff1a\u5c31\u50cf\u662f\u6211\u628a\u836f\u65b9\u7ed9\u4f60\uff0c\u4f60\u81ea\u5df1\u6309\u7167\u836f\u65b9\u6765\u5236\u4f5c\u955c\u50cf\r\n\u4e24\u79cd\u65b9\u6cd5\u6700\u7ec8\u90fd\u53ef\u4ee5\u5f97\u5230\u4e00\u4e2a\u4e00\u6a21\u4e00\u6837\u7684\u955c\u50cf\r\n\r\n\u624b\u52a8\u5236\u4f5c\u955c\u50cf\u4e0e\u81ea\u52a8\u5236\u4f5c\u955c\u50cf\u7684\u533a\u522b\uff1a\r\ndockerfile\uff1a \u5c31\u76f8\u5f53\u4e8e\u90a3\u4e2a\u914d\u65b9\r<\/code><\/pre>\n\n\n\n<p><strong><em>1.dockerfile\u5e38\u7528\u6307\u4ee4<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>FROM  \u57fa\u7840\u955c\u50cf\r\nRUN  \u5236\u4f5c\u955c\u50cf\u8fc7\u7a0b\u4e2d\u9700\u8981\u7684\u6267\u884c\u547d\u4ee4(\u5b89\u88c5\u670d\u52a1\u4e0d\u80fd\u51fa\u73b0\u592f\u4f4f\u7684\u547d\u4ee4\u5c31\u662f\u4ea4\u4e92\u5f0f\u547d\u4ee4)\r\nCMD  \u5bb9\u5668\u542f\u52a8\u7684\u65f6\u5019\u6267\u884c\u7684\u521d\u59cb\u547d\u4ee4\uff0c\u5bb9\u6613\u88ab\u66ff\u6362(\u542f\u52a8\u670d\u52a1)\r\nENTRYPOINT  \u5bb9\u5668\u542f\u52a8\u7684\u65f6\u5019\u6267\u884c\u7684\u521d\u59cb\u547d\u4ee4\uff0c\u4e0d\u80fd\u88ab\u66ff\u6362\uff0c\u5982\u679c\u540c\u65f6\u4f7f\u7528CMD\u548cENTRYPOINT\uff0ccmd\u547d\u4ee4\u5c06\u4f5c\u4e3aENTRYPOINT\u547d\u4ee4\u7684\u53c2\u6570\r\nCMD\u6307\u4ee4\u5728\u542f\u52a8\u5bb9\u5668\u65f6\u6307\u5b9a\u4e86\u521d\u59cb\u547d\u4ee4\uff0c\u90a3CMD\u4f1a\u88ab\u66ff\u6362\r\nENTRYPOINT\u6307\u4ee4\u5728\u542f\u52a8\u5bb9\u5668\u65f6\u4e0d\u4f1a\u66ff\u6362\uff0c\u53cd\u800c\u4f1a\u5c06\u5176\u8f6c\u6362\u4e3a\u53c2\u6570\u3002\r\n\u4f8b\u5982\u5728\u542f\u52a8\u5bb9\u5668\u65f6\u6307\u5b9a\u4e86echo 123 \u90a3\u4e48\u521d\u59cb\u547d\u4ee4\u662f\"\/bin\/bash \/init.sh echo 123\"\uff0c\u5982\u679c\u811a\u672c\u91cc\u6709\u8c03\u7528\u53d8\u91cf\u7684\u4f1a\u5f88\u65b9\u4fbf\r\nADD  \u628adockerfile\u5f53\u524d\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\u62f7\u8d1d\u5230\u5bb9\u5668\u4e2d\uff08\u81ea\u52a8\u89e3\u538btar\u5305\uff09\r\nCOPY  \u628adockerfile\u5f53\u524d\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\u62f7\u8d1d\u5230\u5bb9\u5668\u4e2d\uff08\u4e0d\u89e3\u538btar\u5305\uff09\r\nWORKDIR \u6307\u5b9a\u5bb9\u5668\u7684\u9ed8\u8ba4\u5de5\u4f5c\u76ee\u5f55\r\nEXPOSE  \u955c\u50cf\u8981\u66b4\u9732\u7684\u7aef\u53e3#-P\u53c2\u6570\u968f\u673a\u7aef\u53e3\u662f\u5bbf\u4e3b\u673a\u968f\u673a\u7aef\u53e3\u6620\u5c04\u66b4\u9732\u7684\u5bb9\u5668\u7aef\u53e3\r\nVOLUME  \u968f\u673a\u7684\u6301\u4e45\u5316\u5377\uff0c\u8ddf\u4e0a\u4f60\u8981\u6301\u4e45\u5316\u7684\u76ee\u5f55\uff0c\u591a\u4e2a\u76ee\u5f55\u7a7a\u683c\u5206\u5f00\r\nENV  \u73af\u5883\u53d8\u91cf(ssh\u7684\u5bc6\u7801,\u6570\u636e\u5e93\u7684\u5bc6\u7801)ENV SSH_Pass 123\r\nLABEL  \u955c\u50cf\u7684\u5c5e\u6027\u6807\u7b7e\r\nMAINTAINER  \u7ba1\u7406\u8005\u6807\u8bc6\n\n<strong>\u4f8b\u5b50\uff1a<\/strong>\nFROM centos\r\nRUN yum -y install php &amp;&amp; yum -y install nginx &amp;&amp; rm -f \/usr\/share\/nginx\/html\/index.html\r\nADD ssh_host_ecdsa_key \/etc\/ssh\/ssh_host_ecdsa_key\r\nADD ssh_host_ecdsa_key.pub \/etc\/ssh\/ssh_host_ecdsa_key.pub\r\nRUN chmod 600 \/etc\/ssh\/ssh_host_ecdsa_key &amp;&amp; chmod 600 \/etc\/ssh\/ssh_host_ecdsa_key.pub\r\nRUN yum install openssh-server -y &amp;&amp; yum install initscripts -y &amp;&amp;  \/usr\/sbin\/sshd &amp;&amp; yum -y install passwd &amp;&amp;  echo '123456'|passwd --stdin root\r\nADD init.sh   \/init.sh\r\nEXPOSE 80 22\r\nADD xiaoniao.tar.gz \/usr\/share\/nginx\/html\r\n#CMD &#91;\"nginx\",\"-g\",\"daemon off;\"]\r\nVOLUME \/etc \/root\r\nENV Ssh_pass 123\r\nCMD &#91;\"\/bin\/bash\",\"\/init.sh\"]\r\n<strong>\u6839\u636edockerfile\u81ea\u52a8\u6784\u5efa\u955c\u50cf\u7684\u601d\u8def<\/strong>\r\na:   \u624b\u52a8\u5236\u4f5cdocker\u955c\u50cf\uff0c\u8bb0\u5f55\u5386\u53f2\u547d\u4ee4\r\nb\uff1a \u6839\u636e\u5386\u53f2\u547d\u4ee4\u7f16\u5199dockerfile\u6587\u4ef6\r\nc\uff1a docker build\u6784\u5efadocker\u955c\u50cf\r\nd\uff1a \u6d4b\u8bd5\u955c\u50cf\u7684\u529f\u80fd\r\n\r<\/code><\/pre>\n\n\n\n<p><strong><em>2.dockerfile\u5355\u670d\u52a1\u4f8b\u5b50<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>1.\u521b\u5efa\u5bf9\u5e94\u76ee\u5f55\uff0c\u7f16\u5199dockerfile\r\n&#91;root@docker01 ~]#  mkdir dockerfile\r\n&#91;root@docker01 ~]#  cd dockerfile\r\n&#91;root@docker01 ~\/dockerfile]#  mkdir centos7_nginx\/\r\n&#91;root@docker01 ~\/dockerfile]#  mkdir centos7_nginx\/\r\n&#91;root@docker01 ~\/dockerfile]#  cd centos7_nginx\/\r\n&#91;root@docker01 ~\/dockerfile\/centos7_nginx]#  vi dockerfile\r\n&#91;root@docker01 ~\/dockerfile\/centos7_nginx]#  cat dockerfile\r\nFROM centos:7\r\nRUN curl -o \/etc\/yum.repos.d\/CentOS-Base.repo http:\/\/mirrors.aliyun.com\/repo\/Centos-7.repo\r\nRUN curl -o \/etc\/yum.repos.d\/epel.repo http:\/\/mirrors.aliyun.com\/repo\/epel-7.repo\r\nRUN yum install nginx -y\r\nRUN rm -rf \/usr\/share\/nginx\/html\/index.html\r\nRUN echo '\u5b59\u5bcc\u9633' >\/usr\/share\/nginx\/html\/index.html\r\n##CMD nginx -g 'daemon off'  ###\u5b98\u65b9\u63a8\u8350\u4e0b\u9762\u8fd9\u79cd\u5199\u6cd5\r\nCMD &#91;\"nginx\",\"-g\",\"daemon off;\"]\r\n\r\n2.\u5f00\u59cb\u81ea\u52a8\u6784\u5efa\u955c\u50cf\r\n-t\u6307\u5b9a\u6807\u7b7e\uff0c\u955c\u50cf\u7684\u540d\u5b57#build\u540e\u53ef\u4ee5\u8ddfdockerfile\u7edd\u5bf9\u8def\u5f84\u7684\u76ee\u5f55\r\n&#91;root@docker01 ~\/dockerfile\/centos7_nginx]#  docker build -t centos7_nginx_ssh:v3 .\r\n\r\n3.\u542f\u52a8\u5bb9\u5668\uff0c\u6d4b\u8bd5\u5bb9\u5668\r\n&#91;root@docker01 ~]#  docker run -d -p 80:80 centos7_nginx_ssh:v3 \r\n&#91;root@docker01 ~]#  curl 10.0.0.11 \r\n\u5b59\u5bcc\u9633\r\n4.\u81ea\u52a8\u6784\u5efa\u955c\u50cf\u5c0f\u63d0\u793a\uff1a\r\n\u81ea\u52a8\u6784\u5efa\u955c\u50cf\u8fc7\u7a0b\u4e2d\u5982\u679cctrl+c\u4e86\uff0c\u5c31\u4f1a\u4ea7\u751f\u4e00\u4e9b\u4e34\u65f6\u955c\u50cf\r\n\u5220\u9664\u4e34\u65f6\u955c\u50cf\u7684\u547d\u4ee4\r\n&#91;root@docker01 ~]#  docker image prune\r<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"786\" height=\"251\" src=\"https:\/\/www.buyao007.icu\/wp-content\/uploads\/2022\/04\/image-1.png\" alt=\"\" class=\"wp-image-1136\" srcset=\"https:\/\/www.buyao007.icu\/wp-content\/uploads\/2022\/04\/image-1.png 786w, https:\/\/www.buyao007.icu\/wp-content\/uploads\/2022\/04\/image-1-300x96.png 300w, https:\/\/www.buyao007.icu\/wp-content\/uploads\/2022\/04\/image-1-768x245.png 768w\" sizes=\"(max-width: 786px) 100vw, 786px\" \/><\/figure>\n\n\n\n<p><strong><em>3.dockerfile \u57fa\u7840\u7cfb\u7edf\u955c\u50cf\u5236\u4f5c<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>1.\u4e0b\u8f7d\u6e05\u534e\u6e90\u7684tar\u5305\r\n&#91;root@docker01 \/centos]# wget https:\/\/mirrors.tuna.tsinghua.edu.cn\/lxc-images\/images\/alpine\/3.14\/amd64\/default\/20210727_13%3A00\/rootfs.tar.xz\r\n2.\u89e3\u538b\r\n&#91;root@docker01 ~\/centos]#  tar xf rootfs.tar.xz \r\n&#91;root@docker01 \/centos]# ls\r\nbin  dev  etc  home  lib  media  mnt  opt  proc  root  run  sbin  srv  sys  tar.gz  tmp  usr  var\r\n###\u5b9e\u9645\u4e0a\u5c31\u662f\u628a\u7cfb\u7edf\u6240\u6709\u6587\u4ef6\u4e0b\u8f7d\u4e0b\u6765\u4e86\r\n3.\u5220\u9664\u6e90\u5305\uff0c\u5728\u6253\u5305\u79fb\u52a8\u5230dockerfile\u76ee\u5f55\u4e0b\u7684oldzhanglinux\u76ee\u5f55\u4e0b\r\n&#91;root@docker01 ~\/centos]#  rm -rf rootfs.tar.xz \r\n&#91;root@docker01 \/centos]# tar czf \/tmp\/centos_sfy.tar.gz * \r\n\r\n&#91;root@docker01 \/centos]# mkdir \/docker\/centos_sfy\r\n&#91;root@docker01 \/centos]# cd \/docker\/centos_sfy\/ \r\n&#91;root@docker01 \/docker\/centos_sfy]# mv \/tmp\/centos_sfy.tar.gz . \r\n&#91;root@docker01 \/docker\/centos_sfy]# cat dockerfile\r\nFROM scratch\r\nADD centos_sfy.tar.gz \/\r\nCMD &#91;\"\/bin\/sh\"]\r\n4.\u521b\u5efa\u955c\u50cf\r\n&#91;root@docker01 \/docker\/centos_sfy]# docker build . -t sfy_centos:v1.\r\n&#91;root@docker01 \/docker\/centos_sfy]# docker images\r\nREPOSITORY        TAG       IMAGE ID       CREATED             SIZE\r\nsfy_centos        v1        54a9458b9add   44 seconds ago      7.85MB\r\n\r\n5.\u542f\u52a8\u955c\u50cf\r\n&#91;root@docker01 \/docker\/centos_sfy]# docker container run -d -it sfy_centos:v1\n6.\u5982\u4f55\u67e5\u770b\u955c\u50cf\u7684\u6784\u5efa\u5386\u53f2\uff1f\r\n#\u6bd4\u5982\uff0c\u67e5\u770bnginx\u955c\u50cf\u7684\r\n&#91;root@docker01 ~]#  docker image history nginx:latest\n\nLABEL\u53ea\u662f\u6253\u4e2a\u6807\u7b7e\uff0c\u6ca1\u5565\u5b9e\u9645\u7528\u5904\r\n\r<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"801\" height=\"84\" src=\"https:\/\/www.buyao007.icu\/wp-content\/uploads\/2022\/04\/image-2.png\" alt=\"\" class=\"wp-image-1139\" srcset=\"https:\/\/www.buyao007.icu\/wp-content\/uploads\/2022\/04\/image-2.png 801w, https:\/\/www.buyao007.icu\/wp-content\/uploads\/2022\/04\/image-2-300x31.png 300w, https:\/\/www.buyao007.icu\/wp-content\/uploads\/2022\/04\/image-2-768x81.png 768w\" sizes=\"(max-width: 801px) 100vw, 801px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"toc_0\">3.docker\u955c\u50cf\u7684\u5206\u5c42<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\u9a8c\u8bc1\uff1a\r\n1.\u5148\u5bfc\u51fa\u4e24\u4e2a\u955c\u50cf\r\n&#91;root@docker01 ~]#  docker save centos:7 -o docker_centos7.tar.gz\r\n&#91;root@docker01 ~]#  docker save centos_nginx:v1 -o docker_centos7_nginx.tar.gz\r\n\r\n2.\u5220\u966412\u673a\u5668\u4e0a\u7684\u955c\u50cf\r\n&#91;root@docker02 ~]#  docker  images\r\n&#91;root@docker02 ~]#  systemctl stop docker.socket \r\n&#91;root@docker02 ~]#  systemctl stop docker\r\n\r\n3.\u5220\u9664docker\u6570\u636e\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\u5168\u90e8\u6e05\u7a7a\uff08\u76f8\u5f53\u4e8e\u7269\u7406\u5220\u9664\u6570\u636e\u5e93\uff09\r\n&#91;root@docker02 ~]#  rm -rf \/var\/lib\/docker\/*\r\n\r\n4.\u91cd\u542fdocker\uff0c\u5220\u9664\u7684\u8fd9\u4e9b\u6570\u636e\u76ee\u5f55\u8fd8\u4f1a\u5728 \r\n&#91;root@docker02 ~]#  systemctl restart docker\r\n#\u786e\u8ba4\u6ca1\u6709\u955c\u50cf\u6587\u4ef6\u4e86\r\n&#91;root@docker02 ~]#  docker images\r\n\r\n5.\u628a11\u673a\u5668\u4e0a\u7684\u955c\u50cf\u53d1\u9001\u7ed912\u673a\u5668\r\n&#91;root@docker01 ~]#  scp -rp docker_centos7* root@10.0.0.12:\/root\r\n\r\n6.\u56de\u523012\u673a\u5668\u4e0a\u628a\u955c\u50cf\u5bfc\u5165\r\n&#91;root@docker02 ~]#  docker load -i docker_centos7.tar.gz  \uff08\u4e00\u5c42\u955c\u50cf\uff09\r\n&#91;root@docker02 ~]#  docker load -i docker_centos7_nginx.tar.gz  \uff08\u4e24\u5c42\u955c\u50cf\uff09\r\n\u5c5e\u4e8e\u540c\u4e00\u5c42\u7684\u6587\u4ef6\u4e0d\u9700\u8981\u91cd\u590d\u5bfc\u5165\uff0c\u53ea\u9700\u8981\u5bfc\u5165\u4e00\u4e2a\u6ca1\u6709\u7684\u5c31\u53ef\u4ee5\u4e86\uff0c\u770b\u4f3c\u4e24\u4e2a\u6587\u4ef6\u52a0\u8d77\u6765\u662f600\u591aMB\uff0c\u5176\u5b9e\u5728docker\u4e0a\u53ea\u5360\u7528400\u591aMB\uff0c\u8fd9\u5c31\u8bf4\u660e\u6587\u4ef6\u88ab\u590d\u7528\u4e86\uff0c\u53ea\u5360400\u591aMB\u7684\u78c1\u76d8\u7a7a\u95f4\u3002\u4e0b\u56fe\uff1a#\u53ef\u4ee5\u770b\u4e00\u4e0bdocker\u7684\u76ee\u5f55\/var\/lib\/docker\u5927\u5c0f\r\n7.\u5220\u9664\u955c\u50cf\u3002\u63a5\u4e0b\u6765\u54b1\u4eec\u6362\u4e2a\u987a\u5e8f\u6765\u5bfc\u5165\u955c\u50cf\uff0c\u770b\u770b\u6548\u679c\r\n&#91;root@docker02 ~]#  docker rmi centos:7 centos_nginx:v1 \r\n&#91;root@docker02 ~]#  docker load -i docker_centos7_nginx.tar.gz \r\n&#91;root@docker02 ~]#  docker load -i docker_centos7.tar.gz \r<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"865\" height=\"169\" src=\"https:\/\/www.buyao007.icu\/wp-content\/uploads\/2022\/04\/image-3.png\" alt=\"\" class=\"wp-image-1140\" srcset=\"https:\/\/www.buyao007.icu\/wp-content\/uploads\/2022\/04\/image-3.png 865w, https:\/\/www.buyao007.icu\/wp-content\/uploads\/2022\/04\/image-3-300x59.png 300w, https:\/\/www.buyao007.icu\/wp-content\/uploads\/2022\/04\/image-3-768x150.png 768w\" sizes=\"(max-width: 865px) 100vw, 865px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>\u8fd9\u5c31\u662f\u955c\u50cf\u5206\u5c42\uff0c\u56e0\u4e3a\u7b2c\u4e00\u4e2a\u5bfc\u5165\u7684\u955c\u50cf\u5df2\u7ecf\u5305\u542b\u4e86centos7\u7684\u955c\u50cf\uff0c\u6240\u4ee5\u5728\u5355\u72ec\u5bfc\u5165centos7\u955c\u50cf\u7684\u65f6\u5019\u5c31\u4e0d\u4f1a\u518d\u5bfc\u5165\u4e86\r\n\r\n8.\u4f46\u5982\u679c\u662fdockerfile\u6784\u5efa\u7684\u955c\u50cf\uff0c\u5c31\u4e0d\u6b62\u4e00\u5c42\r\n\u56e0\u4e3adockerfile\u7684RUN\u6307\u4ee4\u7684\u539f\u7406\u662f\u5728\u6267\u884cRUN\u6307\u4ee4\u65f6\u4f1a\u521b\u5efa\u4e34\u65f6\u7684\u5bb9\u5668\r\n\r\n9.\u63a5\u4e0b\u6765\u8bd5\u9a8c\u4e00\u4e0bdockerfile\u7684\u955c\u50cf\r\n&#91;root@docker01 ~]#  docker save centos7_nginx_ssh:v3 -o docker_centos7_nginx_v2.tar.gz\r\n&#91;root@docker01 ~]#  scp -rp docker_centos7_nginx_v2.tar.gz root@10.0.0.12:\/root\r\n\r\n10.\u5220\u966412\u673a\u5668\u4e0a\u7684\u955c\u50cf\uff0c\u5e76\u5bfc\u5165\u65b0\u7684\u955c\u50cf\r\n&#91;root@docker02 ~]#  docker rmi centos:7 centos_nginx:v1 \r\n&#91;root@docker02 ~]#  docker load -i docker_centos7_nginx_v2.tar.gz \r\n\u5982\u4e0b\u56fe\u4e00\u5171\u516d\u5c42\r<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"865\" height=\"126\" src=\"https:\/\/www.buyao007.icu\/wp-content\/uploads\/2022\/04\/image-4.png\" alt=\"\" class=\"wp-image-1141\" srcset=\"https:\/\/www.buyao007.icu\/wp-content\/uploads\/2022\/04\/image-4.png 865w, https:\/\/www.buyao007.icu\/wp-content\/uploads\/2022\/04\/image-4-300x44.png 300w, https:\/\/www.buyao007.icu\/wp-content\/uploads\/2022\/04\/image-4-768x112.png 768w\" sizes=\"(max-width: 865px) 100vw, 865px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>11.\u603b\u7ed3\uff1a\r\n\u5206\u5c42\u7684\u597d\u5904\u662f\u80fd\u63d0\u9ad8\u6211\u4eec\u7684\u4e0a\u4f20\u4e0b\u8f7d\u7684\u901f\u5ea6\uff0c\u6211\u4eec\u6bcf\u6b21\u542f\u52a8\u7684\u5bb9\u5668\u90fd\u662f\u5728\u955c\u50cf\u7684\u57fa\u7840\u4e0a\u6302\u4e00\u4e2a\u53ef\u5199\u5c42\uff0c\u6240\u5f97\u5b89\u88c5\uff0c\u6240\u6709\u7684\u64cd\u4f5c\u90fd\u662f\u5728\u8fd9\u4e2a\u53ef\u5199\u5c42\u6267\u884c\u7684\u3002\u4e00\u65e6\u628a\u8fd9\u4e2a\u53ef\u5199\u5c42\u63d0\u4ea4\u4e3a\u955c\u50cf\uff0c\u90a3\u4e48\u8fd9\u4e2a\u955c\u50cf\u53c8\u4f1a\u591a\u4e00\u5c42\u3002\uff08\u53ea\u8981commit\u63d0\u4ea4\uff0c\u5c31\u4f1a\u53d8\u6210\u53ea\u8bfb\u5c42\uff0c\u5c31\u4f1a\u6709\u4e00\u4e2a\u65b0\u7684\u955c\u50cf\u3002\u65b0\u7684\u955c\u50cf\u5728\u539f\u6765\u7684\u57fa\u7840\u4e0a\u53c8\u591a\u4e86\u4e00\u5c42\uff09\r\n\u7136\u540e\u6211\u4eec\u53ef\u4ee5\u7ee7\u7eeddocker run\u3001\u53c8\u4f1a\u6709\u4e00\u4e2a\u53ef\u5199\u5c42\u3002docker\u955c\u50cf\u6700\u591a\u53ef\u4ee5\u53e0\u52a0\u5230127\u5c42\uff01\u6240\u4ee5\u6211\u4eec\u4f7f\u7528\u7684\u65f6\u5019\u8981\u9002\u5f53\u5206\u5c42\uff0c\u867d\u8bf4\u6211\u4eec\u7528\u4e0d\u5230127\u5c42\r<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"toc_0\">4.dockerfile\u7684\u4f18\u5316<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\u4f18\u5316\u539f\u5219:\u6784\u5efa\u7684\u955c\u50cf\u5c3d\u53ef\u80fd\u5c0f,\u6784\u5efa\u901f\u5ea6\u5c3d\u53ef\u80fd\u5feb\na: \u4f7f\u7528\u4f53\u79ef\u5c0f\u7684linux\u955c\u50cfalpine\u4f5c\u4e3a\u57fa\u7840\u955c\u50cf\nb\uff1a\u5c3d\u53ef\u80fd\u7684\u6e05\u7406\u65e0\u7528\u7684\u7f13\u5b58\u6587\u4ef6\uff0c\uff08\u5c3d\u53ef\u80fd\u628a\u591a\u4e2aRUN\u5408\u5e76\uff09\nc\uff1a\u4fee\u6539dockerfile\u7684\u65f6\u5019\uff0c\u5c3d\u53ef\u80fd\u628a\u4fee\u6539\u7684\u5185\u5bb9\u653e\u5728\u6700\u540e\nd\uff1a\u4f7f\u7528.dockerignore\u5ffd\u7565\u6784\u5efadocker\u955c\u50cf\u65f6\uff0c\u4e0d\u9700\u8981\u7684\u6587\u4ef6<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>a: \u4f7f\u7528\u4f53\u79ef\u5c0f\u7684linux\u955c\u50cfalpine\u4f5c\u4e3a\u57fa\u7840\u955c\u50cf\r\nalpine+nginx=20M     \uff08\u4f7f\u7528alpine\u7cfb\u7edf\uff0c\u4ec0\u4e48\u8f6f\u4ef6\u90fd\u4f1a\u5c0f\uff0c\u7f3a\u70b9\u662f\u517c\u5bb9\u6027\u5dee\uff09\r\nubuntu+nginx=70M\r\ncentos+nginx=400M  \r\n\r\n\u4f7f\u7528alpine\u7cfb\u7edf\uff0c\u9700\u8981\u914d\u7f6eyum\u6e90\uff0c\u4f7f\u7528\u7684\u662fapk\u547d\u4ee4\r\n##\u9996\u5148\u66ff\u6362\u4e3a\u6e05\u534e\u6e90\r\n\/ # sed -i 's\/dl-cdn.alpinelinux.org\/mirrors.tuna.tsinghua.edu.cn\/g' \/etc\/apk\/repositories\r\n##\u66f4\u65b0\u8f6f\u4ef6\u4ed3\u5e93\r\n\/ # apk update\r\n##\u5b89\u88c5nginx\r\n\/ # apk add nginx\r\n##\u67e5\u770bnginx\u7248\u672c\r\n\/ # nginx -v\r\n##\u521b\u5efanginx\u7236\u53ca\u76ee\u5f55\uff0c\u4e0d\u7136nginx\u542f\u52a8\u4e0d\u4e86\u3002\uff08\u5c0f\u7cfb\u7edf\u7684bug\u2026\u2026\uff09\r\n\/ # mkdir \/run\/nginx\r\n##\u542f\u52a8nginx\u670d\u52a1\r\nnginx\r\n##\u63a5\u4e0b\u6765\u9000\u51fa\u5bb9\u5668\uff0c\u5c06\u5b83\u63d0\u4ea4\u672a\u955c\u50cf\r\n&#91;root@docker01 ~]#  docker commit magical_greider alpine_nginx:v1\r\n&#91;root@docker01 ~]#  docker images alpine_nginx:v1 \r\n\u67e5\u770b\u53d1\u73b0\u955c\u50cf\u5927\u5c0f\u624d9M\u591a\u4e00\u70b9\uff0c\u5341\u5206\u8282\u7701\u7a7a\u95f4\r\n\r\nb\uff1a\u5c3d\u53ef\u80fd\u7684\u6e05\u7406\u65e0\u7528\u7684\u7f13\u5b58\u6587\u4ef6\uff0c\uff08\u5c3d\u53ef\u80fd\u628a\u591a\u4e2aRUN\u5408\u5e76\uff09\u4ee5centos\u4e3a\u4f8b\r\n##\u8fdb\u5165\u76ee\u5f55\r\n&#91;root@docker01 ~]#  cd \/opt\/dockerfile\/cenos7_nginx\r\n##\u7f16\u8f91dockerfile\r\n&#91;root@docker01 \/opt\/dockerfile\/cenos7_nginx]#  cat dockerfile \r\nFROM centos:7\r\nRUN curl -o \/etc\/yum.repos.d\/CentOS-Base.repo http:\/\/mirrors.aliyun.com\/repo\/Centos-7.repo &amp;&amp; \\\r\ncurl -o \/etc\/yum.repos.d\/epel.repo http:\/\/mirrors.aliyun.com\/repo\/epel-7.repo &amp;&amp; \\\r\nyum install nginx  -y &amp;&amp; \\\r\nrm -rf \/var\/cache\/yum\/* &amp;&amp;\\\r\nrm -rf \/usr\/share\/nginx\/html\/index.html &amp;&amp; \\\r\necho 'oldzhang' >\/usr\/share\/nginx\/html\/index.html\r\n\r\n#CMD nginx -g 'daemon off;'\r\nCMD &#91;\"nginx \",\"-g\",\"daemon off;\"]\r\n\r\n##\u5236\u4f5c\u955c\u50cf\r\n&#91;root@docker01 \/opt\/dockerfile\/cenos7_nginx]# docker build --network=host -t centos7_nginx:v1 \r<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"772\" height=\"108\" src=\"https:\/\/www.buyao007.icu\/wp-content\/uploads\/2022\/04\/image-5.png\" alt=\"\" class=\"wp-image-1144\" srcset=\"https:\/\/www.buyao007.icu\/wp-content\/uploads\/2022\/04\/image-5.png 772w, https:\/\/www.buyao007.icu\/wp-content\/uploads\/2022\/04\/image-5-300x42.png 300w, https:\/\/www.buyao007.icu\/wp-content\/uploads\/2022\/04\/image-5-768x107.png 768w\" sizes=\"(max-width: 772px) 100vw, 772px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>\u5982\u4e0a\u56fe\u8fd9\u5c31\u662f\u6e05\u7406\u7f13\u5b58\u7684\u4f5c\u7528\r\n\r\nc\uff1a\u4fee\u6539dockerfile\u7684\u65f6\u5019\uff0c\u5c3d\u53ef\u80fd\u628a\u4fee\u6539\u7684\u5185\u5bb9\u653e\u5728\u6700\u540e\r\n\u5982\u679c\u5728\u524d\u51e0\u884c\u52a0\u4e86\u5185\u5bb9\uff0c\u5728docker build\u7684\u65f6\u5019\u5c31\u4e0d\u4f1a\u8d70\u7f13\u5b58\u4e86\uff0c\u53c8\u4f1a\u91cd\u65b0\u4e0b\u8f7d\u3002 \r\n\u539f\u56e0\u662fdocker\u5206\u5c42\u7684\u539f\u7406\uff0c\u4ed6\u4f1a\u5728\u57fa\u7840\u955c\u50cf\u7684\u57fa\u7840\u4e0a\u91cd\u65b0\u5206\u5c42\r\n\r\nd\uff1a\u4f7f\u7528.dockerignore\u5ffd\u7565\u6784\u5efadocker\u955c\u50cf\u65f6\uff0c\u4e0d\u9700\u8981\u7684\u6587\u4ef6\r\n&#91;root@docker01 \/opt\/dockerfile\/cenos7_nginx]#  vim .dockerignore \r\n&#91;root@docker01 \/opt\/dockerfile\/cenos7_nginx]#  cat .dockerignore \r\ndocker_centos7.tar.gz\r\n##\u56e0\u4e3adocker\u662fcs\u67b6\u6784\uff0c\u6bcf\u6b21\u6784\u5efa\u955c\u50cf\u65f6\u90fd\u4f1a\u5411\u670d\u52a1\u7aef\u63d0\u4ea4\u5f53\u524d\u8def\u5f84\u7684\u6240\u6709\u6587\u4ef6\uff0c\u5360\u7528\u5185\u5b58\u7a7a\u95f4\uff0c\u6240\u4ee5\u9700\u8981\u5ffd\u7565\u8fd9\u4e9b\u6587\u4ef6\uff0c\u6765\u8282\u7701\u5185\u5b58\uff0c\u63d0\u9ad8\u6784\u5efa\u901f\u5ea6\r<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u5b59\u5bcc\u9633\uff0c \u6c5f\u6e56\u4eba\u79f0\u6ca1\u4eba\u79f0\u3002\u591a\u5e74\u4e92\u8054\u7f51\u8fd0\u7ef4\u5de5\u4f5c\u7ecf\u9a8c\uff0c\u66fe\u8d1f\u8d23\u8fc7\u5b59\u5e03\u65af\u5927\u89c4\u6a21\u96c6\u7fa4\u67b6\u6784\u81ea\u52a8\u5316\u8fd0\u7ef4\u7ba1\u7406\u5de5\u4f5c\u3002\u64c5\u957fWeb\u96c6 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":246,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22],"tags":[],"_links":{"self":[{"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=\/wp\/v2\/posts\/1135"}],"collection":[{"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1135"}],"version-history":[{"count":3,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=\/wp\/v2\/posts\/1135\/revisions"}],"predecessor-version":[{"id":1145,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=\/wp\/v2\/posts\/1135\/revisions\/1145"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=\/wp\/v2\/media\/246"}],"wp:attachment":[{"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1135"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1135"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}