본문 바로가기

Linux/Docker

26. CentOS : Cloud & Docker Install

1. Cloud

언제 어디서나 어떠한 단말을 가지고서라도 인터넷 접속만 가능하다면 사용한만큼 비용을 지불하고 원하는 IT 자원을 이용하는 것

  • 설치할 필요 없음
  • 통합된 환경 제공
  • 사용한 만큼 비용 지불

CSP(Cloud Service Provider)

  • AWS
  • Azure(MS)
  • GCP(Google Cloud Platform)
  • 알리바바
  • KT Ucloud
  • Naver Cloud

Cloud의 5대 특징

  • On Demand Self Service: 원하는 IT 자원은 관리자의 개입없이 사용 가능
  • Broad Network Access: IT 자원은 원격지에 있으며, 여기에 접속하기 위해서는 인터넷 연결이 필요
  • Resource Pooling: 클라우드 내에 있는 자원은 여러 사용자들이 공유할 수 있음
  • Rapid Elasticity: 빠른 확장성. 
  • Measured Service: 측정 가능해야 한다. 

2. Docker

  • 컨테이너 기반의 오픈소스 가상화 플랫폼
  • 다양한 프로그램 및 실행 환경을 컨테이너로 추상화 하고, 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리르 단순화

 

컨테이너

  • Image를 실행한 상태
  • 격리된 공간에서 프로세스가 동작하는 기술
  • 가상화 기술의 하나이지만 기존 방식과 차이가 있음
    → 기존 방식이 OS 가상화(Overhead 큼)였다면, 단순히 프로세스를 격리시키기 때문에 가볍고 빠르다. (경량화)
  • CPU나 Memory 역시 필요한 만큼 추가로 사용 가능, 성능적으로 손실이 거의 없음

 

Image

  • 컨테이너 실행에 필요한 파일과 설정 값 등을 포함하고 있는 것. 불변(Immutable)
  • 하나의 이미지로 여러 개의 컨테이너를 생성할 수 있으며, 컨테이너 상태 변경 및 삭제 시에도 이미지는 변하지 않고 그대로 남음
  • 컨테이너 실행을 위한 모든 정보 보유 → 설치 및 컴파일 불필요
  • 이미지는 모두 https://hub.docker.com/에 있다.
 

Docker Hub Container Image Library | App Containerization

We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our privacy policy

hub.docker.com

 

3. Docker 실습

3.1. 명령어

docker 실행

  • systemctl start docker

이미지 검색

  • docker search httpd

이미지 다운로드

  • docker pull httpd

이미지 확인

  • docker images

이미지 삭제

  • docker rmi nginx

프로세스 확인

  • docker ps -a

사용중인 이미지 삭제(실행중인 컨테이너에는 지장 없음)

  • docker rmi -f alpine

실행중인 컨테이너 삭제

  • docker rm -f al

3.2. Docker 설치

※ 필수 패키지 설치

# yum install -y yum-utils device-mapper-persistent-data lvm2

 

※ Repository 설정

# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 

# yum-config-manager --enable docker-ce-nightly

 

※ Docker Community Edition 설치

 

※ Docker 실행

 

※ 시스템 재시작 시 Docker 자동실행 설정

 

 

3.3. Docker 간단한 실습해보기

※ Docker 명령어 확인

 

※ hello-world 실행해보기

 

※ 도커 프로세스 확인

 

※ Container ID 이용하여 프로세스 강제 종료

 

※ 도커 httpd 실행

  • 포트포워딩: 외부에서 8080으로 실행 → 내부에서 80으로 실행

 

※ 웹 브라우저에서 접속 테스트 해보기

 

※ 여러개 실행해보기

  • 여러 개를 한꺼번에 실행할 수 있으며, 매우 빠르고 가벼운걸 볼 수 있다.
  • 도커의 가장 큰 장점은 가상머신에 비해 매우 가볍다 (경량화)

 

 

 

※ 도커 프로세스 지우기

  • 실행 중인 프로세스 삭제 시 에러 발생 -f 옵션 사용

프로세스 확인

 

3.4. Docker 실습 2

https://hub.docker.com/사이트에서 회원가입 진행

 

Docker Hub Container Image Library | App Containerization

We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our privacy policy

hub.docker.com

 

※ 리포지토리 생성

 

※ 도커 Image 검색

방법 1. docker search 명령어 이용하여 검색

 

방법 2. https://hub.docker.com/에서 검색

 

※ Image 클릭해서 들어가면 다운로드 방법 확인 가능하다.

 

  • 버전 주지 않을 경우 최신 버전 다운로드

 

※ Image 확인

 

※ image 삭제

 

※ centos 다운로드 방법 확인후 받기

 

 

3.5 원격 레지스트리에 올리기

※ 이미지 이름 변경 (변경하지 않으면 올릴 수 없음)

 

※ 로그인 진행

 

※ 리포지토리에 Image 올리기

 

※ 리포지토리에 올라 왔는지 확인

 


Reference.

 

도커 (소프트웨어) - 위키백과, 우리 모두의 백과사전

도커(Docker)는 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트이다. 도커 웹 페이지의 기능을 인용하면 다음과 같다: 도커 컨테

ko.wikipedia.org