【Docker】容器管理必备命令解析

Docker 是一个开源的平台,旨在帮助开发者和系统管理员通过容器化技术构建、发布和运行应用程序。在日常的开发和运维工作中,掌握一些常用的 Docker 命令可以极大地提升工作效率。本文将介绍一些 Docker 常用的命令,帮助你快速上手和提高。

docker run

创建并启动一个容器,是最常用的命令之一。
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

常用选项:

  • -d:让容器在后台运行(Detached 模式)。
  • -it:以交互模式运行容器,并附加到容器的终端。
  • --name:为容器指定自定义名称。
  • -p:将主机端口映射到容器端口,格式为主机端口:容器端口,(如 -p 8080:80)。
  • -v:将主机目录挂载到容器中,通常用于数据持久化。
  • --rm:容器停止后自动删除容器。
  • -e:设置环境变量,可以传递给容器内的应用程序。
  • --network:指定容器要加入的网络。可以是 bridgehostnone 或自定义网络。
  • --memory / -m:限制容器可使用的最大内存量。
  • --restart:配置容器的重启策略。Docker 容器的重启策略选择

示例:

docker run -d -p 80:80 --name my_web nginx

docker ps

查看当前运行中的容器
查看当前运行中的容器。

常用选项:

  • -a:查看所有容器(包括已停止的)。
  • -q:只显示容器 ID。

示例:

docker ps -a

显示所有容器,包括停止的容器。

docker start/restart/stop

对容器进行启动、重启、停止的操作。
  • docker start:启动处于停止状态的容器进程。
  • docker restart:重启正在运行的容器进程。
  • docker stop:停止正在运行的容器进程。
docker stop [OPTIONS] CONTAINER [CONTAINER...]
docker start [OPTIONS] CONTAINER [CONTAINER...]
docker restart [OPTIONS] CONTAINER [CONTAINER...]

示例

docker stop my_container
docker restart my_container
docker start my_container

docker inspect

获取容器的详细配置信息和状态
docker inspect [OPTIONS] CONTAINER

实例:

docker inspect my_container

显示 my_container 容器的配置信息。

docker stats

查看容器的实时资源使用情况(CPU、内存等)。
docker stats [OPTIONS] [CONTAINER...]

示例

docker stats my_web

docker exec

在运行的容器内执行命令。
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
  • -it:在交互模式下执行命令。

示例

docker exec -it my_container /bin/bash

在容器 my_container 内启动一个 Bash shell。

docker logs

查看容器的日志输出。
docker logs [OPTIONS] CONTAINER
  • -f:跟踪日志输出(类似 tail -f)。
  • --tail:只显示最近的日志行数。

示例

docker logs -f my_container

跟踪名为 my_container 的容器的日志输出。

docker top

查看容器中运行的进程。
docker top CONTAINER

示例

docker top my_container

UID    PID     PPID      C      STIME        TTY              TIME                CMD
root  69040   69020      0      18:37       pts/0           00:00:00              bash

输出说明
UID 容器中运行的命令用户ID
PID 容器中运行的命令PID
PPID 容器中运行的命令父PID,由于PPID是一个容器,此可指为容器在Docker Host中进程ID
C     占用CPU百分比
STIME 启动时间
TTY   运行所在的终端
TIME  运行时间
CMD   执行的命令

显示容器 my_container 中的运行进程。

docker rm

删除一个或多个容器。注意,容器必须已停止运行才能删除。
docker rm [OPTIONS] CONTAINER [CONTAINER...]
  • -f:强制删除正在运行的容器(会先停止再删除)。
  • -v:删除容器时,还会删除与容器关联的卷。

示例

docker rm my_container

删除名为 my_container 的容器。

docker kill

强制终止一个容器。
docker kill [OPTIONS] CONTAINER [CONTAINER...]

示例

docker kill my_container

强制终止 my_container 容器。

docker attach

将当前终端附加到运行中的容器中。
docker attach [OPTIONS] CONTAINER

示例

ocker attach my_container

附加到名为 my_container 的运行中的容器。

docker rename

重命名一个容器。
docker rename [OPTIONS] OLD_NAME NEW_NAME

示例

docker rename old_container new_container

将容器 old_container 重命名为 new_container

docker pause/unpause

暂停或恢复容器中的所有进程。
  • docker pause:暂停容器中的所有进程。
  • docker unpause:恢复被暂停的容器进程。
docker pause CONTAINER
docker unpause CONTAINER

示例

docker pause my_container
docker unpause my_container

暂停并恢复容器 my_container

docker commit

将容器的当前状态保存为一个新镜像。
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

示例

docker commit my_container new_image:latest

将容器 my_container 的当前状态保存为镜像 new_image:latest

docker cp

从容器中拷贝文件到主机或从主机拷贝文件到容器。
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH

示例

docker cp my_container:/path/in/container /path/on/host

从容器 my_container 中拷贝文件到主机。

docker diff

查看容器文件系统中的更改。
docker diff CONTAINER

示例

docker diff my_container

显示容器 my_container 文件系统的更改。

docker export/import

将容器导出为一个 tar 文件,该文件不包含镜像的构建信息,将导出的容器文件系统可以重新导入为一个新的 Docker 镜像。
  • docker export: 备份容器的文件系统或将容器的状态导出用于迁移
  • docker import: 将容器文件系统导入为镜像,然后使用该镜像启动新容器
docker export [OPTIONS] CONTAINER
  • CONTAINER:要导出的容器 ID 或名称。
  • -o:指定导出的文件名。
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
  • file|URL|-:要导入的 tar 文件,可以是本地文件或 URL。
  • REPOSITORY[:TAG]:要导入的镜像名称和标签

示例

docker export -o my_container_backup.tar my_container
docker import my_container_backup.tar my_new_image:latest

将容器 my_container 的文件系统导出为 my_container_backup.tar, 将 my_container_backup.tar 导入为新的 Docker 镜像,命名为 my_new_image:latest

小结

以上是常用的 Docker 容器管理命令,涵盖了创建、启动、停止、删除、执行命令、查看日志等关键操作。掌握这些命令可以帮助你高效管理和操作 Docker 容器。
  • 22
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值