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