dockerfile 关键字
时间: 2024-06-14 20:01:57 浏览: 158
`Dockerfile`是Docker容器构建的基石,它是一个文本文件,包含了创建和配置Docker镜像的指令集合。关键字(或指令)在`Dockerfile`中扮演着至关重要的角色,它们定义了镜像的构建过程。以下是一些常见的`Dockerfile`关键字:
1. `FROM`:指定基础镜像,所有后续指令将在此基础上执行。
2. `MAINTAINER`(已被`LABEL maintainer=...`取代):提供镜像的维护者信息,现在推荐使用`LABEL`。
3. `RUN`:执行命令,用于安装软件包、设置环境等。
4. `COPY`或`ADD`:复制文件或目录到镜像中。
5. `WORKDIR`:设置工作目录,所有后续的命令在这个目录下执行。
6. `EXPOSE`:声明容器中的端口对外暴露。
7. `CMD`或`ENTRYPOINT`:定义默认启动命令或可执行脚本。
8. `ENV`:设置环境变量。
9. `VOLUME`:挂载宿主机目录或数据卷。
10. `USER`:指定容器运行的用户和组。
相关问题
dockerfile所有关键字的用法举例
1. FROM:指定基础镜像,例如FROM node:10表示以Node 10作为基础镜像创建新的镜像。
2. RUN:执行命令,例如RUN npm install安装依赖库。
3. COPY:拷贝文件或文件夹到镜像中,例如COPY . /app将当前目录下的所有文件拷贝到/app目录下。
4. WORKDIR:设置工作目录,例如WORKDIR /app将/app设置为工作目录。
5. EXPOSE:暴露端口,例如EXPOSE 3000表示将容器内的3000端口暴露出来。
6. CMD:设置容器启动后执行的命令,例如CMD ["npm", "start"]表示启动容器后执行npm start命令。
7. ENTRYPOINT:设置容器启动后执行的入口程序,例如ENTRYPOINT ["node", "app.js"]表示启动容器后执行node app.js命令。
8. ENV:设置环境变量,例如ENV NODE_ENV=production设置NODE_ENV为production。
9. ARG:定义构建时的参数,例如ARG NODE_VERSION=10定义NODE_VERSION为10。
10. LABEL:设置镜像的标签,例如LABEL maintainer="docker@docker.com"设置维护者为docker@docker.com。
dockerfile所有的关键字
1. FROM
2. RUN
3. COPY
4. ADD
5. CMD
6. ENTRYPOINT
7. ENV
8. EXPOSE
9. LABEL
10. MAINTAINER
11. USER
12. WORKDIR
13. VOLUME
14. ARG
15. ONBUILD
16. STOPSIGNAL
17. HEALTHCHECK
18. SHELL
阅读全文