컨테이너 인프라 환경을 지원하는 도구인 도커, 쿠버네티스,젠킨스등 기본적인 도구에 대해 알아봅니다.
먼저 도커에 대해 간략하게 알아보겠습니다.
도커
컨테이너 환경에서 독립적으로 application을 실행할 수 있게 컨테이너를 만들고 관리할 수 있습니다.
Docker는 application을 개발, 배송 및 실행하기 위한 개방형 플랫폼입니다. Docker를 사용하면 애플리케이션을 인프라에서 분리할 수 있고 소프트웨어를 빠르게 제공할 수 있습니다. Docker를 사용하면 application을 관리하는 것과 동일한 방식으로 인프라를 관리할 수 있습니다.
도커 공식 홈페이지 : https://www.docker.com/
Home - Docker
DockerCon is a free, immersive online experience complete with product demos, breakout learning tracks, panel discussions, hacks & tips, deep dive
www.docker.com
도커 플랫폼
Docker는 컨테이너라고 하는 격리된 환경에서 애플리케이션을 패키징하고 실행할 수 있는 기능을 제공합니다.
컨테이너는 가볍고 애플리케이션을 실행하는 데 필요한 모든 것을 포함하므로 현재 호스트에 설치된 것에 의존할 필요가 없습니다. 작업하는 동안 컨테이너를 쉽게 공유할 수 있으며 공유하는 모든 사람이 동일한 방식으로 작동하는 동일한 컨테이너를 갖게 됩니다.
Docker는 개발자가 애플리케이션 및 서비스를 제공하는 로컬 컨테이너를 사용하여 표준화된 환경에서 작업할 수 있도록 합니다.
컨테이너는 지속적 통합 및 지속적 전달(CI/CD) 워크플로에 적합합니다.
도커 아키텍처
도커 데몬
Docker API 요청을 수신하고 이미지, 컨테이너, 네트워크 및 볼륨과 같은 Docker 객체를 관리합니다.
도커 레지스트리
Docker 레지스트리 는 Docker 이미지를 저장합니다. Docker Hub는 누구나 사용할 수 있는 공용 레지스트리이며 Docker는 기본적으로 Docker Hub에서 이미지를 찾도록 구성되어 있습니다. 자신의 개인 레지스트리도 실행할 수도 있습니다.
docker pull 명령 을 사용하면 레지스트리에서 필요한 이미지를 가져옵니다. docker push 명령을 사용하면 이미지가 구성된 레지스트리로 푸시됩니다.
도커 객체
Docker를 사용하면 이미지, 컨테이너, 네트워크, 볼륨, 플러그인 및 기타 개체를 만들고 사용합니다.
도커 이미지
도커 이미지는 Docker 컨테이너를 생성을 위한 읽기 전용 템플릿입니다.
자신만의 이미지를 만들거나 다른 사람이 만든 이미지를 레지스트리에서 받아서 사용할 수 있습니다.
고유한 이미지를 빌드하려면 이미지를 만들고 실행하는데 필요한 단계를 정의하기 위해 Dockerfile을 만들어야 합니다.
도커 컨테이너
컨테이너는 이미지의 실행 가능한 인스턴스입니다. Docker API 또는 CLI를 사용하여 컨테이너를 생성, 시작, 중지, 이동 또는 삭제할 수 있습니다. 컨테이너를 하나 이상의 네트워크에 연결하거나, 컨테이너에 스토리지를 연결하거나, 현재 상태를 기반으로 새 이미지를 생성할 수도 있습니다.
도커 클라이언트
Docker 클라이언트는 Docker 사용자가 Docker와 상호 작용하는 기본 방법입니다.
도커 데스크탑
Docker Desktop은 컨테이너화된 애플리케이션과 마이크로서비스를 구축하고 공유할 수 있는 Mac 또는 Windows 환경용으로 설치하기 쉬운 애플리케이션입니다. Docker Desktop에는 Docker 데몬( dockerd), Docker 클라이언트( docker), Docker Compose, Docker Content Trust, Kubernetes 및 Credential Helper가 포함됩니다.
기타
Docker는 Go 프로그래밍 언어로 작성되었고, 리눅스 커널의 여러 기능을 활용해 제공합니다.
'개발&프로그래밍' 카테고리의 다른 글
IntelliJ에서 콘솔 로그 출력 사이즈 늘리기 (0) | 2024.02.19 |
---|---|
컨테이너 인프라 환경을 지원하는 도구 - 쿠버네티스 Kubenetes (0) | 2022.05.21 |
[IntelliJ] Serializable implements한 클래스에 serialVersionUID 자동생성 (0) | 2022.04.29 |
[JAVA] JDK19를 대상으로 하는 Features (0) | 2022.04.28 |
[JAVA] 변수 생성과 변수 이름 규칙 (0) | 2022.04.27 |
댓글