오늘은 크게 JPQL, DOCKER, 알고리즘 문제를 조금 공부해 보았다. 우선 도커를 지금 막 공부 하였기 때문에 먼저 정리를 해보려 한다. 도커를 사용하기 이전에는 어떤 서버를 사용하기 위해서 자바의 특정 버전을 설치하고 설정하고 여러가지 패키지를 다운로드 하는 등 개발자가 하나 하나 모두 신경 써줘야 됬다. spring boot 를 사용 할 때도 우선 사용했던 자바 버전 그리고 여러가지 패키지를 다운로드 해야한다. 이러한 작업은 귀찮고 섬세해서 하나 잘못되면 삽질을 하게 될 수 있다. 이러한 과정을 이 간단하게 해주는 것이 도커라 할 수 있다.
도커는 컨테이너 기반의 오픈소스 가상화 플랫폼이라고 한다. 여기서 컨테이너란 무엇을 말하는 것일까? mysql, redis, jenkins, wordPress 등의 서비스를 사용하려면 여러가지 환경변수, 필요한 패키지 등등 부가적인 기능을 추가해주어 복잡하다 하지만 이를 각각 컨테이너에 넣고 필요한 설정도 다 넣어서 사용하고 싶을 때 컨테이너를 도커란 이름의 컨테이너 운반 고래로부터 가져오게만 시키면 각각의 서비스를 쉽게 사용할 수 있는 것이다. 그리고 이 컨테이너는 어떤 실행환경이든 상관없이 돌아간다.
도커는 가상머신과 비교가 많이 될 만큼 비슷해보이다. 그럼 도커와 가상머신의 차이점은 무엇일까?
도커는 가상머신 처럼 독립적으로 실행되지만 가상머신보다 빠르고, 쉽고 효율적이라는 특징이 있다.
2013년에 DotCloud(현 Docker)에서 첫 공개하였다고 한다.
컨테이너란 격리된 환경에서 작동하는 프로세스라고 할 수 있다. 도커는 리눅스 커널의 기능을 활용하고 이미지 단위로 프로세스 실행 환경을 구성한다.