镜像
以下命令默认在项目根目录 (包含 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
(完)