실무 초밀착 리눅스 - 리눅스 기반 컨테이너 개발 환경 구축

_wiwater·2022년 9월 7일
0

클라우드

목록 보기
4/4
post-custom-banner

CH01. 컨테이너 기반 가상화 소개

1) 컨테이너 기술의 소개

  • 컨테이너의 장점
    • 민첩성 : 개발자가 어플리케이션을 빌드하고 더 빠른 배포
    • 이식성 : os플랫폼 간 및 클라우드 간 이식 가능 / 개발 시스템에서 프로덕션 환경까지 일관된 형식을 사용
    • 신속한 확장성 : 같은 인프라에 더 많은 컨테이너 지원 가능 / 신속한 스케일링 지원

2) VM과 컨테이너 비교

  • VM : 하이퍼바이저(가상머신 모니터)
    -호스트 컴퓨터에서 다수의 운영 체제를 동시에 실행하기 위한 논리적 플랫폼
    -CPU,메모리,스토리지 등의 리소스를 에뮬레이션 -> 한대의 서버에 독립된 여러 머신 환경을 구성 가능

① VM과 컨테이너 비교

  • VM : 저수준 하드웨어 장치(CPU, Disk, Network)를 가상화
    • 장점 : 같은 서버에 다양한 운영체제를 실행 / 물리머신 대비 동일한 자원을 더 효율적으로 사용 / 물리 머신 대비 빠른 서버 프로비저닝
    • 단점 : OS이미지, 라이브러리, 어플리케이션 등을 반복적으로 포함
  • 컨테이너 : 애플리케이션 구동에 필요한 모든 종속성을 포함한 소프트웨어 패키지를 운영체제 위에서 가상화
    • 장점 : 컨테이너를 어느 환경에나 배포 가능
      -OS를 부팅하거나 라이브러리를 로드할 필요가 없음
      -가상환경을 더 효율적이고 경량으로 생성 가능
      -수초 이내의 빠른 시작 시간
      -하나의 호스트에 더 많은 어플리케이션 실행 가능
      -OS패치 업데이트 등 유지 관리와 관련된 오버헤드 감소

3) 다중 운영체제 지원

*docker 설치 안되어있다면 설치 후 시작

 $cat /etc/os-release

-> host os 종류 알아보기 위한 명령어

$docker pull fedora

-> fedora이미지를 최신 버전으로 다운받는 명령어

*만약 다음과 같은 오류가 생긴다면 ?

$ sudo systemctl status docker

-> 위 명령어 통해 docker가 내려가있는지 확인, 결과가 stop라고 뜬다면 다시 실행

$sudo systemctl start docker
$sudo systemctl enable docker

-> 위와 같은 명령어를 쳤는데도 작동되지 않는다면

    $sudo /etc/init.d/docker start

오류 발생 했을 때

  • docker 관련 명령어를 사용하는 도커 데몬은 Unix 소켓을 통해 실행, 위의 에러에서도 확인할 수 있는 var/run/docker.sock 파일임
  • 해당 소켓 파일은 root 사용자의 소유 권한으로 기본 설정되어 있고, 이에 sudo 권한으로 실행되어야 함.
  • 이를 일반 사용자가 접근할 수 있도록 docker 라는 그룹을 만들고 여기에 일반 사용자를 추가하여 해결함
    -> 해당 문제의 해결 방식은 기존 sudo 권한으로 실행해야 하는 docker소켓을 일반 사용자가 사용할 수 있는 권한을 부여하는 과정

4) Alpine 리눅스 기본 이미지 만들기

post-custom-banner

0개의 댓글