Skip to content
Skillv1.0.0

container-ops

Docker 容器操作与管理

by chaterm(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from chaterm/terminal-skills (docker/container-ops/SKILL.md). Install upstream with npx skills add chaterm/terminal-skills --skill container-ops. Copyright stays with the author.

Docker 容器操作

概述

Docker 容器的日常操作,包括生命周期管理、资源限制、日志查看等。

容器生命周期

# 运行容器
docker run -d --name myapp nginx
docker run -it --rm ubuntu bash

# 常用参数
docker run -d \
  --name myapp \
  -p 8080:80 \
  -v /host/path:/container/path \
  -e ENV_VAR=value \
  --restart unless-stopped \
  nginx

# 启停容器
docker start/stop/restart container_name
docker pause/unpause container_name

# 删除容器
docker rm container_name
docker rm -f container_name              # 强制删除
docker container prune                   # 清理停止的容器

容器查看

# 列出容器
docker ps                                # 运行中
docker ps -a                             # 所有
docker ps -q                             # 仅 ID
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"

# 容器详情
docker inspect container_name
docker inspect -f '{{.NetworkSettings.IPAddress}}' container_name

# 资源使用
docker stats
docker stats container_name
docker top container_name

容器交互

# 进入容器
docker exec -it container_name /bin/bash
docker exec -it container_name sh

# 执行命令
docker exec container_name ls -la

# 查看日志
docker logs container_name
docker logs -f container_name            # 实时跟踪
docker logs --tail 100 container_name    # 最后 100 行
docker logs --since 1h container_name    # 最近 1 小时

资源限制

# 内存限制
docker run -d --memory=512m nginx

# CPU 限制
docker run -d --cpus=1.5 nginx
docker run -d --cpu-shares=512 nginx

# 更新运行中容器
docker update --memory=1g container_name
docker update --cpus=2 container_name

文件操作

# 复制文件
docker cp container_name:/path/file ./local
docker cp ./local container_name:/path/

# 查看文件变更
docker diff container_name

# 导出容器
docker export container_name > container.tar
docker import container.tar myimage:tag

常见场景

场景 1:调试容器

# 1. 查看容器状态
docker inspect container_name | jq '.[0].State'

# 2. 查看日志
docker logs --tail 50 container_name

# 3. 进入容器排查
docker exec -it container_name sh

# 4. 查看进程
docker top container_name

场景 2:容器无法启动

# 查看退出原因
docker inspect container_name | jq '.[0].State.ExitCode'
docker inspect container_name | jq '.[0].State.Error'

# 查看日志
docker logs container_name

# 以交互模式启动排查
docker run -it --entrypoint sh image_name

场景 3:批量操作

# 停止所有容器
docker stop $(docker ps -q)

# 删除所有停止的容器
docker container prune -f

# 删除所有容器
docker rm -f $(docker ps -aq)

故障排查

问题 排查方法
容器退出 docker logs, docker inspect
网络不通 docker network inspect, 检查端口映射
磁盘满 docker system df, docker system prune
内存溢出 docker stats, 检查 OOMKilled
启动慢 检查健康检查配置, 镜像大小

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/chaterm-terminal-skills-container-ops/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

chaterm-terminal-skills-container-ops.ocm.jsonjson
{
  "ocm": "1",
  "id": "chaterm-terminal-skills-container-ops",
  "kind": "skill",
  "name": "container-ops",
  "description": "Docker 容器操作与管理",
  "publisher": "chaterm",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "coding"
    ],
    "tags": [
      "skill-md",
      "docker",
      "container",
      "devops",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Docker 容器操作与管理"
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/chaterm/terminal-skills",
      "path": "docker/container-ops/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/chaterm/terminal-skills/blob/HEAD/docker/container-ops/SKILL.md",
      "key": "chaterm/terminal-skills/docker/container-ops/SKILL.md"
    }
  },
  "instructions": "# Docker 容器操作\n\n## 概述\nDocker 容器的日常操作,包括生命周期管理、资源限制、日志查看等。\n\n## 容器生命周期\n\n```bash\n# 运行容器\ndocker run -d --name myapp nginx\ndocker run -it --rm ubuntu bash\n\n# 常用参数\ndocker run -d \\\n  --name myapp \\\n  -p 8080:80 \\\n  -v /host/path:/container/path \\\n  -e ENV_VAR=value \\\n  --restart unless-stopped \\\n  nginx\n\n# 启停容器\ndocker start/stop/restart container_name\ndocker pause/unpause container_name\n\n# 删除容器\ndocker rm container_name\ndocker rm -f container_name              # 强制删除\ndocker container prune                   # 清理停止的容器\n```\n\n## 容器查看\n\n```bash\n# 列出容器\ndocker ps                                # 运行中\ndocker ps ",
  "cost": {
    "context_tokens": 648
  }
}

Fetch it by URL: GET /api/v1/registry/chaterm-terminal-skills-container-ops/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.