Sebagian besar waktu, menggunakan salah satu dari keduanya, saya dapat mengetahui OS mana yang berjalan di wadah Docker saya (alpine, centOS, dll)
Tapi kali ini, saya tidak tahu:
bash-4.2$ uname -a Linux 6fe5c6d1451c 2.6.32-504.23.4.el6.x86_64 #1 SMP Tue Jun 9 20:57:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linuxbash-4.2$ more /etc/issue\SKernel \r on an \m
Ada cara untuk mendapatkan versi teks dari OS yang sedang berjalan ?
uname akan memberi tahu Anda kernel yang sedang berjalan, yang merupakan kernel OS host (wadah, tidak seperti VM, berbagi kernel yang sama).
Untuk mengidentifikasi gambar dasar wadah, tidak ada solusi yang dijamin dari dalam wadah. Anda dapat mencari petunjuk dari vendor besar seperti Janosch memberikan (/etc /OS-release untuk sebagian besar vendor seperti Debian, CentOS dan Alpine, atau/etc / lsb-release untuk Ubuntu). Anda juga dapat memeriksa alat manajemen paket jika mereka diinstal (/etc /apk,/etc /apt,/etc / yum).
Di luar wadah, anda dapat memeriksa gambar dan melacak lapisan untuk melihat dari mana gambar itu berasal, tetapi itu masuk ke lokasi checksum sha256. Metode terbaik adalah meninjau Dockerfile yang digunakan untuk membangun gambar.
Pada docker dipangkas kontainer, ini berhasil untuk saya setelah tidak beruntung dengan / etc/rilis,/etc / issue, lsb_release, dll. (Saya tahu beberapa untuk Distro tertentu):
Jalankan perintah ini sebagai akar:
# cat /proc/versionLinux version 4.19.121-linuxkit (root@18b3f92ade35) (gcc version 9.2.0 (Alpine 9.2.0)) #1 SMP Thu Jan 21 15:36:34 UTC 2021