1. 基础镜像选择:
FROM ubuntu:latest
这个指令指定了基础镜像,后续的操作都将基于该镜像进行。通常选择官方或合适的基础镜像,并根据需要选择版本。
2. 工作目录设置:
WORKDIR /app
WORKDIR 指令用于设置容器内的工作目录,后续的操作都将在该目录中进行。如果目录不存在,将会被创建。
3. 复制文件到容器:
COPY . .
COPY 指令将当前目录中的文件复制到容器中。可以复制单个文件或整个目录。
4. 运行命令:
RUN apt-get update && apt-get install -y python3
RUN 指令用于在容器中执行命令,通常用于安装软件包、配置环境等。每个 RUN 指令都会在新的中间镜像层上执行。
5. 暴露端口:
EXPOSE 80
EXPOSE 指令声明容器将在运行时监听的网络端口,但并不会映射宿主机端口。仅仅是一个文档作用,实际端口映射需要在 docker run 时进行。
6. 环境变量设置:
ENV APP_NAME=myapp
ENV 指令用于设置环境变量,这些变量可以在容器内使用,也可以在运行时通过 -e 选项进行覆盖。
7. 启动命令:
CMD ["python3", "app.py"]
CMD 指令定义容器启动时默认执行的命令。如果在 docker run 时提供了其他命令,它们将覆盖 CMD。
Dockerfile 是按照从上到下的顺序执行的。通过组合这些指令,可以构建出用于运行应用程序的容器镜像。记住,Dockerfile 是一种声明性的配置文件,它描述了镜像是如何构建的,而不是运行时的状态。
转载请注明出处:http://www.pingtaimeng.com/article/detail/10045/Docker