判断当前环境是否运行在docker中
有时候我们并不希望我们的服务跑在docker容器中,网上搜索了一下,找到了一种判断当前服务是否运行在docker中的方法
方法的原理
1 | cat /proc/1/sched |
-
如果返回的结果为:
systemd (1, #threads: 1),则说明环境为Linux;对于使用init的系统pid为1的进程为init -
如果是在docker容器内的话,以java服务为例:
java (118925, #threads: 236),此时pid为1的进程为java
使用方法(以Java为例)
1 | ProcessBuilder pb = new ProcessBuilder(); |
评论