[ 2022.11.09 TIL-Docker 설치 ]

Coosla·2022년 11월 8일
0

TIL

목록 보기
13/29
post-thumbnail

Docker

✏️ 컨테이너란?

  • 애플리케이션을 동작시키는데 필요로하는 독립된 환경(라이브러리, 코드 등 플랫폼)

✏️ 컨테이너를 배워야하는 이유

  • 가상화 플랫폼이 나오기 이전에는 Bare Metal에 여러개의 애플리캐이션을 운영하는 구조로 사용
  • Bare Metal에 HyperVisor이라는 소프트웨어 기술을 이용해 가상 컴퓨터를 만들어 필요한 어플리케이션올려서 사용하는 구조로 사용
    • 애플리케이션을 운영할 때 하나만 운영하는게 아니라 여러개를 운영, 클라이언트 요구에 따라 자유롭게 확장/축소
    • 가상 환경으로는 부족함이 있음
  • Bare Metal에 OS와 Container Engine을 올려 컨테이너 플랫폼을 운영하며 컨테이너 애플리케이션 운용
    • 용량이 작음
    • 하나의 프로그램화되어 다른 프로그램에 영향을 받지 않음
    • 확장성이 좋고, 배포하기 쉬움
    • 시대가 컨테이너를 요구함 ㅎ

✏️ 리눅스에서 컨테이너를 사용하는 이유

  • 컨테이너가 리눅스 커널의 기능을 가지고 만들어졌기 때문
  • 컨테이너에 사용된 리눅스 커널 기능
    • chroot : 독립된 공간 형성
    • namespace : 고립화 기능 지원
    • cgroup : 필요한만큼 HW 지원
  • 도커의 Storage, Namespaces, Networking을 지원해주는 것이 컨테이너 엔진
  • 윈도우나 MacOS에서는 Hypervisor을 이용해 Docker를 사용

✏️ 일반 프로그램과 컨테이너의 차이점

  • 일반 프로그램과 컨테이너가 수행하는 일은 동일하지만, 내부 구조가 다름

✏️ 컨테이너를 사용하는 이유

  • 개발자가 만든 어디서든 실행 가능
  • 확장/축소가 쉽고 MSA, DevOps에 적합
  • 개발자의 운영 환경과 고객사의 운영 환경을 동일하게 지원할 수 있음
  • 환경에 영향받지 않음
  • Bare Metal과 가상화 플랫폼에서는 다른 서버를 구축할 때마다 OS + 환경이 따라오는데
    컨테이너기반에서는 환경이 설정된 컨테이너만 올리면 되서 구축용량이 엄청 줄어듬

Docker환경 설정하기

✏️ VirtualBox 네트워크 설정과 가상머신 만들기

  • VirtualBox(7.0.2버전) 설치
  • VirtualBox 네트워크 설정
    • 노란색으로 클릭하여 네트워크 메뉴 선택
    • NAT Networks 선택하여 네트워크 생성, 색칠된 부분 수정
    • 위 사진의 포트 포워딩을 이용해 원격으로 로그인할 수 있는 환경 구성
  • 가상머신 생성

✏️ 우분투 환경 설정

  • 우분투 기본 환경 설정 참고
  • Docker 설치
    • Docker 공식 문서 - 우분투
      [ Repository 설정 ]
      0. 루트 계정으로 접속
      1. apt-get update
      2. apt-get install \
      		ca-certificates \
      		curl \
      		gnupg \
      		lsb-release
      3. mkdir -p /etc/apt/keyrings
      4. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
      5. echo \
      		"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
      		$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
      
      [ Docker 설치 ]
      6. sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

✏️ Centos 환경 설정

  • Centos 기본 환경 설정 참고
  • Docker 설치
    • Docker 공식 문서 - Centos
      0. 루트 계정으로 접속
      1. yum install -y yum-utils
      2. yum-config-manager \
         --add-repo \
         https://download.docker.com/linux/centos/docker-ce.repo
      3. yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

✏️ 도커 관리자 권한 할당하기

  • 도커 관리자 권한 할당
    // 사용자 계정을 docker 그룹에 추가
    usermod -a -G docker 사용자계정명

✏️ 도커 자동실행 설정

  • 도커 자동실행 설정
    • 우분투는 자동으로 설정됨.
      systemctl enable docker
profile
프로그래밍 언어 공부 정리

0개의 댓글