Docker 컨테이너에서 어떤 OS가 실행되고 있습니까? 사용하여 Docker 컨테이너에서

대부분이 두 가지 중 하나를 사용하여 Docker 컨테이너에서 실행중인 OS (알파인, centOS 등)를 알 수 있습니다

그러나 이번에는 말할 수 없습니다.

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

운영 체제의 텍스트 버전을 얻는 방법은 무엇입니까?



답변

Screenfetch 사용하고 싶습니다 . 시도해 볼 수 있습니다.

코드를 살펴보면 배포판이 어떻게 결정되는지 확인할 수 있습니다.

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

그리고 CentOS도 다루기 위해 :

  • cat /etc/issue

답변

uname 호스트 OS 커널 인 VM이 실행중인 커널을 알려줍니다 (VM과 달리 컨테이너는 동일한 커널을 공유 함).

컨테이너의 기본 이미지를 식별하기 위해 컨테이너 내부에서 보장 된 솔루션이 없습니다. Janosch가 제공하는 주요 공급 업체 (Debian, CentOS 및 Alpine과 같은 대부분의 공급 업체의 경우 / etc / os-release) 또는 우분투의 경우 / etc / lsb-release)에서 포인터를 찾을 수 있습니다. 패키지 관리 도구가 설치되어 있는지 확인할 수도 있습니다 (/ etc / apk, / etc / apt, / etc / yum).

컨테이너 외부에서 이미지를 검사하고 레이어를 추적하여 이미지가 어디에서 왔는지 확인할 수 있지만 sha256 체크섬을 찾습니다. 가장 좋은 방법은 이미지 빌드에 사용 된 Dockerfile을 검토하는 것입니다.