配置gem5环境:Dockerfile使用

下载ZIP文件 到dockerfile所在目录下:

运行以下命令 注意不要忘记最后的标点 .

复制代码
docker build -t gem5bootcamp .

Dockerfile 所在目录下执行 docker build 时,Docker 会按照 Dockerfile 中的指令,自动下载和构建所需的一切。不过这过程里有一些具体细节你可能想知道:


✅ 你执行的命令:

bash 复制代码
docker build -t your-image-name .
  • -t your-image-name:给生成的镜像起个名字。
  • .:表示当前目录,也就是包含 Dockerfile 的那个目录(构建上下文)。

✅ 会发生什么事?

  1. 读取 Dockerfile 内容

  2. 下载基础镜像 (比如 FROM ubuntu:22.04

  3. 执行每一行指令,例如:

    • RUN apt install xxx 会联网下载软件包
    • COPY 会复制你当前目录下的文件进镜像里
    • CMD 设置默认运行命令
  4. 如果有需要联网的指令(如 pip、apt、git clone),Docker 会自动联网执行它们

  5. 构建成功后,本地会生成一个完整镜像


🚫 注意几点

问题 说明
网络连不上 aptpipgit clone 等会失败
文件没放对 COPYADD 找不到文件会失败
有缓存 Docker 默认缓存上一步成功的操作(除非你改了文件)

🧪 示例:最小 Dockerfile

Dockerfile 复制代码
FROM python:3.11-slim
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
CMD ["python", "main.py"]

在包含上述内容的目录中运行:

bash 复制代码
docker build -t my-python-app .

就会自动完成以下所有步骤:

  • 下载 Python 镜像;
  • 把你目录下的文件拷进去;
  • 安装依赖;
  • 设定默认运行 main.py

相关推荐
代码游侠2 分钟前
数据结构——线性表
linux·c语言·数据结构·学习·算法
人邮异步社区3 分钟前
完全没接触过AI/NLP,如何系统学习大模型?
人工智能·学习·自然语言处理·大模型
。TAT。4 分钟前
进程间通信-对匿名管道的学习
linux·学习
QiZhang | UESTC10 分钟前
学习日记day37
学习
YJlio11 分钟前
SDelete 学习笔记(9.9):安全擦除原理、SSD 场景与企业合规实战
笔记·学习·安全
lingggggaaaa17 分钟前
免杀对抗——C2远控篇&PowerShell&C#&对抗AV-EDR&停用AMSI接口&阻断ETW跟踪&调用
c语言·开发语言·c++·学习·安全·c#·免杀对抗
k***38817 分钟前
Golang 构建学习
开发语言·学习·golang
stars-he20 分钟前
单片机转换电路学习笔记
笔记·单片机·学习
●VON21 分钟前
从零开始:用 Flutter 构建一个简洁高效的待办事项应用V1.0.0
学习·flutter·arm·openharmony·开源鸿蒙
●VON22 分钟前
Flutter for OpenHarmony前置知识《Flutter 基础组件初探:第一章》
学习·flutter·跨平台·开发·openharmony·开源鸿蒙