Docker / Docker 설치
dnf remove -y runc
dnf install -y docker-ce --nobest
도커 : 데이터나 프로그램을 독립적인 환경으로 격리시키는 소프트웨어
컨테이너 : 도커에서 격리된 독립적인 환경. 이미지를 통해 생성이 가능
--> 컨테이너 구동을 위해서는 도커가 필요.
데이터나 프로그램을 격리해야하는 이유
- 특정 프로그램의 경우 같은 폴더나 디렉터리를 공유 할 수 있다. 혹은 특정 기능 구현을 위해 여러 프로그램을 사용할 필요가 있다. 즉, 프로그램간의 공유로 인한 문제를 방지하기 위해 격리가 필요하다.
도커 VS 가상화 기술(VMware, VirtualBox)
- 가상화기술 --> 소프트웨어로 가상의 하드웨어를 구현.
- 도커 --> OS 기능을 실존하는 하드웨어에 일부 의존.
도커 허브 : 공개된 컨테이너 이미지가 모여있는 곳.
도커 허브 주소 : https://hub.docker.com/
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
도커 컨테이너 생애주기
- 컨테이너의 생성 실행 종료 폐기 후 다시 컨태이너를 생성하는 일련의 과정.
- 도커는 일반적으로 일회용. 업데이트 등으로 내용의 변경 필요시 폐기 후 재설치 하는것이 일반적
- -> 도커가 설치된 물리적 서버의 시스크를 마운드하여 데이터를 저장. 도커 내부 내용은 프로그램밖에 없으므로 데이터는 유지됨.
도커의 특징 및 장단점
- 장점
1. 독립된 환경 --> 하나의 물리 서버에 여러 서버 운용 가능
2. 커널의 포함 불필요 --> 가벼움
3. 이미지를 통한 복제 가능
- 단점
1. 리눅스 운영체제의 프로그램만 컨테이너로 사용가능
2. 호스트 서버에 의존성
3. 컨테이너 하나만을 사용시 단순한 오버헤드
도커의 용도
- 여러개의 동일 환경 구축
- 격리된 환경으로 테스트
- 동일 서버를 여러개 구축
설치
설치에 필요한 패키지 설치
yum install yum-utils dnf-utils zip unzip -y
도커 레포지토리 추가
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
도커 설치
runc 제거 필요.
dnf remove -y runc
dnf install -y docker-ce --nobest
도커 상태 확인 및 시작
systemctl status docker
systemctl start docker