首页龙虾技能列表 › Docker Essentials — 基础 Docker 命令与工作流

🐳 Docker Essentials — 基础 Docker 命令与工作流

v1.0.0

提供基本的 Docker 命令和工作流,用于容器管理、镜像操作和调试。涵盖容器生命周期管理、镜像构建、Docker Compose 基本操作、网络、卷、系统管理等方面的常用命令和最佳实践。

29· 26,700·0 当前·0 累计
by @arnarsson·MIT-0
下载技能包
License
MIT-0
最后更新
2026/1/29
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
high confidence
此技能为仅包含指令的 Docker 参考文档,内部逻辑一致,未包含安装步骤或秘密请求,但存在关于所需二进制文件的元数据不一致(已列为低风险)。
评估建议
此技能似乎是一份无害的只读 Docker 快速参考指南。安装前请注意:(1)确保有可信的 Docker 安装;(2)避免直接复制包含秘密的示例;(3)仅允许信任的代理执行 Docker 命令;(4)建议发布者修正元数据不一致以提高清晰度。...
详细分析 ▾
用途与能力
技能名称和内容是一份直接的 Docker 命令参考 — 用途与内容匹配。小的不一致:注册元数据报告没有所需的二进制文件,但 SKILL.md 嵌入的元数据列出了 'docker' 作为所需的二进制。对于此技能,要求 Docker CLI 是预期的;不一致很可能是元数据包装上的疏漏。
指令范围
SKILL.md 只包含 Docker 和 docker-compose 的示例命令和工作流(运行、构建、执行、卷、网络、清理等)。它不指示代理读取主机文件、搜索系统状态、访问外部端点或泄露秘密。示例显示了挂载主机路径和传递环境变量(例如,POSTGRES_PASSWORD=secret)—— 对于示例来说是正常的,但如果直接复制可能存在风险。
安装机制
无安装规范或代码文件 — 仅指令。由于技能本身没有下载或写入任何内容,因此风险较低。
凭证需求
技能未声明任何所需的环境变量或凭证。SKILL.md 在命令中使用示例环境变量,但不请求访问任何秘密或无关服务;这是合理的。
持久化与权限
默认为 always:false 和 user-invocable:true。技能不请求永久存在或提升的平台权限,也不修改其他技能或系统范围的代理设置。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/1/29
● 无害

安装命令 点击复制

官方npx clawhub@latest install docker-essentials
镜像加速npx clawhub@latest install docker-essentials --registry https://www.longxiaskill.com

技能文档

用于容器和镜像管理的基本 Docker 命令。

容器生命周期

运行容器

# 从镜像运行容器
docker run nginx
# 后台运行(分离模式)
docker run -d nginx
# 指定名称运行
docker run --name my-nginx -d nginx
# 端口映射运行
docker run -p 8080:80 -d nginx
# 环境变量运行
docker run -e MY_VAR=value -d app
# 卷挂载运行
docker run -v /host/path:/container/path -d app
# 退出时自动删除运行
docker run --rm alpine echo "Hello"
# 交互式终端
docker run -it ubuntu bash

管理容器

# 列出运行中的容器
docker ps
# 列出所有容器(包括已停止的)
docker ps -a
# 停止容器
docker stop container_name
# 启动已停止的容器
docker start container_name
# 重启容器
docker restart container_name
# 删除容器
docker rm container_name
# 强制删除运行中的容器
docker rm -f container_name
# 删除所有已停止的容器
docker container prune

容器检查与调试

查看日志

# 显示日志
docker logs container_name
# 跟踪日志(类似 tail -f)
docker logs -f container_name
# 最后 100 行
docker logs --tail 100 container_name
# 带时间戳的日志
docker logs -t container_name

执行命令

# 在运行中的容器内执行命令
docker exec container_name ls -la
# 交互式 shell
docker exec -it container_name bash
# 以特定用户身份执行
docker exec -u root -it container_name bash
# 带环境变量执行
docker exec -e VAR=value container_name env

检查

# 检查容器详情
docker inspect container_name
# 获取特定字段(JSON 路径)
docker inspect -f '{{.NetworkSettings.IPAddress}}' container_name
# 查看容器统计信息
docker stats
# 查看特定容器的统计信息
docker stats container_name
# 查看容器内的进程
docker top container_name

镜像管理

构建镜像

# 从 Dockerfile 构建镜像
docker build -t myapp:1.0 .
# 使用自定义 Dockerfile 构建
docker build -f Dockerfile.dev -t myapp:dev .
# 使用构建参数构建
docker build --build-arg VERSION=1.0 -t myapp .
# 不使用缓存构建
docker build --no-cache -t myapp .

管理镜像

# 列出镜像
docker images
# 从仓库拉取镜像
docker pull nginx:latest
# 为镜像打标签
docker tag myapp:1.0 myapp:latest
# 推送到仓库
docker push myrepo/myapp:1.0
# 删除镜像
docker rmi image_name
# 删除未使用的镜像
docker image prune
# 删除所有未使用的镜像
docker image prune -a

Docker Compose

基本操作

# 启动服务
docker-compose up
# 后台启动
docker-compose up -d
# 停止服务
docker-compose down
# 停止并删除卷
docker-compose down -v
# 查看日志
docker-compose logs
# 跟踪特定服务的日志
docker-compose logs -f web
# 扩展服务
docker-compose up -d --scale web=3

服务管理

# 列出服务
docker-compose ps
# 在服务中执行命令
docker-compose exec web bash
# 重启服务
docker-compose restart web
# 重新构建服务
docker-compose build web
# 重新构建并重启
docker-compose up -d --build

网络

# 列出网络
docker network ls
# 创建网络
docker network create mynetwork
# 将容器连接到网络
docker network connect mynetwork container_name
# 从网络断开
docker network disconnect mynetwork container_name
# 检查网络
docker network inspect mynetwork
# 删除网络
docker network rm mynetwork

# 列出卷
docker volume ls
# 创建卷
docker volume create myvolume
# 检查卷
docker volume inspect myvolume
# 删除卷
docker volume rm myvolume
# 删除未使用的卷
docker volume prune
# 使用卷运行
docker run -v myvolume:/data -d app

系统管理

# 查看磁盘使用情况
docker system df
# 清理所有未使用的内容
docker system prune
# 清理包括未使用的镜像
docker system prune -a
# 清理包括卷
docker system prune --volumes
# 显示 Docker 信息
docker info
# 显示 Docker 版本
docker version

常用工作流

开发容器:

docker run -it --rm \
  -v $(pwd):/app \
  -w /app \
  -p 3000:3000 \
  node:18 \
  npm run dev

数据库容器:

docker run -d \
  --name postgres \
  -e POSTGRES_PASSWORD=secret \
  -e POSTGRES_DB=mydb \
  -v postgres-data:/var/lib/postgresql/data \
  -p 5432:5432 \
  postgres:15

快速调试:

# 进入运行中的容器 shell
docker exec -it container_name sh
# 从容器复制文件
docker cp container_name:/path/to/file ./local/path
# 复制文件到容器
docker cp ./local/file container_name:/path/in/container

多阶段构建:

# Dockerfile
FROM node:18 AS builder
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build

FROM nginx:alpine COPY --from=builder /app/dist /usr/share/nginx/html

常用标志

docker run 标志:

  • -d:分离模式(后台)
  • -it:交互式终端
  • -p:端口映射(主机:容器)
  • -v:卷挂载
  • -e:环境变量
  • --name:容器名称
  • --rm:退出时自动删除
  • --network:连接到网络

docker exec 标志:

  • -it:交互式终端
  • -u:用户
  • -w:工作目录

技巧

  • 使用 .dockerignore 从构建上下文中排除文件
  • 在 Dockerfile 中合并 RUN 命令以减少层数
  • 使用多阶段构建来减小镜像大小
  • 始终为镜像添加版本标签
  • 对一次性容器使用 --rm
  • 对多容器应用使用 docker-compose
  • 定期使用 docker system prune 清理

文档

官方文档:https://docs.docker.com/

Dockerfile 参考:https://docs.docker.com/engine/reference/builder/

Compose 文件参考:https://docs.docker.com/compose/compose-file/

数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制

免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制

了解定制服务