목차
1. DOCKER
1-1 개요
1-2 DOCKER 설치
1. DOCKER
1-1 개요
도커는 컨테이너를 이용해 같은 형태의 프로그램을 여러 개 띄워 사용할 수 있도록 하는 하이레벨 소프트웨어이다.
같은 형태의 프로그램을 같은 컴퓨터에서 실행 시 충돌이 발생하므로 이를 해결하기 위해 다음 두 가지의 방식을 이용한다.
- hypervisor 이용
- docker 이용
● Hypervisor
VM, V-Box와 같이 가상 환경을 제어/관리하는 하이퍼바이저를 개발하여 그 위에 여러 os를 설치해 각각 프로그램을 할당해 사용한다.
- 장점
: 한 컴퓨터에 같은 형태의 프로그램 동시 실행이 가능하다.
- 단점
: 프로그램보다 덩치가 큰 os를 여러 개 설치하여 하드드라이브의 리소스를 낭비하며 렉이 발생한다.
● Container Engine : docker
host os 위에 여러 os를 새로 생성하는 방식이 아닌, 각각의 프로그램을 컨테이너에 넣어 마치 현재 컴퓨터에 프로그램이 단독으로 돌아가고 있다고 착각하도록 하는 컨테이너 기술을 이용한다.
- 장점
: 컨테이너끼리 간섭하지 않으므로 같은 형태의 프로그램 동시 실행이 가능하다.
- 단점
: host os 오류 발생 시 위의 컨테이너들 모두 오류가 발생한다.
: 오류가 발생한 컨테이너는 일일이 검수하여 처리해줘야 한다.
** 컨테이너 오케스트레이션을 이용하여 이슈가 생긴 컨테이너를 자동으로 관리할 수 있다. 컨테이너를 늘리고 줄여 비용 탄력적인 이용이 가능하다.
● 작동 원리
docker | - 하이레벨 소프트웨어로 여러 프로그램이 모여있는 패키지와 같다. - 사용자가 컨테이너 생성 명령 시 도커가 containerd, runC와 같은 컨테이너 런타임에게 해당 작업을 요청한다. |
containerd runC cri-o |
- 컨테이너 런타임으로, 컨테이너를 실제로 돌려주는 소프트웨어이다. - containerd는 runC나 libcontainer를 호출해 컨테이너를 생성한다. libcontainer는 LXC를 호출한다. - runC, LXC는 리눅스 커널 기능을 통해 직접 컨테이너를 생성한다. |
chroot namespace cgroup |
- 리눅스 커널의 기능으로, 해당 기능을 통해 컨테이너 생성이 가능하다. |
1-2 DOCKER 설치
도커 홈페이지에서 다운로드 가능하다.
Home
Docker Documentation is the official Docker library of resources, manuals, and guides to help you containerize applications.
docs.docker.com
다음 페이지에서 리눅스 배포판별로 도커 엔진 설치가 가능하다.
https://docs.docker.com/engine/install/
Install
Learn how to choose the best method for you to install Docker Engine. This client-server application is available on Linux, Mac, Windows, and as a static binary.
docs.docker.com
● Rocky linux 8에서 설치
로키 리눅스에서 다음과 같이 도커 설치가 가능하다.
# dnf update ‐y
# dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# dnf repolist
# dnf install -y --allowerasing docker-ce docker-ce-cli containerd.io docker-compose-plugin
# systemctl enable docker
# systemctl start docker
# docker ‐v // 도커 버전 확인
--allowerasing: 종속성 확보를 위해 임의의 패키지를 삭제하거나 재설치한다.
가급적 root보다는 일반 계정을 이용하며, 일반 계정에서 도커를 사용하기 위해서는 도커 그룹에 해당 계정을 등록한다.
: # usermod -G docker 계정
도커 이용시 반드시 다음 페이지에서 회원가입을 진행한다. 우리가 이용하는 이미지의 대부분은 이 도커 허브에 올려져있다.
Docker Hub Container Image Library | App Containerization
Increase your reach and adoption on Docker Hub With a Docker Verified Publisher subscription, you'll increase trust, boost discoverability, get exclusive data insights, and much more.
hub.docker.com
도커 실습 시 홈페이지와 리눅스 모두 로그인 후 진행하는 것이 좋다. 비로그인 상태로도 실습 가능하나 오류가 발생할 수 있다.
'일일 정리' 카테고리의 다른 글
Docker container command (2) | 2025.05.21 |
---|---|
Docker Command, Docker Image & HUB (2) | 2025.05.19 |
SQL 인젝션 방어 (1) | 2025.05.15 |
SQL 인젝션 (1) | 2025.05.14 |
snort - rule 설정 (1) | 2025.05.12 |