[CS] Docker

June·2021년 10월 5일
0

[CS] CS 지식 정리

목록 보기
22/27

도커가 뭐고 왜 쓰는건가요?

서버를 돌리기 위한 환경을 구축하는 것은 복잡하다. 여러 가지를 버전 신경써서 다운 받은 다음 서로 잘 동작하게 신경 써줘야 하낟. 서버는 서버가 늘어날 수도 있다. 같은 서버에서 여러 서비스를 돌리는 경우 각각이 다른 환경에서 작동할 수도 있다.

도커는 각 요소들이 설치된 모습을 이미지로 저장해서 박제한다. 이 도커 이미지를 DockerHub이라는 곳에 업로드되서 공유하고 확인할 수 있다. 도커는 이것들을 바로 컴퓨터에 설치하지 않는다.

컨테이너라고 하는 독립된 가상 공간을 만들어내서 복원한다. 따라서 서로 다른 버전의 자바를 돌리는 서비스들도 각각의 컨테이너 안에서 방해받지 않고 돌아갈 수 있다.

버추어박스 같은 가상 컴퓨터처럼 들릴 수도 있는데 도커는 가상 컴퓨팅하고는 또 다르다.

가상 컴퓨팅은 한 물리적 컴퓨터 안에 각각 OS를 가동하는 가상 컴퓨터들이 물리적 자원을 분할해서 쓰기 때문에 성능에 한계가 생긴다.

도커는 OS단까지 내려가지 않고 실행환경만 독립적으로 돌리는거라서 컴퓨터에 직접 요소를 직접 설치한거랑 큰 차이 없는 성능을내고 가상 컴퓨팅보다 훨씬 빠르다.

가장 쉽게 배우는 도커

도커의 이미지란 리눅스 컴퓨터의 특정 상태를 캡쳐해서 박제해놓은 것이다.


이미지를 한번 받으면 컨테이너를 몇 개든 만들어낼 수 있다. 이미지는 컨테이너를 찍어내는 틀이라고 생각해도 좋다.

docker ps

를 입력하면 현가 작업이 진행중인 컨테이너를 보여준다.

0개의 댓글