1. FROM:
FROM ubuntu:latest
指定基础镜像,后续的指令将基于该镜像进行构建。
2. WORKDIR:
WORKDIR /app
设置容器内的工作目录,后续的指令将在该目录中执行。
3. COPY:
COPY . .
复制本地文件或目录到容器中。第一个参数是本地路径,第二个参数是容器内目标路径。
4. RUN:
RUN apt-get update && apt-get install -y python3
在容器中执行命令。通常用于安装软件包、更新系统等。
5. EXPOSE:
EXPOSE 80
声明容器将在运行时监听的网络端口。这只是一个元数据,实际端口映射需要在 docker run 时指定。
6. ENV:
ENV APP_NAME=myapp
设置环境变量。这些变量可以在容器内使用,也可以在运行时通过 -e 选项进行覆盖。
7. CMD:
CMD ["python3", "app.py"]
定义容器启动时默认执行的命令。可以提供默认的应用程序启动命令。
8. ENTRYPOINT:
ENTRYPOINT ["echo", "Hello"]
指定容器启动时执行的命令。与 CMD 不同,ENTRYPOINT 的参数不会被覆盖。
9. VOLUME:
VOLUME /data
创建一个挂载点,用于在容器和宿主机之间共享数据。
10. USER:
USER nonroot
指定运行容器时的用户名或 UID。用于指定执行命令的用户身份。
11. ARG:
ARG version=latest
定义构建时的参数,可以在 docker build 时传递。
12. ONBUILD:
ONBUILD COPY . /app
定义一个触发器,在构建镜像时会执行。这个指令通常用于创建可重用的基础镜像。
这只是 Dockerfile 中一些常见指令的简要介绍。根据具体需求,可能会使用更多的指令来配置容器的构建过程。文档中有更详细的指令列表和用法说明:[Dockerfile Reference](https://docs.docker.com/engine/reference/builder/)。
转载请注明出处:http://www.pingtaimeng.com/article/detail/10046/Docker