Dockerfile 是一个包含用于组合镜像的命令的文本文档,Docker通过读取Dockerfile中的指令按步自动生成镜像

构建命令

docker build -t 机构/镜像名<:tags> Dockerfile目录

基础命令

  • 基础镜像

FROM tomcat:latest

  1. FROM centos # 制作基准镜像(基于contos:lastest)
  2. FROM scratch # 不依赖任何基准镜像
  • 镜像说明

MAINTAINER yuque.com
发布机构,发布人

LABEL version = “1.0”
描述信息

  • 工作目录

WORKDIR /usr/local/tomcat/webapps
切换至工作目录,如果不存在,则创建

  • 复制文件到工作目录下

ADD docker-web ./docker-web

  1. ADD & COPY 复制文件
  2. - ADD hello / #复制到根路径
  3. - ADD test.tar.gz / #添加根目录并解压
  4. - ADD 除了复制,还具备添加远程文件功能
  • ENV - 设置环境常量

ENV JAVA_HOME /usr/local/openjdk8
RUN ${JAVA_HOME}/bin/java -jar test.jar

  1. RUN & CMD & ENTRYPOINT
  2. - RUN : build构建时 执行命令
  3. - RUN yum install -y vim #Sell 命令格式
  4. - RUN ["yum","install","-y","vim"] #Exec 命令格式
  5. - ENTRYPOINT : 容器启动时执行的命令
  6. - CMD : 容器启动后执行默认的命令或参数

构建自定义tomcat镜像

  • 编辑dockerfile 文件

    1. FROM tomcat:8.5.46-jdk8-openjdk
    2. MAINTAINER quaint.com
    3. WORKDIR /usr/local/tomcat/webapps
    4. ADD docker-web ./docker-web
  • 构建镜像

docker build -t 作者信息/应用名称:版本 dockerfile路径
image.png
docker-web 下内容
index.html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <h1>hello docker</h1>
  9. </body>
  10. </html>
  • 运行镜像

docker run -p 8000:8080 -d quaint.com/myweb:1.0
image.png