Dockerfile基本的指令
FROM
WORKDIR
COPY(本地目录移动) ADD(URL目录等)
RUN(镜像构建执行shell 语句)
CMD (容器运行执行的shell 语句) ENTRYPOINT
docker inspect nginx:latest --查看nginx的一些配置信息,发现指定了80端口
-----------------------------
EXPOSE 指定当前镜像的端口
VOLUME /a/b 映射到宿主机目录下
--------------------------------
ENV a=10 设置环境变量的值(这个变量构建和运行都有效)
ARG b=20 设置环境变量(构建有效 运行时无效)
----------------------
LABEL 标识 docker inspect 来查看是否有这个表示标识
ONBUILD ENV c=10 其它的镜像基于父镜像的一个镜像,执行子镜像的时候,会执行父镜像的ONBUILD后面的语句
HEALTHCHECK
SHELL /bin/sh
USER 用户名:用户组 或
USER 用户id:组id
编写 Dockerfile的工具可以使用VScode进行编写
Alpine Linux 是一个面向安全,轻量级的基于musl libc与busybox项目的Linux发行版.
Alpine
提供了自己的包管理工具 apk
,可以通过 https://pkgs.alpinelinux.org/packages
网站上查询包信息,也可以直接通过 apk
命令直接查询和安装各种软件
FROM alpine(开源的镜像)
LABEL K="V" k1="v1"
WORKDIR /app (在alpine镜像下创建一个app目录)
COPY src/ /app(将主机src目录都复制到app目录下去)
RUN 执行shell语句 echo 11>11.txt 镜像构建执行的脚本
ARG B=10
ENV A $B
CMD shell 脚本 容器启动之后执行的脚本 tail -f 1.txt
CMD echo $A
docker build -t 镜像名称 .(表示当前Dockerfile路径)
docker build -t test --build-arg B=12 可以指定当前Dockerfile文件中 arg 参数B的值是12 .(Dockerfile文件路径)