Home在线笔记

上传或选择Markdown文件,实时查看解析后的HTML效果

登录

文件上传

📄

拖放Markdown文件到此处,或点击上传

上传路径:

Manual目录中的文件

专题目录

《Docker常用命令》预览

文档样式:

一、Docker 常用命令

Docker 常用命令涵盖镜像管理、容器生命周期、数据卷与网络及系统维护四大核心领域,掌握这些命令可高效完成容器化部署与运维 。
镜像与容器管理

  1. 镜像操作:使用 docker images 查看本地镜像,docker pull 拉取镜像,docker rmi 删除镜像,docker build 构建新镜像 。

  2. 容器运行:docker run 创建并启动容器,常用参数包括 -d 后台运行、-p 端口映射、-v 挂载卷 。

  3. 状态控制:docker ps 查看运行中容器,docker start/stop/restart 控制容器启停,docker rm 删除容器,docker kill 强制终止 。

  4. 交互与日志:docker exec -it 进入容器交互,docker logs -f 实时查看日志,docker attach 连接容器主进程 。
    数据卷、网络与系统维护

  5. 数据卷:docker volume create/ls/rm 管理数据卷,docker run -v 挂载宿主机目录或卷到容器,实现数据持久化 。

  6. 网络管理:docker network ls/create/inspect 查看与管理网络,docker network connect/disconnect 连接或断开容器网络 。

  7. 系统清理:docker system prune 清理未使用资源,docker system df 查看磁盘占用,docker version/info 查看版本与系统信息 。

二、构建镜像(Building an Image)

Docker 是一个开源的应用容器引擎,它允许开发者打包、分发和运行应用程序。在 Docker 中,构建镜像是一个核心功能,它允许你将应用程序及其依赖打包在一个轻量级、可移植的容器中。以下是一些最常用的 Docker 命令,用于构建和管理 Docker 镜像:

  1. 构建镜像
  • docker build

    使用 docker build 命令从 Dockerfile 创建一个新的镜像。例如:

    docker build -t my-image-name:tag .

    这里 -t 参数用于指定镜像的名称和标签(例如 my-image-name:tag),最后的 . 表示 Dockerfile 位于当前目录。

  1. 查看本地镜像
  • docker images

    使用 docker images 命令可以列出所有本地的 Docker 镜像。例如:

    docker images
  1. 运行容器
  • docker run

    使用 docker run 命令从镜像启动一个新的容器。例如:

    docker run -d -p 80:80 --name my-container my-image-name:tag

    这里 -d 表示后台运行容器,-p 用于端口映射,--name 指定容器名称。

  1. 查看运行中的容器
  • docker ps

    使用 docker ps 命令可以查看当前正在运行的容器。例如:

    docker ps
  1. 进入容器
  • docker exec

    使用 docker exec 命令可以在运行的容器中执行命令。例如,进入一个正在运行的容器:

    docker exec -it my-container /bin/bash
  1. 停止容器
  • docker stop

    使用 docker stop 命令可以停止一个或多个正在运行的容器。例如:

    docker stop my-container
  1. 删除容器和镜像
  • docker rm 和 docker rmi

    使用 docker rm 删除一个或多个容器,使用 docker rmi 删除一个或多个镜像。例如:

    docker rm my-container
    docker rmi my-image-name:tag

    说明:运行中的容器在删除前需要先停止,否则会产生如下错误:
    root@myVulter:~# docker rm wordpress-wordpress-1
    Error response from daemon: cannot remove container "wordpress-wordpress-1": container is running: stop the container before removing or force remove

  1. 查看容器的日志
  • docker logs

    使用 docker logs 命令可以查看容器的输出日志。例如:

    docker logs my-container

这些命令覆盖了从构建镜像到运行和管理容器的整个流程。通过熟练使用这些命令,你可以高效地使用 Docker。

三、拉取镜像

在Docker中,最常见的命令主要包括镜像(Images)、容器(Containers)、网络(Networks)、卷(Volumes)和守护进程(Daemon)管理等。这里我将重点介绍与镜像操作相关的最常用命令。

  1. 拉取镜像(Pulling an Image)

使用docker pull命令可以从Docker Hub或其他注册中心拉取镜像到本地。例如,要拉取最新的Ubuntu镜像:

docker pull ubuntu

你也可以指定标签(tag)来拉取特定版本的镜像:

docker pull ubuntu:18.04
  1. 查看镜像列表(Listing Images)

使用docker images命令可以列出本地所有的镜像。

docker images

你也可以使用docker image ls作为别名。

  1. 删除镜像(Removing an Image)

使用docker rmidocker image rm命令可以删除一个或多个镜像。例如,删除一个名为ubuntu的镜像:

docker rmi ubuntu

或者使用别名:

docker image rm ubuntu

如果要删除所有未被容器使用的镜像,可以使用:

docker image prune
  1. 查找镜像(Searching for Images)

使用docker search命令可以在Docker Hub上搜索镜像。例如,搜索包含“nginx”的镜像:

docker search nginx
  1. 标记本地镜像(Tagging an Image)

使用docker tag命令可以给本地镜像添加标签,这在将镜像推送到远程仓库时非常有用。例如,给本地ubuntu镜像添加一个新标签:

docker tag ubuntu myusername/ubuntu:latest

四、创建并启动容器

运行 Docker 镜像最常用的方法是通过 docker run 命令,这是创建并启动容器的标准且唯一的官方方式。不过,根据使用场景和参数组合的不同,其用法可灵活变化,主要体现在以下几种常见形式:

  1. 基础运行(前台交互)
    docker run -it 镜像名:tag /bin/bash
  • -i:保持标准输入打开(交互模式)
  • -t:分配伪终端(TTY)
  • 适用于调试或进入容器内部操作,如测试、排错。
  1. 后台守护式运行
    docker run -d --name 容器名 -p 宿主机端口:容器端口 镜像名:tag
  • -d:后台运行(detached mode)
  • --name:自定义容器名称
  • -p:端口映射,暴露服务到宿主机
  • 适用于部署服务(如 Nginx、MySQL、Redis 等)。
  1. 一次性执行命令后退出
    docker run 镜像名:tag 命令 [参数]
  • 不加 -it-d,容器执行完命令即退出
  • 适用于运行脚本、构建任务、测试等一次性任务,例如:
    docker run ubuntu /bin/echo "Hello Docker!"

补充说明

  • docker run 是唯一用于“运行镜像”的命令,其他如 docker start 只能启动已存在但已停止的容器,不能直接运行镜像 。
  • 若本地无指定镜像,docker run 会自动拉取(pull)该镜像(默认从 Docker Hub)。
  • 常用附加参数包括:
    • -v:挂载数据卷(宿主机 ↔ 容器)
    • -e:设置环境变量
    • --restart:设置容器重启策略

✅ 总结:运行镜像只有一种方法 —— docker run,但通过不同参数组合可实现交互式、后台化、一次性等多种运行模式。

五、停止容器并删除镜像

在使用Docker时,经常需要停止正在运行的容器并删除不再需要的镜像。以下是一些常用的Docker命令来实现这些操作:

停止正在运行的容器

要停止一个或多个正在运行的容器,可以使用docker stop命令。例如:

docker stop [容器ID或名称]

如果你想停止所有正在运行的容器,可以使用:

docker stop $(docker ps -q)

删除停止的容器

一旦容器被停止,你可以使用docker rm命令来删除它。例如:

docker rm [容器ID或名称]

如果你想删除所有已停止的容器,可以使用:

docker container prune

或者使用更老的命令(在一些Docker版本中可能仍然有效):

docker rm $(docker ps -a -q)

删除镜像

首先,确保没有容器正在使用该镜像。如果需要,可以先停止并删除相关的容器。然后,使用docker rmi命令来删除镜像:

docker rmi [镜像ID或名称]

如果你想删除所有未被任何容器使用的镜像(即孤立的镜像),可以使用:

docker image prune -a

或者使用更老的命令(在一些Docker版本中可能仍然有效):

docker rmi $(docker images -q -f dangling=true)

组合命令:停止并删除容器和镜像

如果你想一次性完成停止容器并删除镜像的操作,可以结合使用上述命令。例如,首先停止所有容器,然后删除所有未被使用的镜像:

docker stop $(docker ps -q) && docker container prune && docker image prune -a

这个命令序列首先停止所有容器,然后删除所有已停止的容器,最后删除所有未被使用的镜像。这可以帮助你清理不再需要的资源。