Docker
用容器跑训练环境和机器人软件,比如在 Mac 上运行 ROS 2。
以下命令要求 Docker 引擎正在运行;macOS 通常通过 Docker Desktop 或兼容运行环境提供。
基础条目参考:Docker CLI 文档、Docker Compose 文档。
镜像
拉取、构建、查看和删除镜像。
拉取镜像
docker pull ubuntu:24.04
- 助记:
pull= 拉取,把仓库中的 image(镜像)下载到本机;冒号后是 tag(标签)。
列出本机镜像
docker image ls
- 助记:
image= 镜像,ls= list(列出),按“对象 + 动作”读 Docker 命令。
用当前目录的 Dockerfile 构建镜像
docker build -t demo:local .
- 助记:
build= 构建,-t= tag(标签),结尾.是构建上下文目录。
运行容器
docker run 常用参数:使用 GPU、挂载目录、映射端口、交互运行。
启动临时交互式容器
docker run --rm -it ubuntu:24.04 bash
- 助记:
run= 启动,--rm= remove(退出后删除),-i= interactive,-t= tty(伪终端)。 - 作用:退出后删除容器;未挂载到主机的数据随容器删除。
挂载当前目录进入容器
docker run --rm -it -v "$PWD:/workspace" -w /workspace ubuntu:24.04 bash
- 助记:
-v= volume(挂载),冒号分隔主机路径与容器路径;-w= workdir(容器工作目录)。 - 作用:容器内 /workspace 的写入会修改主机当前目录。
进入与日志
docker exec 进入运行中的容器,docker logs 查看输出。
列出全部容器
docker ps -a
- 助记:
ps沿用进程状态的命名习惯来列容器;-a= all(包含已停止容器)。
进入正在运行的容器
docker exec -it demo bash
- 助记:
exec= execute(执行):在已有容器中运行 bash;与 run 新建容器不同。 - 作用:demo 替换为容器名或 ID,镜像需提供 bash;否则可尝试 sh。
持续查看容器日志
docker logs --tail 100 -f demo
- 助记:
logs= 日志;tail指末尾行数,-f= follow(跟随新增输出)。
清理
删除停止的容器、无用镜像和缓存,释放磁盘空间。
查看 Docker 占用的磁盘空间
docker system df
- 助记:
df沿用 disk free 的命名习惯;在 Docker 中显示镜像、容器、卷与缓存的磁盘占用。 - 作用:删除容器前检查数据挂载;可用 docker rm 容器名 删除指定的已停止容器。
Compose
用 docker compose 一次启动多个服务。
在后台启动 Compose 服务
docker compose up -d
- 助记:
compose= 组合多个服务;up启动,-d= detached(后台模式)。 - 作用:在存在 compose.yaml 或兼容配置文件的目录执行。
查看 Compose 服务状态
docker compose ps
- 助记:
ps查看 Compose 项目中的服务容器状态,与 docker ps 的查看范围不同。