docker-manager

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Docker Manager Skill

Docker管理工具技能

Docker container and image management.
Docker容器与镜像管理。

When to Use

适用场景

  • Start/stop containers
  • View container logs
  • Inspect container status
  • Manage Docker images
  • Debug container issues
  • 启动/停止容器
  • 查看容器日志
  • 查看容器状态详情
  • 管理Docker镜像
  • 调试容器问题

Container Management

容器管理

List Containers

列出容器

bash
undefined
bash
undefined

List running containers

List running containers

docker ps
docker ps

List all containers (including stopped)

List all containers (including stopped)

docker ps -a
docker ps -a

List with size

List with size

docker ps -as
docker ps -as

Filter containers

Filter containers

docker ps --filter "status=exited" docker ps --filter "name=web"
undefined
docker ps --filter "status=exited" docker ps --filter "name=web"
undefined

Start/Stop Containers

启动/停止容器

bash
undefined
bash
undefined

Start container

Start container

docker start my-container
docker start my-container

Stop container

Stop container

docker stop my-container
docker stop my-container

Restart container

Restart container

docker restart my-container
docker restart my-container

Stop all running containers

Stop all running containers

docker stop $(docker ps -q)
docker stop $(docker ps -q)

Kill container (force stop)

Kill container (force stop)

docker kill my-container
undefined
docker kill my-container
undefined

Remove Containers

删除容器

bash
undefined
bash
undefined

Remove stopped container

Remove stopped container

docker rm my-container
docker rm my-container

Remove running container (force)

Remove running container (force)

docker rm -f my-container
docker rm -f my-container

Remove all stopped containers

Remove all stopped containers

docker container prune -f
docker container prune -f

Remove all containers

Remove all containers

docker rm $(docker ps -aq)
undefined
docker rm $(docker ps -aq)
undefined

Logs & Debugging

日志与调试

View Logs

查看日志

bash
undefined
bash
undefined

View logs

View logs

docker logs my-container
docker logs my-container

Follow logs

Follow logs

docker logs -f my-container
docker logs -f my-container

View last N lines

View last N lines

docker logs --tail 100 my-container
docker logs --tail 100 my-container

View with timestamp

View with timestamp

docker logs -t my-container
docker logs -t my-container

Combine flags

Combine flags

docker logs --tail 50 -f --timestamps my-container
undefined
docker logs --tail 50 -f --timestamps my-container
undefined

Inspect Container

查看容器详情

bash
undefined
bash
undefined

Get container info

Get container info

docker inspect my-container
docker inspect my-container

Get specific field

Get specific field

docker inspect -f '{{.State.Status}}' my-container docker inspect -f '{{.NetworkSettings.IPAddress}}' my-container docker inspect -f '{{.Config.Env}}' my-container
undefined
docker inspect -f '{{.State.Status}}' my-container docker inspect -f '{{.NetworkSettings.IPAddress}}' my-container docker inspect -f '{{.Config.Env}}' my-container
undefined

Execute Commands

执行命令

bash
undefined
bash
undefined

Run command in container

Run command in container

docker exec my-container ls -la
docker exec my-container ls -la

Interactive shell

Interactive shell

docker exec -it my-container /bin/bash
docker exec -it my-container /bin/bash

Run as different user

Run as different user

docker exec -u root my-container /bin/bash
undefined
docker exec -u root my-container /bin/bash
undefined

Container Stats

容器资源统计

bash
undefined
bash
undefined

Real-time stats

Real-time stats

docker stats
docker stats

Stats for specific container

Stats for specific container

docker stats my-container
docker stats my-container

Stats with no streaming

Stats with no streaming

docker stats --no-stream my-container
undefined
docker stats --no-stream my-container
undefined

Image Management

镜像管理

List Images

列出镜像

bash
undefined
bash
undefined

List all images

List all images

docker images
docker images

List with size

List with size

docker images -a
docker images -a

Filter images

Filter images

docker images --filter "dangling=true"
undefined
docker images --filter "dangling=true"
undefined

Pull/Push Images

拉取/推送镜像

bash
undefined
bash
undefined

Pull image

Pull image

docker pull ubuntu:latest
docker pull ubuntu:latest

Pull specific tag

Pull specific tag

docker pull nginx:alpine
docker pull nginx:alpine

Push image

Push image

docker push myregistry/myimage:latest
undefined
docker push myregistry/myimage:latest
undefined

Remove Images

删除镜像

bash
undefined
bash
undefined

Remove image

Remove image

docker rmi my-image:latest
docker rmi my-image:latest

Remove dangling images

Remove dangling images

docker image prune -f
docker image prune -f

Remove all unused images

Remove all unused images

docker image prune -a -f
undefined
docker image prune -a -f
undefined

Docker Compose

Docker Compose

Common Commands

常用命令

bash
undefined
bash
undefined

Start services

Start services

docker-compose up -d
docker-compose up -d

Stop services

Stop services

docker-compose down
docker-compose down

View logs

View logs

docker-compose logs -f
docker-compose logs -f

Rebuild and start

Rebuild and start

docker-compose up -d --build
docker-compose up -d --build

Scale service

Scale service

docker-compose up -d --scale web=3
docker-compose up -d --scale web=3

Run single service

Run single service

docker-compose run web bash
undefined
docker-compose run web bash
undefined

Network Management

网络管理

List Networks

列出网络

bash
undefined
bash
undefined

List networks

List networks

docker network ls
docker network ls

Inspect network

Inspect network

docker network inspect bridge
undefined
docker network inspect bridge
undefined

Create Network

创建网络

bash
undefined
bash
undefined

Create bridge network

Create bridge network

docker network create my-network
docker network create my-network

Create with subnet

Create with subnet

docker network create --subnet 172.20.0.0/16 my-network
undefined
docker network create --subnet 172.20.0.0/16 my-network
undefined

Volume Management

卷管理

List Volumes

列出卷

bash
undefined
bash
undefined

List volumes

List volumes

docker volume ls
docker volume ls

Inspect volume

Inspect volume

docker volume inspect my-volume
undefined
docker volume inspect my-volume
undefined

Create/Remove Volumes

创建/删除卷

bash
undefined
bash
undefined

Create volume

Create volume

docker volume create my-volume
docker volume create my-volume

Remove volume

Remove volume

docker volume rm my-volume
docker volume rm my-volume

Remove unused volumes

Remove unused volumes

docker volume prune -f
undefined
docker volume prune -f
undefined

Examples

示例

Quick Container Health Check

快速容器健康检查

bash
#!/bin/bash
bash
#!/bin/bash

Check all container health

Check all container health

for container in $(docker ps --format '{{.Names}}'); do status=$(docker inspect -f '{{.State.Health.Status}}' $container 2>/dev/null || echo "no-healthcheck") running=$(docker inspect -f '{{.State.Running}}' $container) echo "$container: running=$running health=$status" done
undefined
for container in $(docker ps --format '{{.Names}}'); do status=$(docker inspect -f '{{.State.Health.Status}}' $container 2>/dev/null || echo "no-healthcheck") running=$(docker inspect -f '{{.State.Running}}' $container) echo "$container: running=$running health=$status" done
undefined

Cleanup Script

清理脚本

bash
#!/bin/bash
bash
#!/bin/bash

Docker cleanup script

Docker cleanup script

Stop all containers

Stop all containers

docker stop $(docker ps -q)
docker stop $(docker ps -q)

Remove all containers

Remove all containers

docker rm $(docker ps -aq)
docker rm $(docker ps -aq)

Remove all images

Remove all images

docker rmi $(docker images -q)
docker rmi $(docker images -q)

Remove all volumes

Remove all volumes

docker volume prune -f
docker volume prune -f

Remove all networks (except default)

Remove all networks (except default)

docker network prune -f
undefined
docker network prune -f
undefined

Monitor Resource Usage

监控资源使用情况

bash
undefined
bash
undefined

Watch container stats

Watch container stats

watch -n 1 'docker stats --no-stream --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"'
undefined
watch -n 1 'docker stats --no-stream --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"'
undefined

Docker Compose Example

Docker Compose示例

yaml
version: '3.8'
services:
  web:
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html:ro
    environment:
      - NGINX_HOST=localhost
    restart: unless-stopped

  api:
    build: ./api
    ports:
      - "3000:3000"
    environment:
      - DATABASE_URL=postgres://db:5432/app
    depends_on:
      - db

  db:
    image: postgres:15
    volumes:
      - db-data:/var/lib/postgresql/data
    restart: unless-stopped

volumes:
  db-data:
yaml
version: '3.8'
services:
  web:
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html:ro
    environment:
      - NGINX_HOST=localhost
    restart: unless-stopped

  api:
    build: ./api
    ports:
      - "3000:3000"
    environment:
      - DATABASE_URL=postgres://db:5432/app
    depends_on:
      - db

  db:
    image: postgres:15
    volumes:
      - db-data:/var/lib/postgresql/data
    restart: unless-stopped

volumes:
  db-data:

Notes

注意事项

  • Use
    docker system df
    to see disk usage
  • Use
    docker system prune
    for general cleanup
  • Consider using
    --restart unless-stopped
    for production containers
  • Use volumes for persistent data
  • Use networks for inter-container communication
  • 使用
    docker system df
    查看磁盘使用情况
  • 使用
    docker system prune
    进行全面清理
  • 生产环境容器建议使用
    --restart unless-stopped
    参数
  • 使用卷存储持久化数据
  • 使用网络实现容器间通信