Docker란?
Docker는 컨테이너 기반의 오픈소스 가상화 플랫폼이다.
여기에서 새롭게 등장하는 언어가 존재하는데 바로 '컨테이너'이다.
우리가 일반적으로 '컨테이너'라는 단어를 생각하면 화물을 수송할 때 규격화되어 배, 트레일러 등과 같은 다양한 운송수단으로 옮길 수 있는 대상이라고 생각할 수 있다.
서버에서 이야기하는 컨테이너도 비슷한 개념인데 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해준다.
가상화를 하는 방법으로는 기존에 있던 VM이 있는데 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.설정한 비밀번호 입력 완료하면 데이터베이스 접근 완료
'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 |