본문 바로가기

STUDY/Docker

Docker? (도커 설치, 실행해보기)

Docker?

  • 컨테이너 기반의 오픈소스 가상화 플랫폼
  • 컨테이너를 한 번 생성하면 어떤 환경(OS, 개발 언어 등에 구애없이) 실행 가능
  • 가상머신처럼 독립적으로 실행되지만, 가상머신보다 쉽고 빠르고 효율적!
  • 오픈소스이므로 특정 회사나 서비스에 종속적이지 않음
  • 컨테이너라는 표준으로 서버를 배포하므로 모든 서비스들의 배포과정이 동일해짐 -> 표준성
  • 복잡했던 서버 관리, 배포 과정을 해결

컨테이너
격리된 공간에서 프로세스가 동작하는 기술
이미지
컨테이너 실행에 필요한 파일과 설정값 등을 포함하고 있는 것으로 상태값을 가지지 않고 변하지 않는다.
컨테이너는 이미지를 실행한 상태라고 볼 수 있으며 추가되거나 변하는 값은 컨테이너에 저장된다.

출처: [서비큐라 블로그] 초보를 위한 도커 안내서 - 도커란 무엇인가


Mac M1에 도커 설치하기

링크에서 다운로드 후 앱 실행 (맥, 윈도우는 도커 홈페이지에서 다운로드, 리눅스는 터미널에서 바로 설치 가능)

설치 확인!

위의 도커 버전 확인에 대한 결과를 살펴보면, Client와 Server가 나뉘어져 있는 것을 알 수 있다.

Client-Server Architecture

도커는 Client-Server 구조를 가지고 있다.

  1. 우리(Client)가 터미널에서 docker ~~ 명령어를 치고 엔터를 누르면
  2. 로컬호스트에서 실행되고 있는 도커 서버(Docker daemon)가 그 명령어에 대한 결과를 전달하고
  3. 그에 대한 결과가 터미널에 나타난다.

정리하자면, 도커 CLI는 도커 호스트에 명령을 전달한 뒤 결과를 받아 출력하는 역할을 한다.

출처: Docker 공식문서 (https://docs.docker.com/get-started/overview/)

도커 컨테이너 실행

docker run ~~ 명령어는 컨테이너를 실행한다.
*만약 이미지가 없는 경우에는 docker pull ~~을 수행한 것 처럼 자동으로 이미지를 다운로드 한 후 실행한다.

docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

 

아무런 옵션 없이 docker run ubuntu:20.04 명령을 실행해보면,

이미지(ubuntu:20.04)를 도커 레지스트리에서 다운받고 컨테이너를 실행한다.

(진짜로 실행되는건 아님 필요한 설정을 전혀 하지 않았기 때문에 실행하자마자 바로 종료됨)

 

제대로 옵션을 주어 명령을 해보자!

  • --rm옵션은 컨테이너가 종료되면 자동으로 삭제되도록 하는 옵션
  • /bin/sh 는 쉘 터미널을 사용하겠다는 뜻
  • -it는 키보드입력을 가능하게하는 옵션
docker run --rm -it ubuntu:20.24 /bin/sh

 

실행 하자마자 바로 터미널을 사용할 수 있고 ls, pwd같은 명령어도 입력이 가능하다.

참고로 컨테이너를 빠져나올 땐 exit을 입력한다.

--rm옵션을 주었기 때문에 종료와 함께 컨테이너가 삭제된다.

'STUDY > Docker' 카테고리의 다른 글

Docker | MariaDB utf8 설정  (0) 2022.08.17
Docker | 이미지 만들기 - commit  (0) 2021.06.18