A. 镜像相关命令

  1. docker build:从 Dockerfile 构建镜像

    • 用法: docker build -t <镜像名>:<标签> <Dockerfile路径>
    • 示例: 假设有一个包含 Node. js 应用程序的 Dockerfile,可以运行以下命令来构建镜像:
      1
      
      docker build -t mynodeapp:latest .
      
      这将根据当前目录下的 Dockerfile 构建一个名为 mynodeapp 的镜像,并打上 latest 标签。
  2. docker pull:从镜像仓库拉取镜像

    • 用法: docker pull <镜像名>:<标签>
    • 示例: 如果想从 Docker Hub 拉取一个 Ubuntu 的镜像,可以运行:
      1
      
      docker pull ubuntu:20.04
      
      这将拉取 ubuntu:20.04 镜像到的本地环境。
  3. docker push:将镜像推送到镜像仓库

    • 用法: docker push <镜像名>:<标签>
    • 示例: 假设已经登录到 Docker Hub,并构建了一个镜像 mynodeapp,可以将其推送到 Docker Hub:
      1
      
      docker push myusername/mynodeapp:latest
      
      这将 mynodeapp:latest 推送到 Docker Hub 仓库中。
  4. docker images:列出本地镜像

    • 用法: docker images
    • 示例: 运行以下命令可以查看本地所有的 Docker 镜像:
      1
      
      docker images
      
      输出将包括镜像名、标签、镜像 ID、创建时间以及镜像大小。
  5. docker rmi:删除镜像

    • 用法: docker rmi <镜像ID>
    • 示例: 要删除一个不再需要的镜像,可以运行:
      1
      
      docker rmi mynodeapp:latest
      
      这将删除 mynodeapp:latest 镜像。
  6. docker history:查看镜像的构建历史

    • 用法: docker history <镜像名>:<标签>
    • 示例: 查看 ubuntu:20.04 镜像的构建历史,可以运行:
      1
      
      docker history ubuntu:20.04
      
      这将显示构建镜像时执行的每个步骤的历史记录。
  7. docker tag:为镜像打标签

    • 用法: docker tag <源镜像名>:<源标签> <目标镜像名>:<目标标签>
    • 示例: 为 mynodeapp 镜像打上新的标签:
      1
      
      docker tag mynodeapp:latest mynodeapp:v1.0
      
      这将 mynodeapp:latest 标签的镜像重新标记为 mynodeapp:v1.0
  8. docker save:将镜像保存为 tar 存档

    • 用法: docker save -o <输出文件> <镜像名>:<标签>
    • 示例: 将 mynodeapp:latest 镜像保存为 mynodeapp.tar 文件:
      1
      
      docker save -o mynodeapp.tar mynodeapp:latest
      
      这将在当前目录生成 mynodeapp.tar 文件,包含镜像的所有数据。
  9. docker load:从 tar 存档加载镜像

    • 用法: docker load -i <tar文件>
    • 示例: 加载之前保存的 mynodeapp.tar 镜像:
      1
      
      docker load -i mynodeapp.tar
      
      这将加载镜像并使其在本地可用。

B. 容器相关命令

  1. docker run:创建并启动容器

    • 用法: docker run [选项] <镜像名>
    • 示例: 创建并启动一个 Ubuntu 容器并进入交互模式:
      1
      
      docker run -it ubuntu:20.04 bash
      
      这将启动一个 Ubuntu 容器并打开一个 Bash 终端。
  2. docker start:启动已停止的容器

    • 用法: docker start <容器ID或容器名>
    • 示例: 启动已停止的容器:
      1
      
      docker start mycontainer
      
      这将启动名为 mycontainer 的容器。
  3. docker stop:停止运行中的容器

    • 用法: docker stop <容器ID或容器名>
    • 示例: 停止正在运行的容器:
      1
      
      docker stop mycontainer
      
      这将停止名为 mycontainer 的容器。
  4. docker restart:重启容器

    • 用法: docker restart <容器ID或容器名>
    • 示例: 重启一个容器:
      1
      
      docker restart mycontainer
      
      这将停止并重新启动 mycontainer 容器。
  5. docker ps:列出正在运行的容器

    • 用法: docker ps
    • 示例: 查看当前运行的容器:
      1
      
      docker ps
      
      输出将显示容器 ID、镜像、创建时间、状态、端口等信息。
  6. docker ps -a:列出所有容器(包括已停止的)

    • 用法: docker ps -a
    • 示例: 查看所有容器(包括已停止的):
      1
      
      docker ps -a
      
      输出将显示所有容器的完整列表。
  7. docker rm:删除已停止的容器

    • 用法: docker rm <容器ID或容器名>
    • 示例: 删除一个已停止的容器:
      1
      
      docker rm mycontainer
      
      这将删除名为 mycontainer 的容器。
  8. docker exec:在运行中的容器内执行命令

    • 用法: docker exec -it <容器ID或容器名> <命令>
    • 示例: 在运行中的容器中执行命令并进入交互模式:
      1
      
      docker exec -it mycontainer bash
      
      这将在 mycontainer 容器中打开一个 Bash 终端。
  9. docker logs:查看容器的日志

    • 用法: docker logs <容器ID或容器名>
    • 示例: 查看 mycontainer 容器的日志输出:
      1
      
      docker logs mycontainer
      
  10. docker cp:在容器和主机之间复制文件

    • 用法: docker cp <源路径> <目标路径>
    • 示例: 从容器复制文件到主机:
      1
      
      docker cp mycontainer:/path/to/file /host/path
      
  11. docker attach:连接到运行中的容器

    • 用法: docker attach <容器ID或容器名>
    • 示例: 连接到正在运行的容器:
      1
      
      docker attach mycontainer
      
  12. docker inspect:查看容器或镜像的详细信息

    • 用法: docker inspect <容器ID或镜像ID>
    • 示例: 查看容器的详细配置信息:
      1
      
      docker inspect mycontainer
      
  13. docker top:查看容器内运行的进程

    • 用法: docker top <容器ID或容器名>
    • 示例: 查看 mycontainer 容器内的运行进程:
      1
      
      docker top mycontainer
      
  14. docker stats:查看容器的资源使用情况

    • 用法: docker stats <容器ID或容器名>
    • 示例: 实时查看容器的 CPU、内存、网络等资源使用情况:
      1
      
      docker stats mycontainer
      

C. 其他常用命令

  1. docker version:查看 Docker 版本信息
    • 用法: docker version
    • 示例: 查看 Docker 客户端和服务端的版本信息:
1
    docker version
  1. docker info:查看 Docker 系统信息

    • 用法: docker info
    • 示例: 查看 Docker 系统的详细信息:
      1
      
      docker info
      
  2. docker login:登录到 Docker 镜像仓库

    • 用法: docker login
    • 示例: 登录到 Docker Hub,输入用户名和密码:
      1
      
      docker login
      
  3. docker logout:退出 Docker 镜像仓库

    • 用法: docker logout
    • 示例: 退出 Docker Hub:
      1
      
      docker logout
      
  4. docker network:管理 Docker 网络

    • 用法: docker network <命令>
    • 示例: 创建一个新的 Docker 网络:
      1
      
      docker network create mynetwork
      
  5. docker volume:管理 Docker 数据卷

    • 用法: docker volume <命令>
    • 示例: 创建一个新的 Docker 卷:
      1
      
      docker volume create myvolume