Docker进入容器运行命令及查看docker容器日志方式

 更新时间:2026年02月03日 16:10:25   作者:promise524  
文章介绍了在Docker中进入容器运行命令以及查看容器和镜像日志的详细步骤和命令,包括使用`docker exec`、`docker attach`、`docker run`进入容器,使用`docker logs`查看日志,使用`docker inspect`查看详细信息,以及通过`docker ps`查看容器状态

在 Docker 中,进入容器运行命令以及查看容器和镜像的运行日志是非常常见的操作。

以下是详细的步骤和命令:

一、进入容器运行命令

1. 使用docker exec进入容器并执行命令

docker exec 允许在正在运行的容器中启动一个新的进程,如一个 shell 终端。

常见用法:

docker exec -it <container_name_or_id> /bin/bash

docker exec -it <container_name_or_id> /bin/sh
  • -i:表示交互模式(保持标准输入打开)。
  • -t:为该会话分配一个伪终端。
  • <container_name_or_id>:容器的名称或 ID,可以使用 docker ps 查看。
  • /bin/bash/bin/sh:要在容器中启动的 shell 类型。一般来说,如果是较轻量的容器(如 Alpine),使用 /bin/sh,而较常见的 Linux 容器使用 /bin/bash

示例:

进入一个名为 my_container 的容器,并启动一个 Bash 会话:

docker exec -it my_container /bin/bash

2. 使用docker attach进入容器

docker attach 直接附加到容器的主进程。可以看到容器的输出并与它交互。不过,这种方式通常用于调试或与容器的主进程交互。

用法:

docker attach <container_name_or_id>

注意:使用 docker attach 时要小心,因为退出(例如使用 CTRL+C)可能会终止容器的主进程。

3. 使用docker run直接启动容器并执行命令

如果还没有启动容器,可以使用 docker run 直接启动一个容器,并同时执行命令。

示例:

启动一个容器并进入 bash shell:

docker run -it <image_name> /bin/bash

查看正在运行的容器

在进入容器之前,可以使用以下命令查看当前正在运行的容器:

docker ps

常用场景示例

  • 进入容器并查看日志
docker exec -it my_container tail -f /var/log/app.log
  • 进入容器并查看环境变量
docker exec -it my_container env

通过 docker exec,可以直接在容器内部执行各种命令。

二、查看容器和镜像的日志

1. 使用docker logs查看容器日志

docker logs 命令用于查看某个容器的标准输出日志。可以通过 docker logs 看到容器运行的所有输出,包括应用程序的日志。

基本用法

docker logs <container_name_or_id>

常用选项

  • 跟随日志输出(类似 tail -f)
docker logs -f <container_name_or_id>

该命令会实时显示新输出的日志内容,类似于 Linux 中的 tail -f

  • 显示最近的 n 行日志
docker logs --tail 100 <container_name_or_id>

只显示最近的 100 行日志。

  • 查看带有时间戳的日志
docker logs -t <container_name_or_id>
  • 查看指定时间段的日志(例如最近5分钟)
docker logs --since 5m <container_name_or_id>

显示最近5分钟内的日志。

2. 使用docker inspect查看容器和镜像详细信息

docker inspect 可以查看容器或镜像的详细配置信息。

查看容器信息

docker inspect <container_name_or_id>

查看镜像信息

docker inspect <image_name_or_id>

3. 使用docker ps查看运行中的容器

如果不确定容器的名称或 ID,可以使用以下命令列出当前所有运行的容器:

docker ps

如果想查看所有容器(包括已经停止的容器),可以使用:

docker ps -a

三、镜像日志和构建日志

镜像本身不会生成日志,但在使用 docker build 构建镜像时,会输出构建日志。

可以通过查看构建过程中的输出来了解构建镜像时的步骤和错误信息。

构建镜像时查看日志

docker build -t <image_name> <path_to_dockerfile>

构建过程中会输出每个步骤的日志。如果想调试构建过程中的问题,可以通过查看这些输出日志来分析错误。

四、综合示例

  • 进入正在运行的容器并查看日志文件
docker exec -it <container_name_or_id> tail -f /var/log/app.log
  • 查看容器实时日志输出
docker logs -f <container_name_or_id>
  • 查看最近 50 行容器日志
docker logs --tail 50 <container_name_or_id>

通过这些命令,可以轻松进入 Docker 容器运行命令并查看容器的运行日志,调试和监控容器中的应用。

五、总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • docker的具名挂载与匿名挂载实现

    docker的具名挂载与匿名挂载实现

    本文主要介绍了docker的具名挂载与匿名挂载实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • CentOS7上安装Docker的详细步骤

    CentOS7上安装Docker的详细步骤

    Docker 是一个开源工具,它可以让创建和管理 Linux 容器变得简单,容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止,下面这篇文章主要给大家介绍了关于CentOS7上安装Docker的详细步骤,需要的朋友可以参考下
    2022-01-01
  • docker实现部署fastDFS服务过程

    docker实现部署fastDFS服务过程

    文章介绍了如何部署FastDFS、修改存储容器的访问端口以及拓展tracker.conf文件中的http.server_port配置,主要目的是监控和管理Tracker服务器,但通常不需要特别关注,重点是Storage的Nginx端口配置,因为这是用户访问文件的入口
    2026-01-01
  • 使用Vscode结合docker进行开发的详细过程

    使用Vscode结合docker进行开发的详细过程

    这篇文章主要介绍了如何使用Vscode结合docker进行开发,在本文中,我将提供一个在 Node 环境中运行的 JavaScript 应用程序示例。阅读在容器内开发以获取所有技术堆栈的详细文档,需要的朋友可以参考下
    2021-07-07
  • Docker之Dockerfile使用方法详解

    Docker之Dockerfile使用方法详解

    当使用Docker构建容器化应用程序时,Dockerfile是一个用于定义容器镜像的文本文件,Dockerfile 的编写是构建容器的基础,它允许您定义容器的构建步骤、环境和配置,所以本文就给大家讲讲Docker的Dockerfile使用方法,需要的朋友可以参考下
    2023-09-09
  • docker 安装 Rabbitmq的基本步骤

    docker 安装 Rabbitmq的基本步骤

    在平常的开发工作中,我们经常会使用到 rabbitmq,rabbitmq 主要可以进行应用解耦、异步通信、流量削峰、负载均衡、消息持久化、死信队列等,这篇文章给大家介绍docker 安装 Rabbitmq的基本步骤,感兴趣的朋友一起看看吧
    2025-04-04
  • 关于immich docker-compose.yml配置文件详解

    关于immich docker-compose.yml配置文件详解

    Immich是一个自托管的照片和视频备份解决方案,允许用户在私有服务器上存储、管理和分享他们的媒体文件,项目提供了自托管、照片和视频备份、易于访问、数据控制、隐私保护等功能,通过Docker容器化部署,用户可以方便地安装和维护Immich应用
    2025-03-03
  • docker pull和docker-compose的用法及区别总结

    docker pull和docker-compose的用法及区别总结

    Docker是一种开源的应用容器引擎,能够将应用和环境打包在轻量、可移植的容器中,实现快速部署和一致运行,这篇文章主要介绍了docker pull和docker-compose用法及区别的相关资料,需要的朋友可以参考下
    2025-11-11
  • Docker之修改/etc/default/docker 里的DOCKER_OPTS参数不生效问题

    Docker之修改/etc/default/docker 里的DOCKER_OPTS参数不生效问题

    这篇文章主要介绍了Docker之修改/etc/default/docker 里的DOCKER_OPTS参数不生效问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • 解决Docker daemon启动问题

    解决Docker daemon启动问题

    这篇文章主要介绍了解决Docker daemon启动问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08

最新评论