패키지 관리자가 포함되지 않은 Docker 이미지

패키지 관리자가 포함되지 않은 Docker 이미지

나는 일반적으로 도커 컨테이너를 도커 호스트에 아무것도 설치할 필요가 없도록 약간의 "환경"을 전달하는 실행 가능한 프로세스로 생각합니다. 예를 들어, jre와 함께 java jar가 있습니다.

jre를 설치하려면 우분투 기본 상자로 시작한 다음 aptitude를 사용하여 설치할 수 있습니다. 그러나 앱의 종속성(이 경우 jre)을 구성하기 위해 패키지 관리자가 효과적으로 필요하지만 앱을 실행하는 데 꼭 필요한 것은 아니라고 생각합니다.

실용적인 문제가 되기에는 너무 먼 토끼굴이지만 여전히 지적 호기심을 불러일으키는 질문이 제기됩니다. 빌드된 이미지에 패키지 관리자를 포함하지 않고 도커 이미지에 종속성을 설치할 수 있습니까?

chroots에 대해 이것이 어떻게 수행될 수 있는지 살펴보면 어렵거나 불가능한 것으로 보입니다. 언뜻 보면 이 문제는 해결 가능한 것 같습니다(예를 들어 Gradle이나 Maven을 사용하여 Java 애플리케이션을 빌드하는 경우 게시된 프로그램에 Gradle이나 Maven 바이너리를 포함할 필요가 없습니다). 왜 쉬운 해결책이 없는지 알아보세요. Docker 이미지(또는 chroot)에 종속성을 설치하는 문제를 해결하는 사람이 있습니까? 그렇지 않다면 왜 안 됩니까?

(해결책여기그리고 솔루션 2여기패키지 관리자를 chroot에 설치해야 하는데, 이는 도커 이미지에서 패키지 관리자를 가져오는 방법에 대한 내 질문을 해결하지 못합니다. 두 번째 솔루션 1은 소스에서 빌드하는 것을 다루고 있습니다(내 생각에는?). 이는 정확히 내가 찾고 있는 것과도 다릅니다.

관련 정보