● base镜像
● 不依赖其他镜像,从scratch构建
● 其他镜像可以为基础进行扩展
● scratch
● 该镜像是一个空镜像,可以用于构建busybox等超小镜像,可以说是真正的从零开始构建属于自己的镜像
● dockerfile
● 镜像制作的配置文件
● 1,下载app源代码
● 2,解压压缩包
● 3,进入app,创建Dockerfile
● FROM 指定基础镜像 WORDIR 指定工作目录 COPY 复制宿主机目录到容器的指定路径
● RUN 在容器里运行命令(制作时) 可以放多个命令 && 隔开 可以减少层数
● CMD 容器运行的第一个命令 (启动时)有多个CMD最后一个生效
● ENV 定义变量 如 ENV NGINX_VERSION 1.19.7 将1.19.7赋值给NGINX_VERSION这个变量
● EXPOSE 声明开放那个端口
● ENTRYPOINT:类型CMD
● ARG 传递参数
● VOLUME 将容器的某个路径挂载到宿主机上
● STOPSIGNAL 阻止信号
● FROM node:12-alpine
● WORKDIR /app
● COPY . .
● RUN yarn install --production
● CMD [“node”, “src/index.js”]
● 4,制作镜像
● [root@localhost app]# docker build -t getting-started .