대부분이 두 가지 중 하나를 사용하여 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을 검토하는 것입니다.