DockerFile文件之详细介绍

一、关于DockerFile

在Docker中创建镜像最常用的方式,就是使用Dockerfile。Dockerfile是一个Docker镜像的描述文件,我们可以理解成火箭发射的A、B、C、D…的步骤。Dockerfile其内部包含了一条条的指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。

二、Dockerfile的示例如下所示

FROM node:12

RUN rm -f /etc/localtime
&& ln -s /usr/share/zoneinfo/Asia/Chongqing /etc/localtime

ENV PORT 12001
EXPOSE $PORT

WORKDIR /app

COPY package-lock.json package.json ./

RUN npm install

VOLUME /app/node_modules

COPY . ./

ENTRYPOINT ["/app/entrypoint"]

CMD [“npm”, “start”]

2.1 FORM

指明构建的新镜像是来自于哪个基础镜像,例如:

FORM node:12       指定tag版本为12的node基础镜像

2.2 RUN

构建镜像时运行的Shell命令,例如:
 配置时区

RUN rm -f /etc/localtime \
 && ln -s /usr/share/zoneinfo/Asia/Chongqing /etc/localtime

2.3 ENV

用于设置环境变量)
在镜像中设置一个环境变量,例如:

ENV:PORT 12001

2.4 EXPOSE

指定容器需要映射到宿主机的端口,例如

EXPOSE: $PORT

2.5 WORKDIR

指定工作目录,例如:

WORKDIR /app

2.6 COPY

复制文件到镜像

COPY package-lock.json package.json ./

2.7 RUN

构建镜像时运行的命令,例如:

RUN npm install

2.8 VOLUME

指定容器挂载点到宿主机自动生成的目录,例如

VOLUME /app/node_modules

2.9 ENTRYPOINT

启动容器时执行的Shell命令,同CMD类似,只是由ENTRYPOINT启动的程序不会被docker run命令行指定的参数所覆盖,仅有最后一个会生效。

ENTRYPOINT ["/app/entrypoint"]

2.9 CMD

启动容器时执行的Shell命令

CMD ["npm", "start"]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值