Docker

Docker란?

Docker는 컨테이너 기반의 오픈소스 가상화 플랫폼이다.

여기에서 새롭게 등장하는 언어가 존재하는데 바로 '컨테이너'이다.

우리가 일반적으로 '컨테이너'라는 단어를 생각하면 화물을 수송할 때 규격화되어 배, 트레일러 등과 같은 다양한 운송수단으로 옮길 수 있는 대상이라고 생각할 수 있다.

서버에서 이야기하는 컨테이너도 비슷한 개념인데 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해준다.

가상화를 하는 방법으로는 기존에 있던 VM이 있는데 VM과 비교하여 Docker의 이점은 무엇인가?

VM과 Docker의 차이

가장 큰 장점으로는 사이즈가 작고 이를 토대로 속도가 VM보다 빠르다는 이점이 존재한다.

위의 그림을 보면 VM에서는 Hypervisor(호스트 컴퓨터에서 다수의 운영체제를 동시에 실행하기 위한 논리적 플랫폼)가 Hardware를 가상화하고 그 위에 Guest OS가 올라가게 된다. 반면 Docker를 보면 Docker-engine위에 Application 실행에 필요한 바이너리만 올라간다. 그외의 커널 부분은 호스트의 커널을 공유한다. 이밖에도 배포부분을 생각하면 VM으로 배포를 한다고 하면 너무 무겁고 느려 운영환경에서 사용할 수 없다는 단점을 가지고  Docker는 이미지를 사용하여 사이즈가 작다는 장점을 가지면서 Docker가 현재 많이 사용된다.

 

Docker Command

Command Description
docker pull mysql mysql 설치
docker ps / docker ps -a 실행중인 컨테이너 출력 / 컨테이너 전체 출력
docker stop mysql 현재 실행중인 mysql을 중지
docker rm mysql / docker rmi mysql mysql제거 / mysql 이미지 제거
docker images 현재 이미지 확인
docker rmi -f mysql (강제) 컨테이너 삭제전 이미지 삭제하는 경우

 

Mysql설치

1. docker -d -p portNumber:portNumber -e MYSQL_ROOT_PASSWORD=password설정 --name 사용자 지정 이름 mysql

2. docker exec -i -t mysql bash (실행)

3. mysql -u root -p

4.설정한 비밀번호 입력 완료하면 데이터베이스 접근 완료

 

이미 받은 Mysql 이미지 삭제
설치 하는 전 과정

'SpringBoot' 카테고리의 다른 글

Spring으로 만드는 간단한 게시판(1)  (0) 2019.07.22
Get & Post  (0) 2019.07.08
해시(Hash) 와 암호화(Encryption)  (0) 2019.07.08
쿠키(Cookie)와 세션(Session)  (0) 2019.07.08
Spring 시작하기  (0) 2019.06.25

+ Recent posts