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