当前位置: 首页 > news >正文

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

在 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

常用场景示例

  1. 进入容器并查看日志
    docker exec -it my_container tail -f /var/log/app.log
    
  2. 进入容器并查看环境变量
    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>

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

四、综合示例

  1. 进入正在运行的容器并查看日志文件

    docker exec -it <container_name_or_id> tail -f /var/log/app.log
    
  2. 查看容器实时日志输出

    docker logs -f <container_name_or_id>
    
  3. 查看最近 50 行容器日志

    docker logs --tail 50 <container_name_or_id>
    

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


http://www.mrgr.cn/news/20932.html

相关文章:

  • vue ts 本地缓存数据
  • html 单页面路由模式hash和history
  • 用fastapi搭建cpca地址提取服务接口
  • [一文讲透] STM32实现ADC转换并使用DMA传输
  • 鸿蒙轻内核M核源码分析系列八 静态内存MemoryBox
  • k8s上搭建devops环境
  • 99%的Java程序员不知道的Java Instrument
  • tkinter中按比例放大
  • HTTP与HTTPS在软件测试中的解析
  • SpringBoot项目用Aspose-Words将Word转换为PDF文件正常显示中文的正确姿势
  • 在深度学习计算机视觉的语义分割中,Boundary和Edge的区别是?
  • 波导模式分析2 用于圆TE01模式高功率传输线的大型多模波导滤波器
  • 【新闻转载】2024年上半年勒索软件态势分析:团伙数量激增,攻击策略多样化
  • 大模型日报|9 篇必读的大模型论文
  • 二级菜单的两种思路(完成部分)
  • 行业域名有哪些?
  • Day17_0.1基础学习MATLAB学习小技巧总结(17)——字符向量元胞数组
  • MySQL之对数据库和表的操作
  • 元宇宙先驱,城市区块链
  • CSS学习6--背景图片、颜色、位置、附着、简写、透明、缩放、多背景、凹凸文字、导航栏例子