参考资料:
Dockerfile是用于构建Docker镜像的文本文件,它包含了构建镜像所需的所有指令和配置信息。使用Dockerfile可以方便地构建镜像,确保每个镜像中的环境和配置都一致。
下面是使用Dockerfile构建Docker镜像的基本步骤:
- 在一个空目录下创建一个名为"Dockerfile"的文本文件。
- 编辑Dockerfile文件,添加FROM、RUN、COPY等指令,并设置相应的值。
- 使用docker build命令来构建镜像,例如:
docker build -t myimage:1.0 .
其中,“-t”表示指定镜像名称和版本号,后面跟着一个点“.”表示Dockerfile所在的当前目录作为构建上下文。
- 构建完成后,可以使用docker run命令来运行该镜像,例如:
docker run -it myimage:1.0
这样就可以在新容器中运行该镜像了。
需要注意的是,Dockerfile语法较为严格,可以参考Docker官方文档或其他相关教程来学习和实践。
指令简介
指令 | 说明 |
---|---|
FROM <镜像名称> | 基于哪个镜像构建 |
MAINTAINER <信息> | 镜像维护者姓名或邮箱地址 |
RUN <命令行命令> | 构建镜像时运行的指令,docker build 时运行 |
CMD <命令行命令> | 构建镜像时运行的指令,docker run 时运行 |
VOLUME <路径> | 定义数据卷。 |
USER <用户名>[:<用户组>] | 用于指定执行后续命令的用户和用户组 |
HEALTHCHECK [选项] CMD <命令> | 健康检查 |
ARG <参数名>[=<默认值>] | 构建参数[值],只在dockerfile内有效 |
ENV <参数名>[=<默认值>] | 设置环境变量 |
EXPOSE <端口1> [<端口2>...] | 仅仅只是声明端口。 |
ADD [--chown=<user>:<group>] <源路径1>... <目标路径> | 拷贝文件或目录到容器中,如果是URL或压缩包便会自动下载或自动解压 |
COPY [--chown=<user>:<group>] <源路径1>... <目标路径> | 拷贝文件或目录到容器中,不具备自动下载或解压的功能 |
ENTRYPOINT ["<executeable>","<param1>","<param2>",...] | 运行容器时执行的shell命令,可搭配CMD使用 |
补充:
FROM nginx
ENTRYPOINT ["nginx", "-c"] # 定参
CMD ["/etc/nginx/nginx.conf"] # 变参
标签:Dockerfile,指令,构建,镜像,Docker,dockerfile,docker
From: https://www.cnblogs.com/li053/p/17502871.html