安全扫描
OpenClaw
安全
high confidence一份仅包含指令的 Docker 快捷参考手册,内部逻辑一致,未发现意外凭证、安装或代码。但请谨慎使用,因为示例中包含可能影响主机的破坏性命令(如 prune、rm -f)和主机卷挂载。
评估建议
这是一个直接的 Docker 命令参考,似乎与其描述一致。使用前,请:1) 验证发布者(_meta.json 中的元数据与注册表不匹配,可能是包装问题,但如果您关心发布者,请确认)。2) 了解示例中包含破坏性命令和主机卷挂载——除非您信任该代理并准备好处理副作用,否则不要让代理自动执行命令。3) 推送到注册表或需要登录的操作将在运行时需要您的 Docker 凭据(该技能不请求它们;仅在必要时提供给可信任的进程)。4) 尝试不完全理解的命令时, предпочтительно 在隔离环境(如可丢弃的 VM)中运行。...详细分析 ▾
ℹ 用途与能力
技能名称/描述与内容匹配:这是一个 Docker 命令参考,并正确声明了 docker 二进制要求。存在包装元数据的轻微不一致:提供的 _meta.json 中的 ownerId 和 slug 与注册表元数据(ownerId/slug)不同,这可能是一个无害的包装错误,但值得与发布者验证。
✓ 指令范围
SKILL.md 只包含与容器/镜像管理、compose、网络、卷和调试相关的 Docker CLI 示例和工作流。这些指令保持在声明的范围内。注意:许多示例是破坏性的(docker rm -f、docker system prune、docker image prune -a 等),或展示主机卷挂载和环境变量。如果允许代理运行这些命令,它们可能会删除镜像/容器或暴露主机文件——这对于 Docker 技能来说是预期的,但如果没有用户监督执行,则操作风险高。
✓ 安装机制
仅指令的技能,无安装规格和代码文件;技能本身不会写入磁盘。这是最低风险的安装模型。
✓ 凭证需求
技能不请求环境变量、凭据或配置路径。命令引用环境变量的示例(例如 POSTGRES_PASSWORD=secret)和注册表推送/拉取操作,这些在运行时需要凭据(docker login),但技能不请求任何秘密——这对于参考指南来说是合理和适当的。
✓ 持久化与权限
always:false(不强制包含)。disable-model-invocation:false 是平台默认值,在这里是可接受的。技能不请求永久存在,也不修改其他技能的配置。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.02026/2/25
● 无害
安装命令 点击复制
官方npx clawhub@latest install doro-docker-essentials
镜像加速npx clawhub@latest install doro-docker-essentials --registry https://cn.clawhub-mirror.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 buildFROM 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 技能定制 / 插件定制 / 私有工作流定制
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制