Docker 실행하기

haeun·2024년 4월 29일
0

Docker란?

개발자가 컨테이너를 빌드, 배포, 실행, 업데이트, 관리할 수 있는 오픈소스 플랫폼입니다.

컨테이너를 활용했을 때 분산형 애플리케이션을 간편하게 개발하고 제공할 수 있습니다.


컨테이너

  • 데스크탑, 기존 IT, 클라우드 등 어디에서나 실행할 수 있도록 단일 애플리케이션이나 마이크로서비스를 실행하는데 필요한 모든 것을 함께 패키징한 소프트웨어 실행 유닛. 컨테이너는 OS 가상화를 활용함으로써 프로세스를 격리하고 자원의 양을 제어가 가능.


VM과 컨테이너의 차이

  • Virtual Machine
    • 컴퓨터를 에뮬레이션하는 것으로 물리적 하드웨어를 가상화 함. 따라서 단일 컴퓨터로 여러 운영체제를 사용해 여러 컴퓨터를 실행하듯 사용 가능.
  • 컨테이너
    - 컨테이너의 경우 하드웨어가 아닌 운영체제를 가상화. 따라서, 가상머신보다 가벼움이 특징.(Hypervisor를 사용하지 않아 더 빠른 리소스 프로비저닝과 새로운 애플리케이션의 가용성이 빠름)




Docker의 특징

  • 컨테이너 생성 자동화: Docker에서는 애플리케이션 소스코드를 기반으로 컨테이너를 자동으로 빌드할 수 있습니다.

  • 컨테이너 버전 관리 : Docker에서는 컨테이너 이미지의 여러 버전을 관리하고, 이전 버전으로 롤백하고, 버전을 빌드한 사용자와 그 방법 까지 추적이 가능합니다. 부분 업데이트도 가능합니다.

  • 컨테이너 재사용 : 기존 컨테이너를 기본 이미지로, 특히 새 컨테이너를 빌드할 때 템플릿처럼 사용이 가능합니다.

  • 공유 컨테이너 라이브러리 : 개발자는 사용자들이 제공한 수천개의 컨테이너가 있는 오픈 소스 레지스트리에 엑세스할 수 있습니다.




Window 11 환경에서 Docker 설치



1. 설정 확인

  • 설치 전 가상화 환경 확인

작업관리자 CPU-가상화 [사용]



  • 제어판 > 프로그램 설치 및 제거 > window 기능 켜기/끄기 > Hyper-V 체크



2. Docker installing

  1. Docker 사이트에서 운영체제에 맞는 파일 다운로드
    - https://docs.docker.com/get-docker/
  2. 다운로드 완료한 도커파일을 실행
  3. 다운로드 진행하며 다른 설정 수정없이 "Ok" 클릭
  4. "Close and restart"하여 재부팅


3. Docker Run

  • 설치된 도커를 실행해준다.

  • 만약, WSL 오류메세지가 나오면 메세지 내의 링크 https://aka.ma/wsl2kernel 로 이동해 패키지를 다운

  • 도커 정상 실행시 회원가입(플랜 무료 0$ 선택) 또는 로그인

  • 인증이 완료되면 "Get started with Docker Desktop"을 클릭하여 마무리

  • CMD에서 docker -v을 입력하면 정상 설치 확인 가능




4. 도커 관리 웹 UI

도커를 GUI 환경으로 쉽게 확인하고 관리할 수 있는 툴 들이 여러개 있다. 사용자가 원하는 환경을 선택해서 사용하기를 추천 (ex. Kitematic, portainer)






docker 용어

  • DockerFile : 이미지를 만들기 위한 명령어 세트가 포함된 텍스트 파일. DockerFile로 이미지 생성 프로세스 자동화 함.

  • Docker image : 컨테이너를 생성하는데 사용되는 불변의 템플릿. Docker image에는 실행 가능한 애플리케이션 소스 코드, 코드가 컨테이너 형태로 실행되는데 필요한 모든 툴, 라이브러리 및 종속 항목이 포함 됨. 이미지를 실행하면 컨테이너의 인스턴스가 된다.

  • Docker Container : Docker 이미지의 현재 실행중인 라이브 인스턴스를 의미. 이미지는 읽기 전용이라고 할 수 있고, 컨테이너는 현재 활성 상태이며 수명이 짧은 실행 가능 콘텐츠라고 할 수 있다. 관리자는 Docker 명령을 사용해 설정과 조건을 조정 가능.

  • Docker Hub : 공용 이미지 저장소로 다양한 컨테이너 이미지를 포함하며, 오픈 소스에 엑세스 가능. like, GitHub.

  • Docker Volume : 컨테이너의 데이터를 지속적으로 저장할 수 있는 공간

  • Docker Compose : 멀티 컨테이너를 정의하고 실행하기 위한 도구. 멀티 컨테이너: 모든 컨테이너가 같은 Docker 호스트에서 실행되는 경우 Docker Compose는 애플리케이션에 포함될 서비스를 지정하는 YAML 파일을 생성, 그리고 하나의 명령어로 컨테이너를 배포하고 실행이 가능하다.









profile
환영합니다 :) 이 곳은 개인 공부를 정리하고 창의적으로 활용하기 위한 제 2의 전두엽으로 활용되고 있으며, 오류에 대한 피드백은 댓글로 남겨주시면 감사하겠습니다.

0개의 댓글