首页 / 知识库 / 系统架构体系 / docker入门

04 - 必会命令

Docker 命令很多,但日常 90% 的场景只用到下面这些。先混个眼熟,下一章实战时你会反复用到。

先热个身:跑一个 Ubuntu 玩玩

docker run -it ubuntu bash

这条命令会拉一个 Ubuntu 镜像并进入它的命令行。试试在里面敲 lscat /etc/os-release,你会发现你”进入了一个干净的 Linux 系统”——其实就是一个容器。敲 exit 退出。

  • -it:让你能交互式地操作(i = 交互,t = 终端)
  • bash:进去后要执行的命令(开一个 shell)

体会一下:你电脑上明明没装 Ubuntu,却瞬间有了一个完整的 Ubuntu 环境,用完即走、互不污染。这就是容器的魅力。

核心命令清单

镜像相关

命令作用例子
docker pull <镜像>从仓库下载镜像docker pull python:3.11
docker images查看本地有哪些镜像docker images
docker rmi <镜像>删除本地镜像docker rmi python:3.11
docker build -t <名字> .用 Dockerfile 构建镜像docker build -t my-app .

容器相关

命令作用例子
docker run <镜像>用镜像启动一个容器docker run nginx
docker ps查看正在运行的容器docker ps
docker ps -a查看所有容器(含已停止)docker ps -a
docker stop <容器>停止容器docker stop my-app
docker rm <容器>删除容器docker rm my-app
docker logs <容器>查看容器日志docker logs my-app
docker exec -it <容器> bash进入正在运行的容器docker exec -it my-app bash

docker run 的常用参数(最重要)

docker run 是你用得最多的命令,下面这几个参数务必记住:

参数作用例子
-d后台运行(不占着你的终端)docker run -d nginx
-p 主机端口:容器端口端口映射,让外部能访问容器docker run -p 8000:8000 my-app
--name 名字给容器起个名字,方便管理docker run --name web nginx
-v 主机目录:容器目录挂载数据(数据卷)docker run -v ./data:/data my-app
-e KEY=value设置环境变量docker run -e API_KEY=xxx my-app
--rm容器停止后自动删除docker run --rm hello-world

-p 端口映射特别重要:容器是隔离的,里面服务跑在 8000 端口,外面默认访问不到。-p 8000:8000 的意思是”把我电脑的 8000 端口,转发到容器的 8000 端口”,这样你才能用浏览器访问。下一章实战会立刻用到。

容器 vs 镜像,命令怎么区分?

一个简单的记忆法:

  • 操作镜像(image)的命令:imagespullrmibuild
  • 操作容器(container)的命令:psrunstoprmlogsexec

一个典型工作流

# 1. 构建镜像
docker build -t my-ai-app .

# 2. 后台运行,映射端口,起个名字
docker run -d -p 8000:8000 --name ai my-ai-app

# 3. 看看跑起来没
docker ps

# 4. 看日志(排错神器)
docker logs ai

# 5. 进容器里看看
docker exec -it ai bash

# 6. 用完停掉并删除
docker stop ai
docker rm ai

小结

  • 最常用:run / ps / logs / stop / rm / build / images
  • docker run-d-p--name-v 必须熟练。
  • -p 端口映射是让外部访问容器服务的关键。

命令过完了,下一章——真正动手把一个 FastAPI 服务装进 Docker,把前面学的全用上。


上一章 ← 03 - 安装 Docker | 下一章 → 05 - 把 FastAPI 服务装进 Docker