Docker 常用命令详细介绍

镜像操作命令

1. 拉取镜像

docker pull [镜像名称:标签]

示例:

docker pull ubuntu:20.04

该命令用于从 Docker 镜像仓库(默认是 Docker Hub)下载指定名称和标签的镜像。如果不指定标签,默认会下载latest标签的镜像。比如,当你要搭建基于 Ubuntu 20.04 版本的基础环境来部署应用时,即可运用上述命令拉取相应镜像。

2. 列出本地镜像

docker images

执行此命令,会展示本地已下载的所有 Docker 镜像,详细呈现镜像的仓库名、标签、镜像 ID、创建时间及大小等信息。借助这些信息,你能清晰掌握本地镜像状况,便于后续管理。例如,可依据镜像大小,决定是否删除不常用的大镜像,以释放磁盘空间。

3. 删除本地镜像

docker rmi [镜像ID或镜像名称:标签]

示例:

docker rmi ubuntu:20.04

该命令用于删除本地指定的 Docker 镜像。在执行删除操作前,务必确认没有基于该镜像创建的容器正在运行,否则删除操作会失败,因为容器依赖对应的镜像。比如,若不再需要之前拉取的 Ubuntu 20.04 镜像,且确定没有使用该镜像的容器在运行,便可使用此命令删除。

4. 构建镜像

docker build -t [镜像名称:标签] [Dockerfile所在目录]

示例:

docker build -t myapp:1.0.

此命令会依据指定目录下的 Dockerfile 构建一个全新的 Docker 镜像。-t选项用于为镜像指定名称和标签,.表示使用当前目录下的 Dockerfile。构建过程中,Docker 会读取 Dockerfile 中的指令,逐步构建镜像。例如,你可在 Dockerfile 中定义应用的运行环境、安装依赖等操作,然后通过此命令构建出包含应用所需环境的镜像。

容器操作命令

1. 创建并启动容器

docker run [选项] [镜像名称:标签] [命令]

示例:

docker run -it --name mycontainer ubuntu:20.04 /bin/bash
  • -i:保持容器的标准输入打开,使你能与容器进行交互。

  • -t:为容器分配一个伪终端,方便在容器内执行命令。

  • --name:为容器指定一个名称,便于后续管理和识别。

此命令会基于指定镜像创建并启动一个新容器,同时执行指定的命令。例如,上述命令会基于ubuntu:20.04镜像创建一个名为mycontainer的容器,并在容器内启动/bin/bash命令,让你可进入容器的交互式终端。

2. 列出运行中的容器

docker ps

该命令会显示当前正在运行的 Docker 容器的相关信息,包括容器 ID、镜像、命令、创建时间、状态、端口及名称等。通过这些信息,你能实时了解正在运行容器的状态和基本情况。例如,可查看容器是否监听正确端口,以确保应用正常对外提供服务。

3. 列出所有容器(包括停止的)

docker ps -a

此命令会展示所有容器,无论其当前是否正在运行。这对全面管理容器极为有用,你可通过它查看曾经创建过的所有容器,包括已停止的容器,便于进行清理或重新启动等操作。

4. 停止容器

docker stop [容器ID或容器名称]

示例:

docker stop mycontainer

该命令用于停止指定的正在运行的容器。停止容器后,容器占用的资源(如内存、CPU 等)会被释放,但容器的配置和数据依然保留,以便后续重新启动。例如,当你需要对正在运行的容器进行维护或调整时,可先使用此命令停止容器。

5. 启动已停止的容器

docker start [容器ID或容器名称]

示例:

docker start mycontainer

此命令用于启动之前已停止的容器。启动后,容器会恢复到停止前的状态(前提是容器的配置和相关依赖未发生变化)。例如,你之前停止了一个用于测试的容器,现在需要继续使用它进行测试,即可使用此命令启动。

6. 进入正在运行的容器

docker exec -it [容器ID或容器名称] [命令]

示例:

docker exec -it mycontainer /bin/bash

该命令用于在正在运行的容器中执行指定的命令,通常用于进入容器的交互式终端。通过进入容器内部,你可查看容器内的文件系统、运行命令进行调试等操作。例如,当你发现容器内的应用出现问题时,可通过此命令进入容器,检查应用的日志和配置文件。

7. 删除容器

docker rm [容器ID或容器名称]

示例:

docker rm mycontainer

此命令用于删除指定的容器。在删除容器前,需确保容器已经停止。删除容器后,容器的配置和数据将被永久删除(除非之前进行了数据卷挂载等操作)。例如,当你确定某个容器不再需要时,可使用此命令将其删除,以释放系统资源。

其他常用命令

1. 查看容器日志

docker logs [容器ID或容器名称]

该命令用于查看指定容器的日志信息,对排查容器运行过程中出现的问题非常有帮助。容器内应用运行时产生的输出、错误信息等都会记录在日志中。例如,当容器内的应用无法正常启动时,你可通过查看日志来确定具体的错误原因,如缺少依赖、配置错误等。

2. 查看容器资源使用情况

docker stats [容器ID或容器名称]

此命令会实时显示指定容器的 CPU、内存、网络和磁盘 I/O 等资源使用情况。通过这些实时数据,你能监控容器的性能表现,及时发现资源瓶颈并进行优化。例如,当发现容器的 CPU 使用率持续过高时,你可进一步排查容器内应用的代码是否存在性能问题。