[aws] 도커(Docker) 란?
이전 내용
[aws] AMI(Amazon Machine Image) 복제
이전 내용 [aws] Elastic IP 할당받아 인스턴스에 연결하기이전 내용 [aws] VPC 피어링(peering)이전 내용 [aws] CloudFront이전 내용 [aws] IAM 계정 생성하기이전 내용 [aws] Workbench에서 UTC 시간 변경하기(파
puppy-foot-it.tistory.com
Docker 란?
도커(Docker)는 소프트웨어를 컨테이너라는 가상 환경에서 실행할 수 있도록 돕는 플랫폼이다. 즉, 컨테이너 기술을 기반으로 한 일종의 가상화 플랫폼이다. 이를 통해 개발자와 운영자가 보다 효율적으로 소프트웨어를 개발하고 배포할 수 있다.
도커는 독립된 환경을 만들어서 하드웨어를 효율적으로 활용하는 기술
그렇다면 컨테이너와 가상화는 무엇일까?
- 컨테이너: 컨테이너가 실행되고 있는 호스트 os의 기능을 그대로 사용하면서 프로세스를 격리해 독립된 환경을 만드는 기술 . 소프트웨어 및 그 실행에 필요한 모든 파일(라이브러리, 설정 등)을 포함하는 경량화된 실행 환경이다.
- 가상화: 물리적 자원인 하드웨어를 효율적으로 활용하기 위해서 하드웨어 공간 위에 가상의 머신을 만드는 기술. 전통적인 가상화와 달리, 컨테이너는 운영 체제를 공유하여 더 빠르고 효율적으로 실행된다.
▶ 도커는 컨테이너를 잘 다룰 수 있게 도와 주는 도구라고 할 수 있다. 도커를 이용하면 이미지를 실행시켜 컨테이너로 만들거나, 생성된 컨테이너를 관리하거나, 컨테이너를 다시 이미지로 만드는 작업을 쉽게 할 수 있다.
[도커의 구성 요소]
- 도커 이미지: 컨테이너를 실행하기 위한 템플릿 역할을 하는 파일.
- 도커 허브: 다양한 이미지가 저장되고 공유되는 중앙 저장소.
- 도커 엔진: 컨테이너의 생성과 관리를 담당하는 소프트웨어.
[도커 관련 용어]
1. 컨테이너 (Container)
컨테이너는 애플리케이션과 그 실행에 필요한 모든 요소(코드, 라이브러리, 시스템 도구 등)가 포함된 경량화된 실행 환경이다. 다양한 플랫폼에서 일관되게 실행할 수 있다.
2. 이미지 (Image)
도커 이미지란 실행할 수 있는 컨테이너를 생성하기 위한 템플릿이다. 애플리케이션의 코드와 모든 의존성을 포함하고 있으며, 커스터마이징이 가능하여 여러 버전을 만들 수 있다.
3. 도커 파일 (Dockerfile)
도커 파일은 도커 이미지를 생성하기 위한 명령어들이 포함된 스크립트 파일이다. 이를 통해 사용자 정의 이미지를 자동으로 빌드할 수 있다. 따라서 도커 파일을 사용하면 애플리케이션 환경을 일관되게 만들 수 있다.
4. 도커 엔진 (Docker Engine)
도커 엔진은 도커 컨테이너를 생성, 실행, 관리하는 서버 사이드 애플리케이션이다. 실제로 도커의 기능을 수행하는 핵심 소프트웨어이다.
5. 도커 허브 (Docker Hub)
도커 허브는 도커 이미지의 중앙 저장소다. 사용자는 이곳에서 이미지를 검색하고 다운로드하며, 자신이 만든 이미지를 업로드하여 공유할 수 있다.
6. 포트 (Port)
컨테이너가 외부와 통신하기 위해 사용하는 네트워크 포트이다. 예를 들어, 웹 서버의 경우 일반적으로 80번 포트(HTTP) 또는 443번 포트(HTTPS)를 사용하게 된다.
7. 볼륨 (Volume)
도커에서 데이터를 영구적으로 저장하기 위해 사용하는 메커니즘이다. 볼륨을 사용하면 컨테이너가 삭제되더라도 데이터가 유지된다.
8. 네트워크 (Network)
도커 컨테이너들 간의 통신을 위한 가상 네트워크 구성 요소이다. 다양한 네트워크 모드를 지원하여 컨테이너 간에 데이터가 안전하고 효율적으로 전송될 수 있게 한다.
도커를 처음 시작하는 이들에게
도커를 처음 배우고 시작하고자 하신다면, 아래의 단계별 가이드를 참고하시면 도움이 될 것이다.
그리고 공식 사이트에도 자세한 내용이 나와있다.
https://docs.docker.com/get-started/docker-overview/
1. 도커 기초 이해하기
- 개념 정리: 도커의 기본 개념과 용어(예: 컨테이너, 이미지, 도커 파일 등)를 이해하는 것이 중요하다. 이를 통해 도커의 전반적인 작동 방식을 파악할 수 있다.
- 온라인 자원 활용: 다음과 같은 무료 또는 유료 온라인 강의를 통해 기초를 배울 수 있다.
- Coursera, Udemy, edX 등의 플랫폼에서 제공하는 도커 강의
- YouTube 검색을 통해 다양한 튜토리얼 동영상 시청
2. 도커 설치하기
- 설치하기: 운영 체제에 맞는 도커를 설치한다. 도커 공식 웹사이트에서 다운로드할 수 있다.
https://docs.docker.com/get-started/get-docker/
- 설치 후 확인하기: 터미널 또는 명령 프롬프트를 열고 docker --version 명령어를 입력하여 도커가 제대로 설치되었는지 확인한다.
3. 실습하기
- 기초 명령어 익히기:
- docker run hello-world: 도커가 제대로 작동하는지 확인하는 명령어.
- docker ps: 현재 실행 중인 컨테이너 목록 확인.
- docker images: 다운로드한 도커 이미지 목록 확인.
4. 도커 파일 및 Compose 배우기
- 도커 파일 (Dockerfile): 이를 사용하여 자동으로 이미지를 빌드하는 방법을 배우기.
- 도커 컴포즈 (Docker Compose): 여러 컨테이너를 함께 정의하고 실행하는 방법을 학습하여, 복잡한 애플리케이션을 관리하는 데 도움을 줌.
5. 프로젝트 진행하기
- 실제 프로젝트에 도커 적용: 개인 프로젝트나 팀 프로젝트에 도커를 적용해 보면서 실제 상황에서 어떻게 사용하는지 경험.
- 오픈 소스 프로젝트 참여: GitHub와 같은 플랫폼에서 도커를 사용하는 오픈 소스 프로젝트에 기여하여 경험.
다음 내용
[참고]
https://aws.amazon.com/ko/docker/