Docker 简介
Docker 是一个开源的容器化平台,它允许开发者将应用程序及其依赖(如代码、运行时、系统工具、库、配置文件等)打包到一个轻量级、可移植的容器中,并在任何支持 Docker 的环境中一致地运行。
📌 核心思想:一次构建,到处运行(Build Once, Run Anywhere)
虚拟机(VM)vs 容器
| 特性 | 容器 | 虚拟机 |
|---|---|---|
| 隔离级别 | 进程级隔离 | 硬件级隔离(Hypervisor) |
| 启动速度 | 毫秒级(快) | 秒级~分钟级(慢) |
| 资源占用 | 低(共享宿主机内核) | 高(每个 VM 有完整 OS) |
| 镜像大小 | 几十 MB ~ 几百 MB | 几 GB 起 |
| 可移植性 | 极高 | 较低 |
| 典型代表 | Docker, containerd | VMware, VirtualBox, Hyper-V |
简单说:容器 = 轻量级、秒启、高效的应用沙箱
镜像制作的两种方式
- 使用 docker commit 命令基于容器创建镜像(适合快速测试,不推荐用于生产)
- 使用 Dockerfile 编写构建指令,通过 docker build 创建镜像(推荐方式,可复用、可版本控制)
方式一:使用 docker commit(从运行中的容器创建镜像)
⚠️ 注意:这种方式适合临时调试,但不符合'基础设施即代码'原则,不建议用于正式项目。虽然有诸多限制,但可用于紧急修复。
步骤 1:拉取基础镜像并启动容器
拉取一个 Ubuntu 镜像:
docker pull ubuntu:22.04
这里拉的是基础镜像,就是一个能跑 Ubuntu 的极简环境,也是因为极简环境所以有些驱动没有,跑一些复杂的软件可能会出现驱动丢失等错误。
启动一个交互式容器(-it 表示交互终端):
docker run -it --name my_container ubuntu:22.04 /bin/bash
目的:配置模型运行环境。
步骤 2:在容器内做修改(比如安装软件)
在容器内安装模型运行所需各种库。以 Nginx 举例:
更新包列表:
apt update
安装 Nginx(举例):
apt install -y nginx
验证是否安装成功:
nginx -v
如果是模型等原理是相同的,但是你需要做的是下载各种依赖库,然后通过 docker cp 的指令把需要的模型复制过去。然后使用指令让模型跑起来,并能看到自己想要的结果即可。
步骤 3:在主机上封装整个容器为新镜像
退出容器,退出容器指令 exit。
查看已停止的容器:
docker ps -a
将容器提交为新镜像:
docker commit my_container my_nginx_image:v1
my_container 是容器名,my_nginx_image:v1 是镜像名加版本号。


