Docker Desktop 가이드 실습

HYOJU KIM·2023년 6월 5일

[2023-06-05]


Docker란?

  • 컨테이너라고 하는 느슨하게 격리된 환경에서 애플리케이션을 패키징하고 실행할 수 있는 기능을 제공
  • 컨테이너의 수명 주기를 관리하기 위한 도구 및 플랫폼을 제공
  • 컨테이너를 사용하여 애플리케이션 및 해당 지원 구성 요소 개발

장점

  • 애플리케이션을 인프라에서 분리하여 소프트웨어를 신속하게 제공

  • 애플리케이션을 관리하는 것과 동일한 방식으로 인프라를 관리

  • 코드를 신속하게 배송, 테스트 및 배포하기 위한 Docker의 방법론을 활용하면 코드를 작성하고 프로덕션에서 실행하는 사이의 지연 시간을 크게 줄일 수 있다

  • 격리 및 보안을 통해 지정된 호스트에서 여러 컨테이너를 동시에 실행할 수 있다

  • 가볍고 빠르다


Docker 유용성

빠르고 일관된 애플리케이션 제공

  • 개발 수명 주기를 간소화
  • 지속적 통합 및 지속적 제공(CI/CD) 워크플로에 적합

반응형 배포 및 확장

  • 비즈니스 요구 사항에 따라 거의 실시간으로 애플리케이션 및 서비스를 확장하거나 축소하여 워크로드를 동적으로 쉽게 관리 (이식성, 경량성)

동일한 하드웨어에서 더 많은 워크로드 실행

  • 하이퍼바이저 기반 가상 머신에 대한 실행 가능하고 비용 효율적인 대안을 제공하므로 서버 용량을 더 많이 사용하여 비즈니스 목표를 달성할 수 있다
  • 적은 리소스로 더 많은 작업을 수행해야 하는 고밀도 환경과 중소 배포에 적합

컨테이너란?

  • 애플리케이션을 배포하고 테스트하는 단위
  • 이미지의 실행 가능한 인스턴스
  • ocker API 또는 CLI를 사용하여 컨테이너를 생성, 시작, 중지, 이동 또는 삭제
  • 컨테이너를 하나 이상의 네트워크에 연결하거나 스토리지를 연결하거나 현재 상태를 기반으로 새 이미지를 생성

장점

  • 가볍고 애플리케이션을 실행하는 데 필요한 모든 것을 포함하므로 호스트에 현재 설치된 항목에 의존할 필요가 없습니다

Dockerfile?

  • 컨테이너에서 코드를 실행할 때 가장 기본적인 것
  • 컨테이너에 들어가는 항목
  • 파일 확장자가 없는 이름의 텍스트 파일

Docker Architechture

Client-Server Architechture 사용

  • Docker Client는 컨테이너 빌드, 실행 및 배포하는 Docker Demon과 통신
  • Docker Client와 Demon은 동일한 시스템에서 실행 or Docker Client를 원격 Docker Demon에 연결
  • Docker Client와 Demon은 UNIX Socket or Network Interface를 통해 REST API를 사용하여 통신

https://docs.docker.com/get-started/overview/
도커데몬부터 정리하기


docker run 명령어

$ docker run -p 8088:80 -d --name welcome-to-docker docker/welcome-to-docker

-p 8088:80

  • 컨테이너 포트 80을 로컬 호스트 포트 8088에 액세스할 수 있어야 한다

-d

  • 분리된 컨테이너 또는 백그라운드에서 컨테이너 실행

--name welcome-to-docker

  • 컨테이너 이름 설정, 생략 시 Docker가 임의로 이름 설정

Sample Application 실습

Sample Application Repository Copy
$ git clone https://github.com/docker/welcome-to-docker

Create Image
$ docker build -t welcome-to-docker .

Run your image as a container
Host port 번호 지정 -> 8089

Verify that your container is running
http://localhost:8089
! 아래 사진이 뜨면 성공 !


Mac 단축키 : ⌘K
Windows 단축키 : Ctrl + K


Publish your images

[ 계정 로그인 / 게시할 이미지 필요 ]

$ docker tag docker/welcome-to-docker YOUR-USERNAME/welcome-to-docker

Push your image to Docker Hub
Menu -> Images -> hyoojuu/welcome-to-docker -> Action -> Push to Hub

! 도커 허브에서 닉네임 검색 시 welcome-to-docker 이미지 검색되면 성공 !

profile
신입 개발자

0개의 댓글