容器化学习docker2生成镜像
俩种方式: 更新镜像 docker commit 构建镜像 docker build 更新镜像
先使用基础镜像创建一个容器,然后对容器内容进行更改,然后使用 docker commit 命令提交为一个新的镜像(以tomcat为例)。 # 根据基础镜像,创建容器 > docker run --name tom1 -p 80:8080 -d tomcat # 修改容器内容 > docker exec -it tom1 /bin/bash > cd webapps/ROOT rm -f index.jsp > echo hello world > index.html > exit # 提交为新镜像 - 在本地生成 # docker commit -m="描述消息" -a="作者" 容器ID或容器名 镜像名:TAG docker commit -m="修改了首页" -a="jimmy" tom1 jimmy/tomcat:v1.0 # 使用新镜像运行容器 docker run --name tom2 -p 8080:8080 -d jimmy/tomcat:v1.0构建镜像
构建镜像需要使用Dockerfile Dockerfifile常用指令FROM FROM指令是最重要的一个并且必须为Dockerfifile文件开篇的第一个非注释行,用于为镜像文件构建过程指定基础镜像,后续的指令运行于此基础镜像提供的运行环境。这个基础镜像可以是任何可用镜像,默认情况下docker build会从本地仓库找指定的镜像文件,如果不存在就会从Docker Hub上拉取。FROM FROM : FROM @ MAINTAINERDockerfifile的制作者提供的本人详细信息.Dockerfifile不限制MAINTAINER出现的位置,但是推荐放到FROM指令之后MAINTAINER 可以用LABLE替代 LABEL给镜像指定各种元数据LABEL = = =... COPY用于从宿主机复制文件到创建的新镜像文件。COPY ...COPY ["",...""]# :要复制的源文件或者目录,可以使用通配符 # :目标路径,即正在创建的image的文件系统路径;建议使用绝对路径,否则COPY指令则以WORKDIR为 其起始路径 a. 必须是build上下文中的路径,不能是其父目录中的文件b.如果 是目录,则其内部文件或子目录会被递归复制,但 目录自身不会被复制c.如果指定了多个 ,或在 中使用了通配符,则 必须是一个目录,则必须以 / 符号结尾d.如果 不存在,将会被自动创建,包括其父目录路径 ADD基本用法和COPY指令一样,ADD支持使用TAR文件和URL路径。ADD ...ADD ["",...""]add会自动解压压缩包 WORKDIR用于为Dockerfifile中所有的RUN、CMD、ENTRYPOINT、COPY和ADD指定设定工作目录,只会影响当前WORKDIR之后的指令。WORKDIR VOLUME用来创建挂载点,可以挂载宿主机上的卷或者其他容器上的卷VOLUME VOLUME [""] EXPOSE用于给容器打开指定要监听的端口以实现和外部通信EXPOSE [/] [[/]...] ENV用来给镜像定义所需要的环境变量,并且可以被Dockerfifile文件中位于其后的其他指令(如ENV、ADD、COPY等)所调用,调用格式:$variable_name或者${variable_name}ENV ENV =... ARG指定一个变量,可以在docker build创建镜像的时候,使用 --build-arg = 来指定参数ARG [=] RUN用来指定docker build过程中运行指定的命令RUN :参数一般是一个shell命令,以 /bin/sh -c 来运行它RUN ["","",""]:参数是一个JSON格式的数组,当中 是要运行的命令,后面是传递给命令的选项或者参数; CMD容器启动时运行的命令CMD CMD ["","",""]CMD ["",""]RUN和CMD区别:RUN指令运行于镜像文件构建过程中,CMD则运行于基于Dockerfifile构建出的新镜像文件启动为一个容器的时候CMD指令的主要目的在于给启动的容器指定默认要运行的程序,且在运行结束后,容器也将终止;不过,CMD命令可以被docker run的命令行选项给覆盖Dockerfifile中可以存在多个CMD指令,但是只有最后一个会生效 ENTRYPOINT类似于CMD指令功能,用于给容器指定默认运行程序ENTRYPOINTENTRYPOINT["","",""] ONBUILD用来在Dockerfifile中定义一个触发器ONBUILD Dockerfifile用来构建镜像文件,镜像文件也可以当成是基础镜像被另外一个Dockerfifile用作FROM指令的参数在后面这个Dockerfifile中的FROM指令在构建过程中被执行的时候,会触发基础镜像里面的ONBUILDONBUILD不能自我嵌套,ONBUILD不会触发FROM和MAINTAINER指令在ONBUILD指令中使用ADD和COPY要小心,因为新构建过程中的上下文在缺少指定的源文件的时候会失败 实例使用dockerfile构建自己的镜像# 找到一个目录 > mk dir /usr/local/dockerfile # 将tomcat.tar.gz 和 jdk.tar.gz 压缩文件上传至这个文件夹 # 创建`Dockerfile`文件 > vim Dockerfile # 写入内容: ~FROM centos:7 ~LABEL author=jimmy ~# 挂载 ~VOLUME ["/data1"] ~ ~# 解压文件 ~ADD apache-tomcat-7.0.92.tar.gz /usr/local/ ~ADD jdk-8u60-linux-x64.tar.gz /usr/local/ ~ ~# 环境变量 ~ENV JAVA_HOME=/usr/local/jdk1.8.0_60 ~ENV CLASSPATH .:$JAVA_HOME/lib ~ENV CATALINA_HOME=/usr/local/apache-tomcat-7.0.92 ~ENV PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin ~ ~# 暴露端口 ~EXPOSE 8080 ~ ~# 指定工作目录 ~WORKDIR $CATALINA_HOME ~# 执行命令 ~RUN yum install -y vim ~ ~# 容器默认启动程序 ~ENTRYPOINT ["catalina.sh","run"]~ # 保存Dockerfile,然后执行docker build。注意最后一个 . 这个表示当前目录不可省略 docker build -t jimmy/tomcat7.0.92:v1 .
奥林匹斯十二神奥林匹斯十二神,是古希腊宗教中最受崇拜的十二位神,他们分别是宙斯(Zeus,众神之王雷霆之神)赫拉(Hera,天后婚姻和生育女神)赫斯提亚(Hestia,炉灶和家庭女神)波塞冬(P
2021年探索中国新消费公开一份新式茶饮消费洞察笔记核心摘要产品力是第一生产力创新工艺是产品口感口味提升的秘籍回归对配料风味的表达,才能发挥价值最大化在口感与轻盈间找到平衡点更能打动消费者打造社交货币,重构场景联结消费场景不断拓宽,
梅兰竹菊花中四君子梅,迎寒而开,美丽绝俗,而且具有傲霜斗雪的特征,是坚韧不拔的人格的象征。兰,一则花朵色淡香清,二则多生于幽僻之处,故常被看作是谦谦君子的象征。竹,也经冬不凋,且自成美景,它刚直谦逊
莺燕蜂蝶,花间四友蝶戏园中草,蜂尝百蕊羹。雨斜穿紫燕,柳绿啭黄莺。起舞轻灵翅,放歌金玉声。安能如四友,阅尽世间春。花间四友意指蝶莺燕蜂四种生物为百花的好友,为百花的花粉传播做出贡献。出处1。元,乔吉
7。29万起,全能小钢炮凯翼炫界Pro燃擎来袭7月20日晚,全能小钢炮炫界Pro燃擎上市。新车推出1。5TCVT1。5LCVT,以及1。5LMT三种动力总成,共计5款车型,提供冰晶白炫动红深海蓝风清蓝冷砂灰5款纯色车身及4款双
智跑Ace肩负起亚复苏重任,为何低调的不像实力派?引言智跑Ace,明明很能打很有料,为何不一鼓作气打出气势?究竟是什么原因及出于何种考虑,DYK会在这个关键节骨眼上闹眼子。千呼万唤,又临时推迟了整整一个星期后,东风悦达起亚今年最重
头条你绝了本着生命不息折腾不止的精神,君君自学了动画制作,历经千辛万苦,终于鼓捣出了一部小短片,内心那个激动啊,成就感满满。于是想上传到网络,让大家都可以欣赏,虽然自觉还可以再提高,但觉得还
幵字的读音探求幵山公园是山东省单县建设的大型园林工程,位于单县开发区内,园内有千山湖青少年乐园千山古韵春华秋实园等多个景区,集中介绍了单县单父吕后崮堆包公捉妖和四君子等地域文化,也为单县群众的业
专为游戏而生雷柏V550RGB单手游戏机械键盘评测在评测之前,我们来讨论一下为什么会出现单手键盘?本人80后,从我一开始接触键盘时,键盘都是104键位,如果你当年也玩过CS的话,想必接触的第一款键盘也是104键位的。但是你是否遇到
轻而不飘RazerViper毒蝰电竞鼠标详细体验鼠标作为重要的电脑外设之一,在人们的办公过程中极大地简化了操作,对于一些交互良好的软件来说,也许你只需要点两下鼠标的左键就可以完成一系列操作命令。同样鼠标在电竞的发展中也至关重要,
荣耀,卖了!美方制裁留有玄机?体量庞大的荣耀,为何最终是代理商经销商主导交易?在美国制裁风险下,荣耀一卖了之是否能完全切割与华为的关系?本文由无冕财经(wumiancaijing)原创首发作者朗曜编辑陈涧设计布