Shong Studio의 정보 창고

도커(Docker)란? - 개념 및 설치 방법 (Feat. Mysql) 본문

IT

도커(Docker)란? - 개념 및 설치 방법 (Feat. Mysql)

Shong Studio 2024. 3. 1. 21:56
728x90
반응형

도커(Docker)와 도커 컴포즈(Docker Compose)는 모두 애플리케이션을 컨테이너화하여 개발, 배포, 실행을 용이하게 하는 도구입니다.

컨테이너화는 애플리케이션을 실행하는데 필요한 모든 것(코드, 런타임, 시스템 도구, 시스템 라이브러리 등)을 패키지로 묶어 다양한 환경에서도 동일하게 작동하도록 하는 기술입니다.

 

도커(Docker)

도커는 컨테이너화를 사용하여 애플리케이션을 개발, 배포, 실행할 수 있게 해주는 오픈 소스 프로젝트입니다. 도커를 사용하면 애플리케이션과 그 의존성을 컨테이너에 담아 빠르고 쉽게 배포 및 확장할 수 있습니다. 이러한 컨테이너는 소프트웨어를 환경으로부터 격리시켜 일관된 운영을 보장합니다.

  • 이미지(Image): 애플리케이션과 그 실행에 필요한 모든 파일을 포함하는 불변의 패키지. 이미지는 컨테이너 실행의 기반이 됩니다.
  • 컨테이너(Container): 이미지를 실행한 인스턴스. 시스템의 다른 부분과 격리되어 있으며, 자체 파일 시스템을 가지고 있습니다.

 

도커 컴포즈(Docker Compose)

도커 컴포즈는 여러 컨테이너를 함께 정의하고 실행하기 위한 도구입니다.

 

단일 컨테이너 애플리케이션을 처리하는 도커와 달리, 도커 컴포즈는 복잡한 멀티 컨테이너 애플리케이션을 관리하는데 특화되어 있습니다.

 

YAML 파일: 애플리케이션의 서비스, 네트워크, 볼륨 등을 정의합니다. 이 파일을 사용하여 모든 컨테이너를 함께 빌드하고 실행할 수 있습니다.

 

  • 컨테이너 기반의 가상화 플랫폼
  • 컨테이너 기반의 가상화 vs 하이퍼바이저 기반의 가상화(OS 가상화)

 

  • 도커 허브 [도커에서 제공하는 이미지 저장소]

https://hub.docker.com/

 

Docker Hub Container Image Library | App Containerization

Increase your reach and adoption on Docker Hub With a Docker Verified Publisher subscription, you'll increase trust, boost discoverability, get exclusive data insights, and much more.

hub.docker.com

 

  • 도커 컴포즈 

다중 컨테이너를 정의하고 실행하기 위한 도구

YAML 파일을 사용하여 다중 컨테이너를 구성

https://docs.docker.com/compose/

 

Docker Compose overview

Learn how to use Docker Compose to define and run multi-container applications with this detailed introduction to the tool.

docs.docker.com

 

도커 설치

https://www.docker.com/products/docker-desktop/ : 홈페이지에 접속해서 자신 의 OS에 맞는 Docker Desktop를 설치한다.

• 설치가 완료되면 아래 명령어를 통해 설치가 제대로 됐는지 확인한다.

• docker -v

 

• MySQL 도커 이미지 다운로드  : https://hub.docker.com/

• docker pull mysql:{version}   ( 특별히 원하는 version이 없다면 latest로 진행)

 

•  MySQL 도커 컨테이너 생성 및 실행

   : docker run --name mysql-test -e MYSQL_ROOT_PASSWORD=test -d -p 3306:3306 mysql: {version}

 

• 현재 실행중인 도커 컨테이너 목록 출력  : docker ps -a

 

• MySQL 도커 컨테이너 접속  : docker exec -it {도커 컨테이너 이름} bash

 

• MySQL 접속 : mysql -u root -p

728x90
반응형