dockerfile解析

bash 复制代码
FROM python:3.5.6
RUN mkdir /code_demo
ADD . /code_demo/
WORKDIR /code_demo
RUN pip3 install -r requirement -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com --no-cache-dir

逐行解析

1、

dockerfile 复制代码
FROM python:3.5.6

基础镜像

意思是:

  • 从官方的 Python 3.5.6 环境开始构建

  • 这个镜像里已经有:

    • Python 3.5.6
    • pip
    • Linux 系统环境

📌 相当于:你拿了一台"已经装好 Python3.5.6 的虚拟机"


2、

dockerfile 复制代码
RUN mkdir /code

👉 创建目录

意思是:

  • 在容器里创建一个 /code 文件夹
  • 用来放你的项目代码

3、

dockerfile 复制代码
ADD . /code/

👉 复制文件

意思是:

  • 把你当前目录(Dockerfile 所在目录)的所有文件
  • 复制到容器的 /code/ 目录

📌 相当于:

bash 复制代码
cp -r 当前目录/* /code/

⚠️ 注意:

  • . 是宿主机当前目录
  • /code/ 是容器里的目录

4、

dockerfile 复制代码
WORKDIR /code

👉 设置工作目录

意思是:

  • 后续所有命令都在 /code 目录执行

📌 相当于:

bash 复制代码
cd /code

5、

dockerfile 复制代码
RUN pip3 install -r requirement.txt \
    -i http://mirrors.aliyun.com/pypi/simple/ \
    --trusted-host mirrors.aliyun.com \
    --no-cache-dir

👉 安装 Python 依赖

逐个解释:

pip3 install -r requirement
  • requirement 文件安装依赖
-i http://mirrors.aliyun.com/pypi/simple/

👉 使用阿里云镜像源

作用:

  • 加速下载(国内更快)
  • 避免访问官方 PyPI 慢或失败

--trusted-host mirrors.aliyun.com

👉 信任这个源(避免 HTTPS 警告)


--no-cache-dir

👉 不缓存安装包

作用:

  • 减小 Docker 镜像体积
  • 避免留下 pip 缓存

❗1. ADD vs COPY

更推荐用:

dockerfile 复制代码
COPY . /code/

👉 更安全、语义更清晰


❗2. 更规范写法

dockerfile 复制代码
FROM python:3.5.6

WORKDIR /code

COPY . /code/

RUN pip3 install -r requirements.txt \
    -i http://mirrors.aliyun.com/pypi/simple/ \
    --trusted-host mirrors.aliyun.com \
    --no-cache-dir
相关推荐
zyl8372118 分钟前
Docker 使用手册
运维·docker·容器
“码”力全开2 小时前
解耦异构算力与多协议接入:基于Docker与源码交付的开源企业级GB28181/RTSP边缘计算AI视频管理平台架构深度解析
人工智能·docker·开源
maomao大哥闯天下3 小时前
K8s如何实现滚动更新、健康检查与探测机制
docker·容器·kubernetes
kaisun643 小时前
Docker 构建网络问题排查
网络·docker·eureka
楼田莉子4 小时前
Docker学习:Docker介绍及其架构介绍
运维·后端·学习·docker·容器·架构
SpikeKing4 小时前
LLM - 集成 Hermes Agent 与 WebUI 至同一个 Docker 镜像配置
docker·webui·vibecoding·hermes agent
杨浦老苏5 小时前
网络连接实时可视化利器TapMap
网络·docker·可视化·监控·群晖
香气袭人知骤暖6 小时前
PG数据库 Docker 容器自动备份方案
数据库·docker·容器
AI服务老曹6 小时前
解耦异构算力:基于 Docker 与 GB28181/RTSP 的边缘计算 AI 视频管理平台架构设计与源码交付实践
人工智能·docker·边缘计算
weixin_468466856 小时前
Prometheus监控服务部署与实战指南
服务器·后端·python·docker·自动化·prometheus