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
相关推荐
梦想不只是梦与想2 小时前
Docker 常用命令
docker
小白的码BUG之路4 小时前
Docker -- 构建ruoyi-gateway镜像
docker·容器·gateway
小白的码BUG之路5 小时前
Docker -- 构建ruoyi-system镜像
运维·docker·容器
小白的码BUG之路5 小时前
Docker -- 构建redis镜像
运维·docker·容器
江湖有缘5 小时前
Docker实战 | 使用Docker部署EspoCRM开源客户关系管理平台
docker·容器·开源
小白的码BUG之路6 小时前
Docker -- 构建ruoyi-auth镜像
运维·docker·容器
小白的码BUG之路16 小时前
Docker -- 构建nacos镜像
运维·docker·容器
天衍四九-20 小时前
【无标题】
前端·spring boot·mysql·nginx·docker
赵谨言20 小时前
红蓝对抗Docker渗透复盘-技能与产出汇总
docker·容器·eureka
I'mChloe1 天前
Windows部署BiliNote:Docker安装、AI视频转写、Markdown笔记与cpolar远程访问
人工智能·windows·docker