Dockerfile :构建自己的 Docker 镜像

1. 什么是 Dockerfile?
Dockerfile 是一个文本文件,包含了构建 Docker 镜像的所有指令。
Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
通过定义一系列命令和参数,Dockerfile 指导 Docker 构建一个自定义的镜像。
2. 基本指令介绍
FROM
指定基础镜像,所有构建的起点:
dockerfile
FROM nginxWORKDIR
设置工作目录:
dockerfile
WORKDIR /appCOPY/ADD
复制文件到镜像中:
dockerfile
COPY ./source /app/
# 或者用 ADD(支持自动解压 tar 文件)
ADD ./source.tar /app/RUN
执行构建命令:
dockerfile
# 单行命令
RUN apt-get update
# 多行命令(推荐写法)
RUN apt-get update \
&& apt-get install -y nginx \
&& rm -rf /var/lib/apt/lists/*EXPOSE
声明容器运行时监听的端口:
dockerfile
EXPOSE 80ENV
设置环境变量:
dockerfile
ENV NODE_VERSION 14.17.0CMD/ENTRYPOINT
指定容器启动时运行的命令:
dockerfile
# CMD 可以被覆盖
CMD ["nginx", "-g", "daemon off;"]
# ENTRYPOINT 不会被覆盖
ENTRYPOINT ["nginx"]3. 实际示例
这是一个构建 Node.js 应用的简单示例:
dockerfile
# 使用 Node.js 官方镜像作为基础
FROM node:14
# 设置工作目录
WORKDIR /app
# 复制 package.json 和 package-lock.json
COPY package*.json ./
# 安装依赖
RUN npm install
# 复制源代码
COPY . .
# 暴露端口
EXPOSE 3000
# 启动应用
CMD ["npm", "start"]4. 构建镜像
在 Dockerfile 所在目录执行:
bash
docker build -t myapp:1.0 .通过这些基础知识,你就能开始构建自己的 Docker 镜像了。


评论区
欢迎分享你的思考、补充或问题。