博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Dockerfile编写语法
阅读量:6945 次
发布时间:2019-06-27

本文共 971 字,大约阅读时间需要 3 分钟。

  docker镜像本质上就是一个个基础镜像的堆叠,为了做出我们想要的镜像,我们需要考虑最终镜像所需的所有基础环境,然后一层层堆叠.也就是不断以基础镜像搭建上层镜像.

  先看例子:

# Version: 1.0.0# Create Time: 2015-12-25 11:04# Author: ***# Description:****# 基于已经配置好的jdk1.8版本进行操作FROM jdk:latestMAINTAINER ***** <********@qq.com># 创建目录#RUN mkdir -p -m 777 /home# 将压缩包迁移到容器中并解压ADD tomcat8.tar.gz  /home/tomcat8/# 暴露文件目录#VOLUME ["/home/docker/file/distfirstout", "/home/docker/file/input/D001"]#VOLUME ["/app/tomcat8/webapps/"]# 暴露网络端口EXPOSE 8881# 启动服务ENTRYPOINT ["/home/tomcat8/apache-tomcat-8.0.24/bin/catalina.sh", "run"]

  这是一个安装tomcat镜像的dockerfile,基础镜像是一个叫jdk的镜像.

  语法介绍:

  1.FROM 基础镜像

  2.MAINTAIN 作者信息

  3.RUN 命令(该命令是运行在安装软件时,在基础镜像上面运行的命令)

  4.CMD 命令(启动容器时运行的命令,如果文件最后添加了ENTRYPOINT 命令,则该命令会被覆盖)

  5.USED 用户(设置容器操作用户)

  6.EXPOSED 端口(容器向外暴露的端口)

  7.ENV 环境变量(设置容器内环境变量)

  8.ADD 文件(添加文件)

  9.VOLUME 目录(挂在宿主机目录)

  10.WORKDIR 目录(工作目录)

  dockerfile里面所设置的这些内容实际上基本上都可以在容器启动时设定,但是想要做成一个成熟的镜像还是有比要把这些基础设置填写完全.

转载于:https://www.cnblogs.com/garfieldcgf/p/5462958.html

你可能感兴趣的文章
NoSQL非关系型数据库
查看>>
C++函数
查看>>
sql 2005 清除日志
查看>>
netbeans 快捷键
查看>>
C#事件-什么是事件
查看>>
微软职位内部推荐-Software Engineer II
查看>>
香农定律和奈奎斯特准则
查看>>
每秒处理3百万请求的Web集群搭建-用 LVS 搭建一个负载均衡集群
查看>>
js toggle事件
查看>>
WebViewJavascriptBridge
查看>>
js 返回并刷新
查看>>
append()与extend()
查看>>
ASPxGridview使用总结(DEVExpress)
查看>>
.NET设计模式(9):桥接模式(Bridge Pattern)
查看>>
极速理解设计模式系列:16.迭代器模式(Iterator Pattern)
查看>>
50个带给你灵感的基于文字的创新Logo设计 - 第一部分
查看>>
恢复右键菜单的“新建”选项
查看>>
Linux面试时遇到的问题
查看>>
【转载】浅谈C#中的延迟加载(1)——善用委托
查看>>
舒服的颜色1
查看>>