Docker

2023. 7. 1. 16:26프로그래밍/ETC

    목차

예를 들어 Redis 를 다운받을 경우

공식 문서의 명령어를 그대로 실행하면 에러가 발생함

wget 이 없기 때문에 먼저 wget 을 다운로드 받은 후에 redis 를 받아야 함

wget http://download.redis.io/releases/redis-6.0.4.tar.gz
tar xzf redis-6.0.4.tar.gz
cd redis-6.0.4
make

 

이렇게 특정 프로그램을 다운로드 할 때 부수적인 것들도 함께 다운로드 받아야 하기 때문에

설치 과정이 복잡해지고 에러 발생 가능성이 높아짐

 

docker run -it redis

도커를 이용해 Redis 를 다운받는 경우

설치 과정이 간단해지고 예상치 못한 에러를 방지할 수 있음


Docker

  • 컨테이너를 사용하여 응용 프로그램을 더 쉽게 제작/배포/실행할 수 있도록 설계된 도구
  • 컨테이너 기반의 오픈소스 가상화 플랫폼이자 생태계

 

컨테이너 안에 다양한 프로그램, 실행 환경을 추상화하고 동일한 인터페이스를 제공하여

프로그램의 이동/배포/관리를 단순하게 해줌

 

AWS, Azure, Google Cloud 등에서 모두 실행 가능


Docker 설치

Windows

  1. 홈페이지에서 다운로드 (https://www.docker.com/get-started/)
  2. 설치 파일 실행 후 설치 진행
  3. 설치 완료 후 재시작

 

Mac

  1. 홈페이지에서 다운로드 (https://www.docker.com/get-started/)
  2. 설치 파일 실행 후 설치 진행
  3. docker desktop 실행
  4. 설치 버전 확인
docker version


도커 사용 방법

도커 CLI 에 커맨드를 입력하면

도커 서버가 (도커 데몬) 커맨드에 따른 작업을 함

(이미지 생성, 컨테이너 실행 등)

 

docker run hello-world

  1. 도커 클라이언트에서 커맨드를 입력하여도커 서버로 요청을 보냄
  2. 서버에서 hello-world 라는 이미지가 이미 로컬에 캐시되어 있는지 확인함
  3. 현재 캐시되어 있지 않기 때문에 Unable to find image 텍스트 출력
  4. Docker Hub 에서 이미지를 가져오고 로컬 캐시에 저장함
  5. 이미지를 이용해 컨테이너 생성
  6. 이미지로 생성된 컨테이너는 설정이나 조건에 따라 프로그램을 실행함

Docker 이미지

응용 프로그램을 실행하는 데 필요한 모든 것을 포함하고 있음

  • 컨테이너 시작 시 실행할 명령어
  • 파일 스냅샷: 디렉토리나 파일을 카피한 것

 

이미지로 컨테이너 만드는 순서

  1. 도커 클라이언트에 docker run [이미지] 입력
  2. 도커 이미지에 있는 파일 스냅샷을 컨테이너의 하드 디스크에 옮김
  3. 도커 클라이언트에 입력한 컨테이너 실행 명령어를 컨테이너에 옮김
  4. 이미지에서 가지고 있는 명령어를 이용해 응용 프로그램 실행

 

컨테이너에 들어있는 네트워크. RAM, CPU 는

컨테이너 하드디스크에 있는 응용 프로그램을 작동 시키는 데 필요한 양만큼 배분 가능