Docker

Docker 常用命令速查表

镜像

以下命令默认在项目根目录 (包含 Dockerfile 的目录) 下运行。

类别 命令 说明
构建 docker build -t IMAGE_NAME:TAG . 构建镜像
- docker build --no-cache -t IMAGE_NAME:TAG . 不使用缓存
查看 docker image ls 镜像列表
拉取 docker pull IMAGE_NAME:TAG 指定标签
删除 docker rmi IMAGE_NAME:TAG 删除指定标签
- docker rmi IMAGE_ID 通过 ID 删除
- docker image prune 删除悬空镜像 (安全)
- docker image prune -a 删除所有未使用的镜像
保存 docker save IMAGE_NAME:TAG \| gzip > FILE_NAME.tar.gz 保存和压缩
加载 docker load -i IMAGE_FILE.tar.gz 从压缩文件加载
标签 docker tag SOURCE_IMAGE:TAG TARGET_IMAGE:TAG 添加标签

容器

类别 命令 说明
运行 docker run -d --name CONTAINER_NAME IMAGE_NAME:TAG 后台运行
- docker run -p HOST_PORT:CONTAINER_PORT IMAGE_NAME:TAG 端口映射
- docker run -v HOST_PATH:CONTAINER_PATH IMAGE_NAME:TAG 挂载数据卷
- docker run --restart=unless-stopped IMAGE_NAME:TAG 设置自动重启
管理 docker ps 查看运行中的容器
- docker ps -a 查看所有容器
- docker start CONTAINER_NAME 启动
- docker stop CONTAINER_NAME 停止
- docker rm CONTAINER_NAME 删除
操作 docker exec -it CONTAINER_NAME bash 进入容器交互式
- docker exec CONTAINER_NAME COMMAND 在容器中执行命令
- docker logs CONTAINER_NAME 查看日志
- docker logs CONTAINER_NAME -f 实时查看日志
- docker logs CONTAINER_NAME --tail=N 查看最后 N 行日志
信息 docker inspect CONTAINER_NAME 查看详细信息
- docker stats CONTAINER_NAME 查看资源使用
文件操作 docker cp CONTAINER_NAME:/CONTAINER/PATH /HOST/PATH 从容器复制文件到宿主机
- docker cp /HOST/PATH CONTAINER_NAME:/CONTAINER/PATH 从宿主机复制文件到容器
更新 docker update --restart=always CONTAINER_NAME 更新重启策略
- docker rename OLD_NAME NEW_NAME 重命名

网络

类别 命令 说明
查看 docker network ls 查看列表
- docker network inspect NETWORK_NAME 查看详细信息
创建 docker network create NETWORK_NAME 创建桥接网络
删除 docker network rm NETWORK_NAME 删除网络
连接 docker network connect NETWORK_NAME CONTAINER_NAME 容器连接到网络

数据卷

类别 命令 说明
查看 docker volume ls 查看列表
创建 docker volume create VOLUME_NAME 创建卷
删除 docker volume rm VOLUME_NAME 删除卷

Compose

以下命令默认在项目根目录 (包含 docker-compose.yml 的目录) 下运行。

类别 命令 说明
启动 docker compose up -d 创建并后台启动
- docker compose -f FILE_PATH up -d 指定配置文件
- docker compose -p PROJECT_NAME up -d 指定项目名
- docker compose up -d --build 构建后启动
- docker compose start 启动已存在的容器
停止 docker compose down 停止并删除容器、网络
- docker compose -f FILE_PATH down 指定配置文件
- docker compose stop 停止容器 (不删除)
重启 docker compose restart 重启所有服务
- docker compose restart SERVICE_NAME 重启指定服务
查看状态 docker compose ps 查看状态
- docker compose config 验证并查看配置
日志管理 docker compose logs 查看所有日志
- docker compose logs -f 实时查看日志
- docker compose logs --tail=N 查看最后 N 行日志

系统

类别 命令 说明
信息 docker version 查看版本
- docker info 查看信息
系统 docker system df 查看磁盘使用
清理 docker builder prune 清理构建缓存

监控

类别 命令 说明
资源 docker stats 实时查看所有容器资源使用
- docker stats CONTAINER_NAME 查看指定容器资源使用

常用组合

停止 & 删除所有容器:

#!/bin/bash

# Stop
echo "Stop Docker Containers"
RUNNING_CONTAINERS=$(docker ps -q)
if [ -n "${RUNNING_CONTAINERS}" ]; then
  docker stop ${RUNNING_CONTAINERS}
else
  echo "No running containers to stop"
fi

# Remove
echo "Remove Docker Containers"
ALL_CONTAINERS=$(docker ps -a -q)
if [ -n "${ALL_CONTAINERS}" ]; then
  docker rm ${ALL_CONTAINERS}
else
  echo "No containers to remove"
fi

docker compose up -d --build & docker-compose.yml 示例:

name: web
version: "3.9"
services:
  web-frontend:
    build: 
      context: .
      dockerfile: Dockerfile
    image: web-frontend:latest
    container_name: web-frontend
    ports:
      - "8080:80"
    volumes:
      - /host/html:/usr/share/html
    restart: unless-stopped
  web-backend:
    image: web-backend:latest
    container_name: web-backend
    ports:
      - "3000:3000"
    environment:
      - ENV=production
    restart: unless-stopped

版权声明

本文为原创文章,作者保留版权。转载请保留本文完整内容,并以超链接形式注明作者及原文出处。

作者: 除除
原文: http://blog.mazey.net/6124.html

(完)