范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Docker从入门到精通之Dockerfile详解

  Dockerfile详解
  Dockerfile是一个构建镜像的文本文件,其中包含用户可以在命令行上调用组装镜像的所有命令,使用docker build构建
  格式: # Comment INSTRUCTION argumentsFROM
  镜像构建初始阶段,指定构建的新镜像是从哪个基础镜像构建 FROM [--platform=] [:] [AS ]RUN
  执行命令,在构建镜像时执行,有以下2种格式:
  shell格式 RUN <命令行命令> # <命令行命令> 等同于,在终端操作的 shell 命令。
  exec格式 RUN ["可执行文件", "参数1", "参数2"] #举例 # RUN ["/bin/bash", "-c", "echo hello"] 等价于 RUN /bin/bash -c echo hello
  注意:Dockerfile每执行一次都会在docker上新建一层,过多无意义的层,会导致镜像过于膨大
  举例: FROM centos RUN yum -y install wget RUN wget -O redis.tar.gz "http://download.redis.io/releases/redis-5.0.3.tar.gz" RUN tar -xvf redis.tar.gz
  以上创建3层镜像,优化如下: FROM centos RUN yum -y install wget      && wget -O redis.tar.gz "http://download.redis.io/releases/redis-5.0.3.tar.gz"      && tar -xvf redis.tar.gz
  以 && 符号连接命令,执行后只会创建一层镜像 LABEL
  给镜像添加元数据,比如说镜像作者,以key-value形式声明 LABEL = = = ...LABEL "com.example.vendor"="ACME Incorporated" LABEL com.example.label-with-value="foo" LABEL version="1.0" LABEL description="This text illustrates  that label-values can span multiple lines."EXPOSE
  指定容器监听的端口,可以指定TCP或UDP,默认是TCP EXPOSE  [/...]EXPOSE 80/tcp EXPOSE 80/udpENV
  环境变量设置,值会持久化在镜像中,会产生一定副作用,ARG不会 ENV = ...ENV WORK_DIR=/app WORKDIR ${WORK_DIR}ADD
  复制文件、目录到镜像文件文件系统中,可使用通配符。该指令有以下两种格式 ADD [--chown=:] ...  ADD [--chown=:] ["",... ""]#复制test.txt文件到容器/home目录 ADD test.txt /homeCOPY
  复制文件、目录到镜像文件文件系统中,可使用通配符。COPY与ADD类似,首选推荐使用COPY。COPY只支持本地文件或目录复制到容器中,而ADD会自动解压本地压缩文件。该指令有以下两种格式 COPY [--chown=:] ...  COPY [--chown=:] ["",... ""]ENTRYPOINT
  容器启动时执行命令,有以下2种格式: ENTRYPOINT ["executable", "param1", "param2"] #推荐用法ENTRYPOINT command param1 param2
  用例: FROM openjdk:11 COPY *.jar /app/app.jar ENV TZ=Asia/Shanghai WORKDIR /app EXPOSE 8761 ENTRYPOINT ["java","-jar","app.jar"]CMD
  容器启动时执行命令,有以下2种格式: CMD ["executable","param1","param2"]   ( exec  form, this is the preferred form) CMD ["param1","param2"]   (as  default parameters to ENTRYPOINT ) CMD command param1 param2   ( shell  form)
  组合使用ENTRYPOINT和CMD, ENTRYPOINT指定默认的 运行命令 , CMD指定默认的 运行参数 .
  用例:
  ENTRYPOINT和CMD组合使用构建一个ping镜像,容器运行后默认ping localhost FROM ubuntu:trusty ENTRYPOINT ["/bin/ping","-c","3"] CMD ["localhost"]
  构建ping镜像,并运行ping容器 $ docker build -t ping .  $ docker run ping  PING localhost (127.0.0.1) 56(84) bytes of data. 64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.025 ms 64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.038 ms 64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.051 ms  $ docker run ping www.baidu.com PING www.a.shifen.com (180.101.49.11) 56(84) bytes of data. 64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=1 ttl=52 time=10.5 ms 64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=2 ttl=52 time=24.1 ms 64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=3 ttl=52 time=15.4 ms VOLUME
  VOLUME 方式挂载到宿主机上的是匿名卷,在宿主机上是自动匿名挂载到 /var/lib/docker/volumes/ 目录下 VOLUME ["/data"]USER
  用于指定执行后续命令的用户和用户组,这边只是切换后续命令执行的用户(用户和用户组必须提前已经存在) USER [:]WORKDIR
  为容器指定工作目录,如果该目录不存在,则创建容器时会创建 WORKDIR /path/to/workdirARG
  定义一个变量,用户在构建镜像时使用docker build --build-arg   = 将变量传递给构造器。如果用户指定了未在Dockerfile中定义的构造参数,会输出警告。ARG [=]
  用例: FROM ubuntu ARG CONT_IMG_VER ENV CONT_IMG_VER=v1.0.0 RUN echo $CONT_IMG_VER$ docker build --build-arg CONT_IMG_VER=v2.0.1 .

C语言中耳熟能详的栈到底是个什么东西?今天就带你捋清楚接触C语言那么久了,相信大家多多少少会接触到栈的概念。对于新手来说可能只是略有耳闻,并没有太深入去了解它。今天相当于给大家捋一捋栈的概念和相关的一些知识点,小白可以当预习,大牛可以5G将如何改变人们的工作和生活方式?5G技术的发展,将促进虚拟现实技术的发展,从而实现感观革命,彻底改变游戏和影视。每个人都有梦想和欲望,而地球的资源是有限的,人们的欲望未必能在现实中实现。随着互联网科技的发展,现实太人性化了!微信功能又上新啦除了社交属性微信也是办公常用软件相信不少人都遇过这样的难题传个大文件但是登录别人的电脑有些隐私的聊天记录也都一并同步了多少有点尴尬最新消息!微信又有新功能无需登录就可以文件传输具体照这些步骤使用iPhone手机!数码达人1年后电池健康度还是100iPhone应该怎么充电用什么充电器用什么方式充电可不可以充电过夜有线还是无线MagSafe?更多人更关心的是,这些不同的充电方式,怎样可以维持电池的健康度?新千万个为什么分享iP新东方宣布上线直播带货平台俞敏洪今晚农产品带货首秀澎湃新闻新东方教育科技集团创始人董事长俞敏洪将开启首场农产品直播带货。12月28日,新东方教育科技集团在其官方微信公众号发布消息称,将上线直播带货平台东方甄选,晚上8点,俞敏洪将在新闻之热点大事件今日头条新闻之热点大事件最受欢迎购物网站TOP10淘宝第二,京东第五近日,网络服务提供商Cloudflare根据网站访问量,统计了2021全球访问量最大的10个在线购物网站。数据显华为成了,P系列实现新突破,手机行业或将迎来变革在移动电话发展的数十年时间里,手机经历过多次的改变,从之前大哥大,到后来的诺基亚,再到后来的触摸屏幕,最后就是如今的全面屏设计。在这段时间里,手机的进化理念主要就是一个,那就是屏幕早知今日何必当初?俄罗斯重罚美企业,土耳其冻结美国基金会资产美国在对外政策上一直强调霸权政策,只求捞取好处,往往得罪人,如今更有点四处碰壁了,仅在12月25日,美国收到2个坏消息,俄罗斯与土耳其一起挥起制裁大棒,首先,俄罗斯重罚美企业,12中国创新企业100强中兴通讯第4,科大讯飞第13,歌尔第53创新是引领发展的第一动力,也是一个民族进步的灵魂,我国能够在激烈的国际竞争中脱颖而出,与强大的创新能力是分不开的,持续不断的创新也是我国实现民族复兴的不竭动力。目前我国企业的创新能解决手机卡顿和乱弹广告的方法前几日,在进行强国学习,特别是在答题时,突然弹出一条广告,到手的胜利,飞了!或者,正在答题时,它给您来个网络开小差了,前功尽弃,无可奈何!笔者通过咨询手机客服,总结以下几点看法,和20042021年,从2G到5G,17年来我用过7个手机的故事前言今天聊聊手机,从2G到5G的10多年时间,手机就像一个小伙伴陪伴我们度过了无数个日日夜夜,从最早的只能打电话和发短信,到今天手机全智能功能,出门一个手机可以走遍天下,相信伴随你
前端测试的反模式IDCF一过于关注实现细节的测试在为前端项目编写测试用例的时候,你也许和我一样,曾遇到过以下困扰明明进行了功能正确的改动,测试却挂了。修复测试有时候得认真阅读各种mock的细节,或者去了解Shell基础HelloShell编辑test。sh文件!binbashechoHelloBash执行test。shdandanDESKTOPK63MMEU。test。shHelloShell变RedmiK50蓄势待发,RedmiK40降至新低价RedmiK系列手机是性价比比较高的机型,小米卢伟冰表示RedmiK50宇宙宣发筹备工作,我亲自担任组长,2022年旗舰手机大战即将拉开帷幕。也就是说RedmiK50系列手机发布时iPhone2021年实用火爆的APP总结之前好多朋友问小编有没有可以种草的iPhone软件,除了日常实用的常规APP外,今天就总结了一些比较新奇好玩的APP,用以提高我们的用机乐趣。1,创意满满的时钟软件桌面时钟顾名思义2022年miniLED面板出货量将增长80大部分产能被苹果包下作为对抗三星OLED屏的一个重要支撑,苹果对miniLED表现的极为支持,而今年这个屏幕大部分产能都快被其包完了。在机构DisplaySupplyChainConsultants(HTML,VUE,嵌入iframe,实现iframe的100高度和宽度,代码分享说明iframe元素创建包含另外一个文档的内联框架(即行内框架)。CSS3规范,视口单位主要包括以下4个1vw1vw等于视口宽度的12vh1vh等于视口高度的13vmin选取vw和港股收评恒指跌1。64恒生科技指数重挫4。63美团哔哩哔哩大跌超101月5日早盘,恒指高开低走,截至午盘,恒指跌1。64,报22907。25点,国企指数跌2。01,红筹指数涨0。47。美债收益率飙升,市监总局对腾讯阿里哔哩哔哩进行行政处罚,恒生科指家电行业研究及2022年度策略车,下一个家(报告出品方作者中泰证券,邓欣)一现象思考现象以小米的成长回溯为例小米成长期1手机(2012)2012年收入100亿元2013年开启生态链投资计划2014年开启出海战略收入600亿互联网平台收入快速增长工业和信息化部近日发布的数据显示,去年111月,互联网和相关服务业企业业务收入和营业利润保持较快增长,互联网平台服务和数据业务实现快速发展,信息服务收入平稳增长,整体保持了平稳发展国产手机1900元以上,有介绍吗?感谢您的阅读!国产手机1900元以上,有介绍的吗手机其实在某种程度上已经成为了生活中不可缺少的日用品。国产手机在发展中也慢慢的成为了消费者愿意考虑的对象,甚至已经成为了超过像苹果或Mtae50再推迟,华为发布P50Pocket,折叠手机新突破?近日刚刚结束的华为2021冬季发布会,以往在本次发布会中,应该会发布当年的mate旗舰款系列,对于今年来说应该就是mate50系列,但是因为随着美国的制裁,华为此次发布会中依然没有