반응형

Docker Desktop for Mac 설치

 

1. 다운로드 페이지 접속:

Docker 공식 웹사이트에서 Docker Desktop for Mac 다운로드 페이지로 이동합니다.

https://www.docker.com/products/docker-desktop/

 

Docker Desktop: The #1 Containerization Tool for Developers | Docker

Docker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.

www.docker.com

 

도커란 

Docker는 컨테이너화를 통해 애플리케이션을 개발, 배포 및 실행할 수 있도록 지원하는 오픈 소스 플랫폼입니다. 이는 개발자가 애플리케이션을 빠르게 배포하고 관리할 수 있도록 도와주며, 여러 환경에서 일관된 동작을 보장합니다. Docker의 주요 특징과 구성 요소를 정리해 드리겠습니다.

 

주요 특징

 

1. 컨테이너화: Docker는 애플리케이션과 그 종속성을 컨테이너 내에 패키징합니다. 이 컨테이너는 어떤 Linux 시스템에서도 실행될 수 있으며, VM(가상 머신)보다 가볍고 빠르게 작동합니다.

2. 이식성: 컨테이너는 모든 종속성과 구성을 포함하므로, 개발 환경에서 테스트, 스테이징, 생산 환경으로 이동하는 과정에서 발생할 수 있는 “It works on my machine” 문제를 해결합니다.

3. 버전 관리 및 재현성: Docker 이미지는 버전이 관리되며, 이미지를 통해 동일한 애플리케이션을 쉽게 재생성하고 롤백할 수 있습니다.

4. 자동화: Dockerfile을 통한 이미지 생성과 Docker Compose를 사용한 여러 컨테이너의 관리는 개발 및 배포 과정을 자동화하고 간소화합니다.

 

주요 구성 요소

1. Docker 이미지: Docker 컨테이너 실행을 위한 템플릿으로, 읽기 전용으로 존재합니다. 이미지는 애플리케이션 실행에 필요한 모든 것을 포함하고 있습니다.

2. Docker 컨테이너: 이미지를 기반으로 생성된 실행 인스턴스입니다. 독립적으로 실행되며, 이미지에서 정의된 소프트웨어, 라이브러리, 코드 등을 포함합니다.

3. Docker Daemon: 호스트에서 Docker API 요청을 수신하고 이미지, 컨테이너, 네트워크, 볼륨 등을 관리하는 백그라운드 서비스입니다.

4. Docker 클라이언트: 사용자가 Docker Daemon과 통신할 수 있게 해주는 CLI(Command Line Interface) 도구입니다. docker build, docker push, docker run과 같은 명령을 사용할 수 있습니다.

5. Docker Hub: Docker 이미지를 공유하고 다운로드할 수 있는 Docker의 공식 레지스트리입니다. 공개 또는 사설 이미지 저장소를 제공합니다.

 

 

Docker 사용의 이점

환경 일관성: 모든 의존성과 구성을 포함한 컨테이너는 어느 환경에서나 동일하게 작동하므로, 환경 간 차이에 따른 문제를 크게 줄일 수 있습니다.

보안: 컨테이너는 격리된 환경에서 실행되므로, 한 컨테이너의 변경이나 실패가 다른 컨테이너에 영향을 미치지 않습니다. 이는 애플리케이션 간의 충돌을 방지하고 보안을 강화합니다.

리소스 효율성: 컨테이너는 가상 머신보다 훨씬 적은 오버헤드로 실행됩니다. 각 컨테이너는 공유된 OS 커널을 사용하며, 필요한 리소스만 추가로 소비합니다.

배포 속도: 이미지를 사용한 컨테이너의 배포는 몇 초 내에 완료될 수 있습니다. 이는 특히 대규모 애플리케이션과 서비스를 빠르게 확장하고 업데이트할 때 큰 이점을 제공합니다.

사용

다운 받으면 아래 명령어로 터미널에서 실행되는지 확인 해보자

docker -v

 

Mysql 도커 실행

1. MySQL Docker 이미지 다운로드

 

먼저 Docker가 설치되어 있고, 동작 중인지 확인하세요. 그 후, 터미널 또는 명령 프롬프트에서 다음 명령어를 사용하여 공식 MySQL 이미지를 다운로드합니다.

docker pull mysql

 

2. MySQL 컨테이너 실행하기

 

MySQL 이미지를 다운로드한 후, 다음 명령어를 사용하여 MySQL 컨테이너를 실행할 수 있습니다. 이때 데이터 보존, 환경 변수 설정 등을 위해 몇 가지 중요한 옵션을 추가합니다.

 

docker run --name some-mysql -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql

 

3. MySQL 컨테이너에 접속하기

 

컨테이너가 실행되면 다음 명령어를 사용하여 MySQL 콘솔에 접속할 수 있습니다.

docker exec -it some-mysql mysql -uroot -p


4. docker compose 

docker 단순 명령어로 매번 올리기 어려운 경우 파일로 만들어 올리는 방법입니다.

docker-compose.yml 이라는 파일을 만듭니다.

version: '3.8'  # 사용할 Compose 파일 버전

services:
  mysql:
    image: mysql:latest  # 사용할 MySQL 이미지와 태그
    container_name: my-mysql  # 컨테이너 이름
    environment:
      MYSQL_ROOT_PASSWORD: my-secret-pw  # MySQL root 사용자의 비밀번호
      MYSQL_DATABASE: mydb  # 자동으로 생성할 데이터베이스 이름
      MYSQL_USER: user  # 데이터베이스 사용자 이름
      MYSQL_PASSWORD: userpw  # 데이터베이스 사용자 비밀번호
    ports:
      - "3306:3306"  # 호스트와 컨테이너 간 포트 매핑
    volumes:
      - /Users/경로:/var/lib/mysql  # 데이터 지속성을 위한 볼륨
    restart: always  # 컨테이너 자동 재시작 옵션


윈도우 경로 예시 : C:\Users\hello


파일 실행

docker-compose up -d

파일 중지 

docker-compose down
 
반응형
반응형

 

도커를 실무에서 사용하고 있어서 책을 통해서 더 배울게 있나 했는데, 도커교과서 라는 교재를 보니 아직 알아야 할게 너무 많은 걸 알았다.

 

요즘 도커를 안쓰고 개발을 하기가 어렵다. 실무에서 쓰지 않는다고 하더라도 도커는 알아야 외부 개발자와의 간단한 미팅에서라도 무시당하지 않는다. 개발자 친구가 도커를 전혀 모른다고 하면 내심 무시당할 수 있다. 자세히는 모르더라도 도커가 뭔지는 알아야 한다. 또한 요즘 쿠버네티스 또한 안하는 회사를 점차 찾기 힘들어졌다. 이런 쿠버네티스를 도입하려면 도커는 정말 필수적으로 알아야 하는 기본 지식이 되어버렸다.

 

이 책을 보면 도커를 처음 시작하는 사람부터 실습가능하게 설명이 되어 있다. 

도커의 기본적인 사용법부터 Dockerfile 로 도커이미지 생성하는 내용을 통해 기본적인 도커 방식 및 개념을 이해 할 수 있다. 

예제로 자바 및 node.js, go 코드에 대한 샘플도 있다. 

 

기본적인 내용을 학습하고 나면 도커 이미지를 저장할 레지스트리 및 도커 볼륨 등 옵션적인 내용도 학습할 수 있다. 물론 도커를 한다면 도커컴포즈 내용도 알아야 하기 때문에 해당 내용도 교재에 잘 정리되어 있다. 

그 이후의 내용은 도커를 사용한다고 해도 잘 모를 수 도 있는 내용들이었고, 이에 대해 학습할 수 있어서 이 교재를 더 추천하는 이유다.

컨테이너화된 애플리케이션에 사용되는 모니터링 기술 스택 및 도커 스웜을 통한 분산 애플리케이션 배포 등등 쿠버네티스를 학습하기 전 이 책을 통해 도커에 대해 정확히 알고 넘어가야 할 것 같다.

 

이 책을 필요로 할 사람으로는 도커를 실무에 적용하고 싶은 분 및 실무에 도커를 적용하나 간단하게 적용 하거나 잘 모르는 부분이 있어 정확히 알고자 하는 분 이 좋을 것 같다. 혹시나 이제 개발을 입문하는 학생 및 교육과정을 수료하는 취준생들에게는 맞지 않을 것 같다.

 

여태 도커에 대해 잘 몰랐던 거 같아 자책이 들지만, 이 책을 하루빨리 정독해서 바로 다음 스텝 쿠버네티스로 넘어가야 겠다.

 

구매정보

http://www.yes24.com/Product/Goods/111408749

반응형

'책정리' 카테고리의 다른 글

[책 리뷰] 챗GPT 거부할 수 없는 미래  (1) 2023.09.04
스프링 코딩 공작소 책 리뷰  (0) 2023.04.09

+ Recent posts