programing

Docker 이미지-유형.

sourcetip 2021. 1. 15. 20:27
반응형

Docker 이미지-유형. 슬림 vs 슬림 스트레치 vs 스트레치 vs 알파인


Java 앱을 빌드하고 사용 가능한 OpenJDK 이미지의 변형을 살펴보기 위해 도커 이미지를 선택하려고합니다. 나는 여기 https://github.com/docker-library/openjdk/tree/master/8/jdk를 찾고 있으며 알파인, 슬림 및 창을 봅니다. 이들의 차이점은 무엇이며 각 변형은 무엇을 제공합니까?


Docker 라이브러리 문서 (아래 인용문 및 링크)에 대한 요약은 다음과 같습니다.

  • openjdk:<version>

사실상의 이미지. 확실하지 않은 경우 사용하십시오.

  • openjdk:<version>-buster, openjdk:<version>-stretchopenjdk:<version>-jessie

buster, jessie또는 stretch의 릴리스에 대한 스위트 코드 이름입니다 데비안 하고있는 표시 해제 이미지를 기반으로.

  • openjdk:<version>-alpine

마찬가지로이 이미지는 Alpine Linux를 기반으로 하므로 매우 작은 기본 이미지입니다. 가능한 한 작은 이미지 크기가 필요한 경우 권장합니다. 주의 할 점은 비정상적인 라이브러리를 사용하지만 대부분의 소프트웨어에 문제가되지 않아야한다는 것입니다. 확실하지 않은 경우 아래 공식 문서를 확인하십시오.

  • openjdk:<version>(이후 12), openjdk:<version>-oracleopenjdk:<version>-oraclelinux7

openjdk:12기본 이미지 부터 시작 하여 -oracle-oraclelinux7변형은 공식 Oracle Linux 7 이미지를 기반으로합니다 . 기본 이미지의 OpenJDK 바이너리 -oracle와 및 -oraclelinux7변형은 Oracle에서 빌드하고 OpenJDK 커뮤니티 에서 제공합니다 .

  • openjdk:<version>-slim

이 이미지에는 Java를 실행하는 데 필요한 최소한의 패키지 만 포함되어 있습니다 (예를 들어 많은 UI 관련 Java 라이브러리가 누락 됨). 어디 환경에서 작업하지 않는 경우에만openjdk 이미지를 배포 할 당신은 공간 제약이 기본 이미지는이 중 하나 이상을 권장합니다.

  • openjdk:<version>-windowsservercore

이 이미지는 Windows Server Core ( microsoft/windowsservercore)를 기반으로 합니다 .



전체 문서 ( 아래에 표시된 버전 , 여기최신 버전 ) :

이미지 변형

openjdk이미지가 많은 맛, 특정 사용 케이스를 위해 디자인 된 각 들어온다.

openjdk:<version>

이것은 사실상의 이미지입니다. 필요한 것이 무엇인지 확실하지 않은 경우 이것을 사용하는 것이 좋습니다. 폐기 컨테이너 (소스 코드를 마운트하고 컨테이너를 시작하여 앱을 시작)와 다른 이미지를 빌드하기위한 기본으로 모두 사용하도록 설계되었습니다.

이러한 태그 중 일부에는 jessie 또는 stretch와 같은 이름이있을 수 있습니다. Debian 릴리스의 제품군 코드 이름이며 이미지의 기반이되는 릴리스를 나타냅니다.

openjdk:<version>-alpine

이 이미지는 인기를 기반으로 알파인 리눅스 프로젝트 에서 사용할 수, 공식 이미지 . Alpine Linux는 대부분의 배포 기본 이미지 (~ 5MB)보다 훨씬 작기 때문에 일반적으로 이미지가 훨씬 더 얇아집니다.alpine

이 변형은 최종 이미지 크기가 가능한 한 작아야 할 때 적극 권장됩니다. 주의해야 할 주요주의 사항은 glibc 및 friends 대신 musl libc사용 하므로 특정 소프트웨어는 libc 요구 사항의 깊이에 따라 문제가 발생할 수 있다는 것입니다. 그러나 대부분의 소프트웨어에는 이와 관련된 문제가 없으므로이 변형은 일반적으로 매우 안전한 선택입니다. 발생할 수있는 문제와 알파인 기반 이미지 사용의 장단점 비교에 대한 자세한 내용은 이 Hacker News 주석 스레드참조하십시오 .

이미지 크기를 최소화하기 위해 Alpine 기반 이미지 에 추가 관련 도구 (예 : git또는 bash)가 포함되는 경우는 드뭅니다 . 이 이미지를 기반으로 사용하여 고유 한 Dockerfile에 필요한 항목을 추가합니다 ( 익숙하지 않은 경우 패키지 설치 방법의 예 alpine이미지 설명 참조 ).

openjdk:<version>-windowsservercore

이 이미지는 Windows Server Core ( microsoft/windowsservercore)를 기반으로 합니다 . 따라서 Windows 10 Professional / Enterprise (Anniversary Edition) 또는 Windows Server 2016과 같이 해당 이미지가 수행하는 위치에서만 작동합니다.

Windows에서 Docker를 실행하는 방법에 대한 자세한 내용은 Microsoft에서 제공하는 관련 "빠른 시작"가이드를 참조하십시오.

openjdk:<version>-slim

이 이미지는 -headlessOpenJDK 패키지를 설치 하므로 많은 UI 관련 Java 라이브러리와 기본 태그에 포함 된 일부 공통 패키지가 누락되었습니다. Java를 실행하는 데 필요한 최소한의 패키지 만 포함되어 있습니다. 어디 환경에서 작업하지 않는 경우에만openjdk 이미지를 배포 할하고 공간 제약을 가지고, 우리는 매우이 저장소의 기본 이미지를 사용하는 것이 좋습니다.

참조 URL : https://stackoverflow.com/questions/54954187/docker-images-types-slim-vs-slim-stretch-vs-stretch-vs-alpine

반응형