文章分为3部分:docker是什么(三个核心概念)、安装Docker、如何使用


Docker 是一个开源的容器化平台,它可以让开发者将应用程序及其依赖项打包到一个可移植的容器中(方便打包,运行和分享),然后在任何支持 Docker 的环境中运行。

一、三个核心概念:

1、镜像(Image):Docker 镜像是一个只读的模板,它包含了运行应用程序所需的所有内容,包括操作系统、应用程序代码、依赖库和配置文件等。
2、容器(Container):容器是镜像的运行实例。它是一个独立的、可运行的环境,基于镜像创建,并可以在其中执行应用程序。容器之间相互隔离,具有自己独立的文件系统、网络和进程空间,保证了应用程序及其依赖在不同环境中的一致性和稳定性。
3、仓库(Reposity):Docker 仓库是用于存储和共享镜像的地方。

难以理解把,不直观吧,我第一次接触也是。举个例子帮助理解:

把 Docker 想象成一个魔法盒子,这个盒子能把你喜欢的玩具(应用程序)及其配套的小零件(依赖项)都装起来,然后在任何地方都能让这个玩具正常玩起来。
1、『镜像』就是包括小零件、玩具、使用说明书共同打包的东西。它是一个固定的、可以被复制的模板,里面包含了让小机器人正常工作的所有东西。
2、『容器』就是当你获取到这个镜像,然后将其打开并组装成机器人。这个机器人和盒子里面的空间就相当于一个容器。所以说容器是镜像的实例。
3、『仓库』:假如你有很多的“玩具套装盒子”(多个镜像)放在这个大仓库里、通过给这些进行编号,方便存取。

还有一个概念:支持 Docker 的环境:满足 “能解析 Docker 镜像、管理容器生命周期” 的核心条件,就是环境,包括质是Docker Engine)或兼容容器运行时(如 containerd)的系统 / 平台,只要

二、ubantu安装docker引擎

2.1  整体参考:
https://zhuanlan.zhihu.com/p/25850755057
2.2  遇到的问题:

2.2.1 添加Docker GPG密钥:

报错:curl: (35) OpenSSL SSL_connect: 连接被对方重置 in connection to download.docker.com:443          
gpg: 找不到有效的 OpenPGP 数据

分析:网络不可达

解决:

 1)先把官方GPG key下载到本地,下载下来是一个gpg文件,Url链接为:

https://download.docker.com/linux/ubuntu/gpg

 2)转成二进制格式,然后保存到这个文件中

sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg gpg

2.2.2   运行测试容器时

报错:sudo docker run hello-world
Unable to find image 'hello-world:latest' locally

分析:需要安装国内镜像

解决:参考以下博客

https://blog.csdn.net/oyjl__/article/details/143522664

三、docker如何使用

3.1 Docker 常见的使用场景
场景 说明 示例命令
💻 1. 快速运行别人项目 不用配置 Python 环境、依赖等,一键启动 docker run -it python:3.10 bash
🧪 2. 本地部署 AI 模型 / API 比如运行 Ollama、OpenWebUI、LangChain 服务 docker run -d -p 11434:11434 ollama/ollama
🏗️ 3. 前后端隔离开发 前端、后端、数据库分别放进不同容器,用 Docker Compose 管理 docker-compose up
📦 4. 打包你自己的应用 你可以写一个 Dockerfile,让别人一键运行你的项目 docker build -t myapp .
🔁 5. 一键迁移环境 把容器保存成镜像,换台电脑照样运行 docker save / docker load

3.2 以 Ollama + DeepSeek 32B 为例

已经安装好 Docker;安装了 Ollama;用 ollama pull deepseek-coder:32b 拉取了模型。


✅ Step 1:确认 Docker 服务运行

在命令行输入:

docker ps

如果能看到类似:

CONTAINER ID IMAGE COMMAND STATUS PORTS

说明 Docker 正在运行。

如果没有,启动:

sudo service docker start

✅ Step 2:启动 Ollama 服务容器(如果没启动)

Ollama 本身是一个 Docker 镜像 + 本地管理器
最常用的启动命令是:

docker run -d \ --name ollama \ -v ollama:/root/.ollama \ -p 11434:11434 \ ollama/ollama

解释一下:

  • -d:后台运行(detached)

  • --name ollama:容器名

  • -v ollama:/root/.ollama:持久化模型数据

  • -p 11434:11434:映射端口(Ollama 默认端口)

  • ollama/ollama:镜像名称

启动后,你可以访问:

http://localhost:11434

查看 Ollama 是否已在运行。


✅ Step 3:进入容器,或在本机使用 Ollama CLI

方式 A(推荐):

直接在本机运行命令(如果你安装了 Ollama CLI):

ollama run deepseek-coder:32b

它会自动调用本地 Ollama 服务(实际上背后是 Docker 在运行)。

方式 B(容器内运行):

如果你想手动进入容器运行:

docker exec -it ollama bash

进入后运行:

ollama run deepseek-coder:32b

✅ Step 4:与模型交互

模型启动后,你就可以输入自然语言了,比如:

>>> Write a Python script to summarize a text file.

或者通过 API 调用:

curl http://localhost:11434/api/generate -d '{ "model": "deepseek-coder:32b", "prompt": "Explain how transformers work" }'

3.3 常用 Docker 命令
目的 命令 说明
查看正在运行的容器 docker ps
创建并启动新容器(从镜像生成新容器实例) docker run
启动一个容器 docker start 容器名
停止容器 docker stop 容器名
删除容器 docker rm 容器名
查看日志 docker logs -f 容器名
进入容器 docker exec -it 容器名 bash
拉取镜像 docker pull 镜像名
删除镜像 docker rmi 镜像名

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐