Etc

TIL | Docker 맛보기

Docker란?

  • host OS에 컨테이너를 설치하여, 가상 머신처럼 독립된 실행환경을 제공
  • 독립된 실행 환경은 또다른 OS를 설치하여 환경을 구성하는 것이 아닌, App을 실행하는데 필요한 소스, 파일, 라이브러리 존재

Docker 설치

Install docker Engin on Ubuntu를 참고하여 설치하도록 하자.

  • docker 구버전이 있다면 삭제하기
  sudo apt-get remove docker docker-engine docker.io containerd runc
  • host에 docker 설치 전, docker repository set-up하기
    sudo apt-get update
#
    sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
#
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
#
    echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
#
  • docker engine 설치하기
   sudo apt-get update
   sudo apt-get install docker-ce docker-ce-cli containerd.io

Docker image

  • 컨테이너가 실행되기 위해 필요한 파일이 존재
  • 하나의 docker image로 여러개의 컨테이너를 생성할 수 있다.
  • docker hub에서 원하는 이미지를 pull 받을 수 있다.(실습은 nginx 기준으로 진행하였다.)

  • sudo docker pull 이미지이름: 원하는 이미지 가져오기

  • sudo docker images: pull받은 이미지 보기

Docker Container

  • 하나의 운영체제(OS, host)에서 필요한 실행환경을 독립적으로 운용할수 있도록 리눅스 운영체제에서 제공하는 기술

  • sudo docker run --name test2 nginx: docker image를 통해 test2라는 이름을 가진 컨테이너 생성 및 실행 (logsfollow되는 상태로 실행)
  • sudo docker start test2: test2라는 컨테이너 실행
  • sudo docker stop test2: test2라는 컨테이너 실행 중지(단, 처리중인 프로세스가 완료되어야 중지된다.)
  • sudo docker kill test2: test2라는 컨테이너를 강제로 중지한다.(프로세스 처리 여부에 상관없이 무조건 중지시킨다.)
  • sudo docker ps: 실행되고 있는 컨테이너 목록 확인 가능
  • sudo docker ps -a: 컨테이너의 전체 상태 확인 가능

Reference

'Etc' 카테고리의 다른 글

TIL | Meta tag  (0) 2021.11.07
TIL | Proxy Server  (0) 2021.10.26
TIL | Eslint custom  (2) 2021.10.25
TIL | nodejs 설치 정리  (0) 2021.10.25
TIL | AWS EC2 + NginX로 React app 배포  (0) 2021.10.25