Docker 是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中。对于初学者来说,掌握其核心命令是入门的第一步。本文整理了一份最常用的 Docker 操作指南,帮助你快速上手。

目录

1. 安装与验证

2. 镜像操作

3. 容器生命周期管理

4. 清理资源

命令速查表

注意事项:



1. 安装与验证

首先,确保你已成功安装 Docker。

docker --version

这条命令用于检查 Docker 的版本,确认安装是否成功。

2. 镜像操作

镜像(Image)是 Docker 容器的基础,可以把它理解为一个应用的“安装包”。

  • 拉取镜像
    从 Docker 仓库(默认是 Docker Hub)下载镜像到本地。

    docker pull <repository>/<image_name>:<tag>
    • repository: 仓库名,如不指定则默认为官方仓库 library。

    • image_name: 镜像名称。

    • tag: 镜像标签(通常指版本),如不指定则默认为 latest。

    示例:

    # 拉取官方的 hello-world 镜像
    docker pull hello-world
    # 等同于 docker pull library/hello-world:latest

  • 查看本地镜像
    列出所有已下载到本地的镜像。

    docker images

3. 容器生命周期管理

容器(Container)是镜像的运行实例。

  • 运行容器
    这是最核心的命令,它会从镜像创建并启动一个容器。

    docker run <image_name>

    示例:

    docker run hello-world

    这个镜像会输出一段欢迎信息然后容器自动停止。

  • 以交互模式运行容器
    对于像 Ubuntu 这样的操作系统镜像,我们通常需要进入其内部进行操作。

    docker run -it ubuntu bash
    • -i:保持标准输入流(STDIN)打开。

    • -t:分配一个伪终端(pseudo-TTY)。

    • 简单理解:-it 这两个参数组合,可以让你像使用普通终端一样与容器交互。

    • bash:指定容器启动后要运行的命令,这里我们启动 Bash shell。

    运行后,你会直接进入容器内部的 Ubuntu 系统。要退出并停止容器,请输入 exit。

  • 在后台运行容器
    重要理解:容器是否持续运行,取决于其主进程是否继续运行。

    错误示例(会导致容器立即退出):

    docker run -d ubuntu bash
    # 因为 bash 在后台没有输入,会立即退出,容器也随之停止

    正确示例:运行一个能持续工作的进程

    # 方式1:运行一个长期运行的命令
    docker run -d --name my_ubuntu ubuntu bash -c "while true; do echo Hello World; sleep 10; done"
    
    # 方式2:运行一个真正的服务(如 Nginx)
    docker run -d --name my_nginx nginx
    • -d:后台运行。

    • --name:为容器指定一个名称(如 my_ubuntu),否则 Docker 会随机生成一个。

  • 进入后台运行的容器
    当容器在后台运行时,你可以使用 exec 命令进入其中。

    docker exec -it <container_id_or_name> bash

    示例:

    docker exec -it my_ubuntu bash

    进入后,你可以执行任意命令。注意:使用 exit 退出时,不会停止后台容器。

  • 查看容器状态

    # 查看正在运行的容器
    docker ps
    # 查看所有容器(包括已停止的)
    docker ps -a
    # 查看容器的详细日志输出
    docker logs <container_id_or_name>

  • 启动已停止的容器
    如果容器因为某些原因停止了,可以重新启动它:

    docker start <container_id_or_name>

  • 停止容器
    优雅地停止一个运行中的容器。

    docker stop <container_id_or_name>

4. 清理资源
  • 删除容器
    容器停止后,需要手动删除以释放磁盘空间。

    docker rm <container_id_or_name>

    你可以一次性删除多个容器:

    docker rm <id1> <id2> <id3>

  • 删除镜像
    当镜像没有容器(包括已停止的)依赖它时,才能被删除。

    docker rmi <image_id_or_name>

    同样,可以一次性删除多个镜像:

    docker rmi <id1> <id2> <id3>


命令速查表
命令说明示例
docker --version查看版本docker --version
docker pull拉取镜像docker pull ubuntu:20.04
docker images列出本地镜像docker images
docker run运行容器docker run -it ubuntu bash
docker run -d后台运行容器docker run -d --name my_app nginx
docker ps查看运行中容器docker ps
docker ps -a查看所有容器docker ps -a
docker exec -it进入后台容器docker exec -it my_app bash
docker stop停止容器docker stop my_app
docker rm删除容器docker rm my_app
docker rmi删除镜像docker rmi nginx
注意事项:
  1. 谨慎使用 latest 标签:latest 只是一个默认标签,不保证是最新稳定版。在生产环境中,建议明确指定版本号,如 ubuntu:20.04。

  2. 删除前先停止:删除容器前,请确保它已停止运行。可以使用 docker stop。

  3. 注意依赖关系:如果存在正在运行的容器使用了某个镜像,则该镜像无法被删除。你需要先删除依赖它的容器。

有什么问题欢迎评论区指出,有帮助的话可以点赞收藏加关注嗷,后续会更新更多学习内容。

更多推荐