1. Docker란?
- 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 활용하여 컨테이너로 실행하고 관리하는 오픈 프로젝트
- 초기에는 LXC 기술을 기븐으로 구축 되었으나 이후 종속관계를 벗어남
- Application을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼
2. 용어 정리
- 컨테이너
- 하드웨어 가상화를 제공하는 VM과 달리 사용자 공간을 추상화함으로써 경량의 운영체제 수준의 가상화를 제공
- 호스트 시스템 커널을 다른 커테이너와 공유
- 호스트 운영체제에서 실행되는 컨테이너는 코드와 모든 종속성을 패키지화하여 Application이 한 환경에서 다른 환경으로 빠르고 안정적으로 실행될 수 있게 해주는 표준 소프트웨어 장치
- 영구적이지 않으며, 이미지로부터 생성
- Docker 엔진
- 컨테이너를 구축 및 실행하는 오픈소스 호스트 소프트웨어
- 다양한 Window 서버 및 Linux 운영체제에서 컨테이너를 지원하는 클라이언트 서버 Application의 역활
- Docker 이미지
- 컨테이너로 실행될 소프트웨어 모음
- 이미지를 변경하려면 새로운 이미지를 생성해야함
- Docker 레지스트리
- 이미지를 저장 및 다운로드할 수 있는 공간
- Dockerfile
- Docker 이미지를 생성하기 위해 Dockerfile이라는 파일에 DSL(Domain Specific Language)언어를 이용해 이미지를 생성
- 서버에서 프로그램을 설치하려고 할때 Dockerfile을 통하여 관리
3. Docker 이점
- 모듈성
- 계층 및 이미지 버전 제어
- 롤백
- 신속한 배포
참고 자료 1 : https://ko.wikipedia.org/wiki/%EB%8F%84%EC%BB%A4_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4)
참고 자료 2 : https://www.docker.com/
참고 자료 3 : https://www.oracle.com/kr/cloud/cloud-native/container-registry/what-is-docker/
참고 자료 4 : https://www.redhat.com/ko/topics/containers/what-is-docker
참고 자료 5 : https://aws.amazon.com/ko/docker/
'Research' 카테고리의 다른 글
Docker 명령어 정리 (0) | 2022.09.09 |
---|---|
CI/CD (0) | 2022.09.07 |
마크업 언어(markup language) (0) | 2020.08.28 |