Dockerfile编写语法

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

  先看例子:

# Version: 1.0.0
# Create Time: 2015-12-25 11:04
# Author: ***
# Description:****

# 基于已经配置好的jdk1.8版本进行操作
FROM jdk:latest
MAINTAINER ***** <********@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里面所设置的这些内容实际上基本上都可以在容器启动时设定,但是想要做成一个成熟的镜像还是有比要把这些基础设置填写完全.

posted @ 2016-05-25 14:14  但行好事-莫问前程  阅读(565)  评论(0编辑  收藏  举报