포스팅 목차
Docker란
Docker는 컨테이너 기반의 오픈소스 가상화 플랫폼
Docker를 사용하면 개발자가 어플리케이션과 그에 필요한 환경을 ‘이미지’로 패키징하고, 이 이미지를 바탕으로 ‘컨테이너’라는 독립적인 실행 환경을 생성하여 어플리케이션을 실행가능
도커는 왜 사용하는가?
환경 일관성 : Docker를 사용하면 개발, 테스트, 프로덕션 등 다양한 환경에서 동일한 조건으로 어플리케이션을 실행할 수 있습니다.
빠른 배치와 확장성 : Docker 이미지는 미리 모든 의존성을 포함하고 있기 때문에, 새로운 환경에 빠르게 배치할 수 있습니다. 또한 도커 컨테이너의 불변성(Immutable) 특성과 Docker Swarm, Kubernetes 등의 오케스트레이션 도구와 결합하면 대규모 서비스의 확장 및 관리도 용이
분리 및 격리 : 각각의 Docker 컨테이너는 별도의 파일 시스템을 가지며 호스트 OS와 분리되어 실행됩니다. 각 애플리케이션이 서로 영향을 주거나 받지 않도록 격리시켜주므로 안정성과 보안성 측면에서 장점
개발 효율성 증대 : Dockerfile(도커 이미지 생성 스크립트)와 docker-compose(여러 컨테이너 구조 정의) 등을 사용하여 개발-배치 과정을 자동화 할 수 있으며, 코드 변경 사항 반영 등 반복적인 작업들도 간단해집니다.
많은 생태계 지원 : 많은 클라우드 서비스 제공업체들이 Docker를 지원하며, 또한 수많은 오픈소스 프로젝트들이 Docker 이미지 형태로 제공되고 있습니다. 이로 인해 다양한 도구와 서비스를 쉽게 활용할 수 있습니다.
Linux Docker Install
Step 1 : System update or reboot
[admin@22:03_229 ~]$ sudo dnf update -y
[admin@22:03_230 ~]$ init 6 or reboot
시스템 업데이트 이후 재기동
Step 2 : Add Docker Repo
https://download.docker.com/linux/centos/
[admin@22:07_232 ~]$ sudo dnf config-manager –add-repo=https://download.docker.com/linux/centos/docker-ce.repo
docker를 설치하기 위해 Docker의 공식 저장소를 시스템에 추가
config-manager : 이것은 dnf의 플러그인 중 하나로, DNF 설정을 관리하는 데 사용
–add-repo : 이 옵션은 새로운 저장소를 시스템에 추가하라는 명령
Step 3 : Docker Install
[Admin@22:12_233 ~]$ sudo dnf install -y docker-ce
Step 4 : Enable docker Service
[admin@22:14_235 ~]$ sudo systemctl start docker
[admin@22:15_236 ~]$ sudo systemctl enable docker
[admin@22:15_237 ~]$ sudo systemctl status docker
Step 5 : Hello-world Docker
[admin@22:17_244 ~]$ sudo docker run hello-world
Docker Compose는 여러 개의 Docker 컨테이너로 구성된 애플리케이션을 정의하고 관리하기 위한 도구
$ sudo dnf install -y curl
$ sudo curl -L "https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose