Appearance
aside: trueDockerfile
ENV
dockerfile
ENV TZ=Asia/ShanghaiFROM
从一个镜像创建一个新的构建阶段
dockerfile
FROM node:latest AS builderWORKDIR
工作目录
dockerfile
WORKDIR /usr/local/deploy这样工作目录的 . 就是 workdir, 比如 RUN copy index.js .把index.js文件copy到/usr/local/deploy
COPY
从本地 copy 文件到镜像
将当前所有文件拷贝到工作目录, 注意:隐藏文件也会被copy过去, 包括.git目录
dockerfile
COPY . .copy 文件 a.txt, b.txt 到 src 目录
dockerfile
COPY a.txt b.txt src/copy src 目录文件到 src 目录
dockerfile
COPY src/ src/从 nginx:latest镜像copy nginx.conf, 需要使用到 --from 选项
dockerfile
COPY --from=nginx:latest /etc/nginx/nginx.conf /nginx.conf从 builder 获取文件到当前工作目录
dockerfile
COPY --from=builder /var/www/html/java.tar.gz .ARG
定义变量
dockerfile
ARG build=build
# 或
# 如果变量build不存在,则使用默认值dev, 这是shell脚本的写法
ARG build=${build:-dev}使用变量需要加上$, $build 或者 ${build}
EXPOSE
暴露端口
dockerfile
EXPOSE 80RUN
执行命令
dockerfile
RUN copy index.js .ENTRYPOINT
启动入口
dockerfile
ENTRYPOINT sh -c "apache2-foreground"建议加上sh -c, 参数是字符串,把字符串作为整体传递给shell解释器,具有相同的权限,对于执行复杂命令很有帮助
