Docker Desktop for Mac 설치
1. 다운로드 페이지 접속:
• Docker 공식 웹사이트에서 Docker Desktop for Mac 다운로드 페이지로 이동합니다.
https://www.docker.com/products/docker-desktop/
도커란
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
'인프라 > docker' 카테고리의 다른 글
[docker] docker compose 시작하기 (0) | 2021.03.31 |
---|---|
[docker] 도커 Elasticsearch 설치 및 kibana 설치 (0) | 2021.01.13 |
[docker] 도커 redis 설치 및 접속 (2) | 2021.01.12 |
[docker] 도커 jenkins 시작하기 (0) | 2020.12.18 |
[docker] kafka docker 시작하기 (0) | 2020.11.15 |