이성미 강사님의 "[따배도] 따라 배우는 도커" 영상과 개인적인 학습 내용을 정리한 내용입니다.
1. 컨테이너를 왜 배워야 하는가?
소프트웨어의 운영 플랫폼이 아래와 같이 바뀌고 있다.
- Bare Metal -> Virtualization -> Any Infrastructure
- On-premise(전통적인 환경에서의 배포)
-> Virtual Machine(가상 환경에서의 배포)
-> Container(컨테이너로의 배포)
애플리케이션을 동작시키기 위해서 각 필요로 하는 환경설비, 라이브러리, 소프트웨어 플랫폼이 다른데
이러한 환경을 독립적으로 만들어서 애플리케이션을 동작시켜 주는 공간을 컨테이너라고 한다.
🌟 컨테이너의 장점
- 컨테이너 어플리케이션의 용량이 적다.
- 확장성이 좋다.
- 배포가 쉽다.
- ➡️ 시대가 원하고 있다.
✅ 왜 리눅스에서 실행해야 하는가?
➡️ 리눅스 커널의 기능을 사용하기 때문
- `chroot` : 독립된 공간 형성
- `namespace` : isolate 기능 지원
- `cgroup` : 필요한 HW 지원
❓ windows, mac 에서 실행하려면?
Hypervisor를 활성화 해서 linux 기능을 사용하여 컨테이너를 실행해야 함
✅ 그냥 프로그램과 컨테이너의 차이
하는 일은 동일하나, 모양이 다를 뿐 !
✅ 왜 사용하는가?
- 개발자가 만든 그대로 어디서든 사용 가능
- 확장/축소가 용이
- MSA, DevOps에 적합
2. 도커 컨테이너
✅ 도커란?
컨테이너 기반의 오픈소스 가상화 플랫폼
- 도커는 컨테이너를 관리하는 플랫폼이다.
✅ 컨테이너란?
컨테이너는 하나의 Application 프로세스
- 컨테이너는 컨테이너 단위로 독립적으로 실행되는 것이 특징
✅ 도커 이미지란?
도커 이미지는 프로세스를 실행하는 하나의 파일
- 도커 이미지는 컨테이너를 만드는 데 사용되는 읽기 전용, 불변 파일이다.
- 파일로 애플리케이션 실행에 필요한 독립적인 환경을 포함하며, 런타임 환경을 위한 템플릿이다.
컨테이너와 도커 이미지
- 컨테이너는 이미지에 종속되어 런타임 환경을 구성하고 애플리케이션을 실행하는 데 사용된다.
도커 이미지 생성
Dockerfile --(Build) --> Image --(Create) --> Container
- Dockerfile : 도커 이미지를 빌드하는 방법을 정의하는 스크립트
- Dockerfile에는 컨테이너의 구동에 필요한 정보가 작성되어 있다.
- Dockerfile을 빌드해서 이미지를 생성한다.
3. 실습
1) Docker Hub에서 컨테이너 이미지 검색
2) 컨테이너 이미지 다운로드 후 확인
3) 컨테이너 실행하고 확인해 보기
# docker hub에 nginx 검색
docker search nginx
# image 가져오기
docker pull nginx
# docker image 리스트 확인
docker images
# container 실행
docker run --name web -d -p 80:80 nginx
# container 실행 확인
docker ps
# container 중지
docker stop web
# container 삭제
docker rm web
# image 삭제
docker rmi nginx
'IT' 카테고리의 다른 글
[Docker] 컨테이너 사용 방법. docker 명령어 (0) | 2024.02.20 |
---|---|
[Docker] 도커 컨테이너 만들기 (0) | 2024.02.19 |
[Python] Python venv 가상환경 사용법 (0) | 2024.02.11 |
[Anaconda] Anaconda에서 Jupyter Notebook 설치하기 (0) | 2024.02.09 |
[Anaconda] Anaconda 각종 명령어 (0) | 2024.02.08 |