方式一:判斷根目錄下 .dockerenv 文件
docker環境下:ls -alh /.dockerenv , 非docker環境,沒有這個.dockerenv文件的
root@4cb54de415d4:/# ls -alh /.dockerenv
-rwxr-xr-x 1 root root 0 Sep 6 07:09 /.dockerenv
注:定制化比較高的docker系統也可能沒有這個文件
方式二:查詢系統進程的cgroup信息
docker 環境下:cat /proc/1/cgroup
root@4cb54de415d4:/# cat /proc/1/cgroup
10:devices:/docker/4cb54de415d470461a636d52a9a4f731eddbbcfdf80b4d0b46466ec1cf27f730
9:perf_event:/docker/4cb54de415d470461a636d52a9a4f731eddbbcfdf80b4d0b46466ec1cf27f730
8:net_cls,net_prio:/docker/4cb54de415d470461a636d52a9a4f731eddbbcfdf80b4d0b46466ec1cf27f730
7:cpu,cpuacct:/docker/4cb54de415d470461a636d52a9a4f731eddbbcfdf80b4d0b46466ec1cf27f730
6:freezer:/docker/4cb54de415d470461a636d52a9a4f731eddbbcfdf80b4d0b46466ec1cf27f730
5:memory:/docker/4cb54de415d470461a636d52a9a4f731eddbbcfdf80b4d0b46466ec1cf27f730
4:cpuset:/docker/4cb54de415d470461a636d52a9a4f731eddbbcfdf80b4d0b46466ec1cf27f730
3:blkio:/docker/4cb54de415d470461a636d52a9a4f731eddbbcfdf80b4d0b46466ec1cf27f730
2:pids:/docker/4cb54de415d470461a636d52a9a4f731eddbbcfdf80b4d0b46466ec1cf27f730
1:name=systemd:/docker/4cb54de415d470461a636d52a9a4f731eddbbcfdf80b4d0b46466ec1cf27f730
kvm環境或者物理機環境下:cat /proc/1/cgroup
root@n12-015-133:~# cat /proc/1/cgroup
10:cpuset:/
9:freezer:/
8:memory:/init.scope
7:perf_event:/
6:blkio:/init.scope
5:net_cls,net_prio:/
4:cpu,cpuacct:/init.scope
3:pids:/init.scope
2:devices:/init.scope
1:name=systemd:/init.scope
判斷響應內容即可,主要看name和devices信息,目前來說最靠譜的方式
————————————————
版權聲明:本文為CSDN博主「Ternence_Hsu」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/ternence_hsu/article/details/100678307
