美文网首页运维杂谈
如何检查程序是否在容器中运行的

如何检查程序是否在容器中运行的

作者: akka9 | 来源:发表于2018-12-21 11:49 被阅读0次

方法1: 判断 cgroup

egrep  '^1:.+(docker|lxc|kubepods)' /proc/1/cgroup

方法2: 检测 mount

 mount | grep '/ type' | egrep  '(overlay|aufs)' 

方法3: 查看硬盘: fdisk -l 容器输出为空,非容器有内容输出

fdisk -l

方法4: df -h 查看根分区的类型

df -h | egrep  '(overlay|aufs)' 

方法5: 判断 /.dockerenv 文件 (不太靠谱,文件可以删除或增加)

test -f /.dockerenv

方法6: 环境变量(不太靠谱,变量名可以覆盖)

方法7: 判断 PID 1 的进程名 (不靠谱:容器也可以用 systemd 启动)

cat /proc/1/status | head -1 

方法8: 判断内存大小(适用于限制了容器内存大小的容器)

cat /sys/fs/cgroup/memory/memory.max_usage_in_bytes         # 容器内存
expr $(cat /proc/meminfo | awk '/MemTotal/ {print $2}') \* 1024  # 主机内存

参考:
https://blog.csdn.net/hsluoyc/article/details/51075230
https://github.com/fabric8io-images/java/blob/master/images/centos/openjdk7/jre/run-java.sh

相关文章

  • 如何检查程序是否在容器中运行的

    方法1: 判断 cgroup 方法2: 检测 mount 方法3: 查看硬盘: fdisk -l 容器输出为空...

  • 第8章 应用的容器化

    Docker的核心思想就是如何将应用整合到容器中,并且能在容器中实际运行。将应用整合到容器中并且运行起来的这个过程...

  • 在容器中运行软件

    以下步骤遇到连接超时问题,请参考《更换docker镜像源》将源设置为国内站点。1.以守护进程的形式在docker中...

  • docker实战(2)

    上篇介绍了如何运行一个centos的容器,在centos容器中安装jdk。 本篇继续介绍安装tomcat。方法跟安...

  • MySQL学习笔记-能在Docker 中跑 MySQL吗?

    容器 容器的定义:容器是为了解决“在切换运行环境时,如何保证软件能够正常运行”这一问题。 目前,容器和 Docke...

  • docker守护容器

    以守护形式运行容器 附加到运行中的容器 启动守护式容器: 查看容器日志: 查看容器内进程 在运行中的容器内启动新进...

  • ovn 集成容器

    本文实验如何和容器集成,这里的场景指的是容器运行在vm中,而ovn运行在hypervisor上,可参考ovn-ar...

  • 记一次valgrind引发的打桩失败问题的定位

    Valgrind是Linux下用来检查程序是否有内存泄漏的利器。现在每次运行完UT之后,都会用valgrind跑一...

  • master docker 2基础命令2

    查看容器内部信息 交互式运行容器命令: 让运行中的容器另外运行一个命令的命令: 在运行的nginx容器中运行bas...

  • Jenkins踩坑

    一、Docker中运行Jenkins要注意端口是否被占用和起一个容器名字以及是否需要后台运行 记得看端口是否被占用...

网友评论

    本文标题:如何检查程序是否在容器中运行的

    本文链接:https://www.haomeiwen.com/subject/pmkmkqtx.html