Dockerfile用来帮助我们自己构建一个自定义镜像,Dockerfile成为镜像构建,描述文件。日后可以将自己的应用打包成镜像,这样就能运行在容器中。
Dockerfile保留字
| 保留字 | 作用 |
|---|---|
| FROM | 基于那个镜像。第一条指令必须是FROM |
| RUN | 构建时候可以添加的运行指定指令。 如提前下载某些包 |
| EXPOSE | 当前容器对外包喽的端口号 |
| WOEKDIR | 终端登陆进来后的工作目录 |
| ENV | 构建过程中设置环境变量 |
| ADD | 从宿主机目录下的文件卡贝进镜像且会自动处理URL下载和解压tar包 |
| COPY | 拷贝文件或目录到镜像中 |
| VOLUME | 容器数据卷,用于数据保存和持久化 |
| CMD | 指定一个容器启动时要运行的命令,可以有多个CMD但是只有最后一个会生效 |
| ENTRYPOINT |
FROM
基于那个镜像开始构建。第一条指令必须是FROM
# 加载centos:7FROM centos:7
RUN
构建时候可以添加的运行指定指令。运行某些命令。注意,如果写多个会创建多个镜像层
RUN npm install
ENV
设置环境变量,通过$xxx 使用
ENV BASE_DIR /app/koaWORKDIR $BASE_DIR
WODKDIR
设置工作目录
WORKDIR /app/koa
ADD
创建一个目录,自动解压.tar文件夹
ADD /app/koa
COPY
和ADD一样创建一个目录,但是不能解压文件
COPY /app/koa
VOLUME
指定挂载数据卷的位置
VOLUME /app/koa/database
EXPOSE
对外暴露的端口
EXPOSE 8080
CMD
启动容器时候运行的命令
CMD npm run dev
