Pada sistem ubuntu 16.04 baru, systemd &lxc 2.0 baru
sudo grep -qa container=lxc /proc/1/environ
Cara paling andal adalah dengan memeriksa /proc/1/cgroup
. Ini akan memberi tahu Anda grup kontrol dari proses init, dan saat Anda tidak dalam wadah, itu akan menjadi /
untuk semua hierarki. Saat Anda berada di dalam wadah, Anda akan melihat nama titik jangkar. Dengan wadah LXC/Docker, itu akan menjadi seperti /lxc/<containerid>
atau /docker/<containerid>
masing-masing.
Docker membuat .dockerenv
file di akar pohon direktori di dalam wadah. Ini dapat dilihat dengan melakukan ls -la /.dockerenv
untuk menunjukkan bahwa itu dibuat pada startup kontainer.
Anda dapat menjalankan skrip ini untuk memverifikasi:
#!/bin/bash
if [ -f /.dockerenv ]; then
echo "I'm inside matrix ;(";
else
echo "I'm living in real world!";
fi
LEBIH: Ubuntu sebenarnya memiliki skrip bash:/bin/running-in-container
dan itu dapat mengembalikan jenis wadah yang telah dipanggil. Mungkin bisa membantu. Namun, tidak tahu tentang distro besar lainnya.