Dockerfile 自定义镜像构建
一、核心概念
Dockerfile 是一组镜像构建指令脚本,每条指令都会生成一层文件系统。构建过程自动化、可重复。
二、常用指令
| 指令 | 含义 | 示例 |
|---|---|---|
| FROM | 指定基础镜像 | FROM ubuntu:22.04 |
| WORKDIR | 设置工作目录 | WORKDIR /app |
| COPY | 拷贝文件 | COPY . /app |
| RUN | 执行命令 | RUN apt-get update && apt-get install -y python3 |
| EXPOSE | 暴露端口 | EXPOSE 8080 |
| CMD | 容器启动默认命令 | CMD ["python3", "app.py"] |
三、示例:构建 Node.js Web 镜像
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
构建与运行:
docker build -t my-node-app .
docker run -d -p 3000:3000 my-node-app
四、推送到仓库
docker login
docker tag my-node-app yourname/my-node-app:v1
docker push yourname/my-node-app:v1