判断当前环境是否运行在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(); |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 徇的小站!
评论