Docker kapsayıcısında hangi işletim sistemi çalışıyor?


20

Çoğu zaman, bu ikisinden birini kullanarak, hangi işletim sisteminin Docker kapımda (alpin, centOS, vb.) Çalıştığını söyleyebilirim

Ama bu sefer şunu söyleyemem:

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/Linux

bash-4.2$ more /etc/issue
\S
Kernel \r on an \m

Çalıştığı işletim sisteminin metin sürümünü almanın herhangi bir yolu var mı?

Yanıtlar:


31

Screenfetch'i kullanmayı seviyorum . Bunu denemek isteyebilirsiniz.

Koda bakarsanız, dağıtımı nasıl belirlediğini görebilirsiniz:

  • lsb_release -sirc
  • cat /etc/os-release

Ve CentOS'u da kapsayacak şekilde:

  • cat /etc/issue

1
"/ etc / os-release" gerçekten iyi bir kaynaktır, ancak bazı centOS'ta mevcut değildir. Karar vermek için sadece bir şansınız varsa, "ls / etc / * release" derim. Ama eğer bir dize yol gerekiyorsa, tüm durumlarda kapsayacak şekilde hem "cat / etc / os-release" hem de "cat / etc / issue" gerekir. İkinize de teşekkür ederim.
Bob Yoplait

Evet Alp üzerinde ikisi de iş cat /etc/issueve cat /etc/alpine-release!
Julian

7

uname ana işletim sistemi çekirdeği olan (çekirdeklerin aksine VM'ler aynı çekirdeği paylaşır) çalışan çekirdeği size söyleyecektir.

Kabın temel görüntüsünü tanımlamak için kabın içinden garantili bir çözüm yoktur. Janosch'un verdiği büyük satıcılardan (Debian, CentOS ve Alpine gibi çoğu satıcı için / etc / os-release veya Ubuntu için / etc / lsb-release) işaretçiler arayabilirsiniz. Paket yönetim araçlarının yüklü olup olmadığını da kontrol edebilirsiniz (/ etc / apk, / etc / apt, / etc / yum).

Kabın dışında, görüntüyü inceleyebilir ve görüntünün nereden geldiğini görmek için katmanları takip edebilirsiniz, ancak bu sha256 sağlama toplamlarını bulmaya başlar. En iyi yöntem, görüntüyü oluşturmak için kullanılan Dockerfile gözden geçirmektir.


Bunu en son Ubuntu görüntüsüne sahip pencerelerde çalıştırdığımda, bugün itibariyle, unamesadece geri dönüyor Linuxve uname -asadece geri dönüyorLinux 89e9cd67fc7a 4.9.125-linuxkit #1 SMP Fri Sep 7 08:20:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
David Culbreth

1
Linuxkit, Docker for Windows üzerinde çalışan kapsayıcılara sahip ana işletim sistemi olan yerleşik Docker VM'dir.
BMitch

"uname", kapsayıcıya değil, temel anasistem hakkında size bilgi verir (bir kapsayıcıda çalıştırsanız bile).
Trondh

@Trondh Ben de öyle dedim. Cevapta düzeltilmesi gereken bir şey var mı?
BMitch
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.