본문 바로가기

Docker & K8S

Chapter1 - 설치 및 실행

안녕하세요 개발자 정씨입니다.

애플리케이션의 신속한 배포 및 스케일링, 개발 환경 일관성 보장 등으로 Docker의 중요성이 올라가고 있습니다.

해당 카테고리에서는 저 나름대로 Docker를 공부해보고 이를 정리해보겠습니다.

 

1. Docker란?

  • 도커의 핵심은 "컨테이너"입니다.
  • 컨테이너 안에는 어플리케이션과 그 어플리케이션이 동작하기 위한 모든 것(개발 환경)이 들어있습니다.
  • 이 컨테이너를 다른 서버에 옮겨도, 어디서든 동일하게 동작합니다. 그래서 배포와 서비스 운영이 훨씬 간편해집니다.

 

2. 설치

  • MacOS인 저는 brew를 이용해 설치를 진행했습니다.
brew install --cask docker

 

  • 설치를 마치고나면 아마도 LaunchPad에 docker 아이콘이 생성되었을텐데요.
  • 해당 아이콘을 이용해 도커가 정상적으로 실행되면 설치가 완료된 것입니다.

 

3. 컨테이너 실행 : hello-world

  • 도커에서는 기본적으로 테스트 할 수 있는 간단한 컨테이너가 존재합니다. 아래와 같은 명령어로 실행 할 수 있습니다.
docker run hello-world

 

  • cmd 창에서 "Hello from Docker!"라는 메세지를 확인할 수 있습니다.
  • 하지만, "hello-world" 컨테이너는 실행 후에 자동으로 종료되는 간단한 테스트 컨테이너이기 때문에 컨테이너의 상태를 확인할 수 있는 아래 명령어를 입력해도 아무것도 나오지 않습니다.
docker ps

 

4. 컨테이너 실행 : MySQL

  • MySQL의 공식 이미지를 Docker Hub에서 다운로드해야 합니다. 
  • 터미널에서 다음 명령어를 사용하여 MySQL 이미지를 다운로드합니다
docker pull mysql:5.7

 

 

  • 아래 명령어로 컨테이너를 실행할 수 있습니다.
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=비밀번호 -d -p 3306:3306 mysql:5.7
 -d  컨테이너를 백그라운드에서 실행합니다.
 --name mysql-container  컨테이너 이름을 "mysql-container"로 지정합니다.
 -e MYSQL_ROOT_PASSWORD=비밀번호  환경변수를 설정합니다. MySQL의 계정정보를 설정합니다.
 -p 3306:3306  호스트의 포트 3306를 컨테이너의 포트 3306에 매핑합니다.

 

  • 'docker ps'명령어를 입력하면 아래와 같이 컨테이너가 실행중인 것을 확인 할 수 있습니다.
  • 또한, 환경변수로 설정해준 계정 정보로 MySQL에 직접접속해도 정상 동작합니다.

 

5. 컨테이너 실행 : Redis

  • 이번에는 Redis서버를 띄워보겠습니다.
  • Redis 또한 아래 명령어를 사용하여 Docker Hub로부터 Redis 이미지를 다운로드 할 수 있습니다.
docker pull redis

 

  • Redis 컨테이너를 실행합니다
docker run -d --name redis-container -p 6379:6379 redis
 -d  컨테이너를 백그라운드에서 실행합니다.
 --name redis-container  컨테이너 이름을 "redis-container"로 지정합니다.
 -p 6379:6379  호스트의 포트 6379를 컨테이너의 포트 6379에 매핑합니다.

 

  • 이번엔 "docker ps"를 실행해봤을때 redis가 띄워져 있는 것을 확인 할 수 있습니다.
  • 아래 명령어로 "redis-container" 컨테이너 내에서 Redis CLI를 실행할 수 있습니다.
docker exec -it redis-container redis-cli

'Docker & K8S' 카테고리의 다른 글

Chapter3 - docker-compose  (0) 2023.10.25
Chapter2 - Dockerfile 작성  (0) 2023.09.28