教程 docker tutorial

Dockerfile 基础语法

Dockerfile 是构建 Docker 镜像的文本文件,定义了镜像的基础镜像、环境配置、应用代码和运行指令。

1. Dockerfile 基础结构

一个简单的 Dockerfile 示例:

dockerfile
# 使用官方基础镜像
FROM ubuntu:22.04

# 作者信息
LABEL maintainer="[email protected]"

# 设置环境变量
ENV APP_HOME=/app

# 创建工作目录
WORKDIR $APP_HOME

# 拷贝本地文件到镜像
COPY . .

# 安装依赖
RUN apt-get update && apt-get install -y python3

# 容器启动时执行命令
CMD ["python3", "app.py"]

`

2. 常用指令

指令 功能
FROM 指定基础镜像,必须在文件首行
LABEL 添加元数据,如作者、版本等
ENV 设置环境变量
WORKDIR 设置工作目录
COPY / ADD 拷贝文件到镜像,ADD 支持 URL 和解压
RUN 构建镜像时执行命令
CMD 容器启动时默认执行命令
ENTRYPOINT 配合 CMD 定义入口点,增强可执行性
EXPOSE 声明容器监听端口
VOLUME 声明卷用于数据持久化
USER 设置容器运行用户
ARG 构建时参数

3. 构建镜像

bash
docker build -t myapp:1.0 .
  • -t 指定镜像名称和标签
  • . 指定 Dockerfile 所在目录

4. 启动容器

bash
docker run -d -p 8080:80 myapp:1.0
  • 使用构建的镜像启动容器
  • 映射端口使服务可访问

5. 最佳实践

  • 尽量使用官方基础镜像,减小镜像体积
  • 合理使用 RUN 指令,减少镜像层数
  • 使用 .dockerignore 排除无关文件,优化构建速度
  • 将 CMD 与 ENTRYPOINT 结合,实现灵活启动

掌握 Dockerfile 基础语法,可以快速构建自定义镜像,并高效管理容器化应用。