Dockerfile 基本结构

Dockerfile 是一个文本文件,用于自动化 Docker 镜像的构建过程。这里是一个简单的 Dockerfile 编写步骤,以及一个基本的例子:

Dockerfile 基本结构

  1. FROM: 指定基础镜像。
  2. RUN: 执行命令。
  3. COPY / ADD: 复制文件或目录到镜像中。
  4. CMD: 设置容器启动后默认执行的命令。
  5. ENTRYPOINT: 设置容器启动时运行的命令。
  6. EXPOSE: 声明端口。
  7. ENV: 设置环境变量。
  8. WORKDIR: 指定工作目录。
  9. USER: 指定运行用户。
  10. VOLUME: 创建挂载点。

示例 Dockerfile

假设你正在创建一个简单的 Python 应用的 Docker 镜像,你的应用需要 Flask 库。

Dockerfile 复制代码
# 使用官方 Python 运行时作为父镜像
FROM python:3.8-slim

# 设置工作目录为 /app
WORKDIR /app

# 将当前目录内容复制到位于 /app 中的容器中
COPY . /app

# 安装 requirements.txt 中指定的任何所需包
RUN pip install --trusted-host pypi.python.org -r requirements.txt

# 使端口 80 可供此容器外的环境使用
EXPOSE 80

# 定义环境变量
ENV NAME World

# 在容器启动时运行 app.py
CMD ["python", "app.py"]

这个 Dockerfile 从一个 Python 3.8 的官方镜像开始,设置工作目录,复制应用文件,安装依赖,暴露端口,设置环境变量,并指定容器启动时执行的命令。

根据你的应用需求和环境,你可能需要调整 Dockerfile 中的命令和参数。

相关推荐
Patrick_Wilson3 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy3 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭3 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩4 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵5 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1115 天前
LM Studio Docker 部署——本地大模型一键启动
docker
曲幽6 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
武子康8 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
Alsn8611 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
程序员老赵11 天前
服务器没有桌面?Docker 跑个 Chrome,浏览器就能远程用
docker·容器·devops