[SERVER] Docker를 처음 접하다.

0

1. Docker란?

도커는 서버를 돌리기 위한 환경을 구축하는것을 도와준다.
서버를 운영하다 보면 더 성능 좋은 서버로 바꾸거나, 서비스 접속량이 늘어날수록 서버를 추가해야 되는 일이 발생한다. 예를 들어 현재 서비스를 파이썬2에서 돌리고 있는데, 새로운 서비스는 파이썬3에서 돌리고자 하면 환경을 맞춰주는 것도 복잡해진다. 이러한 문제들을 도커가 해결해준다!

(1) 이미지

프로그램에서 각 요소가 설치된 모습을 도커는 이미지라는 형태로 박제해서 저장한다. 쓰이는 프로그램마다 기본적으로 제공되는 이미지가 있을 수 있고, 개발자가 원하는대로 만들 수도 있다.

만들어진 이미지들은 DockerHub이라는 곳에 업로드된다.
마치 git으로 관리한 내용을 github에 올리고 사람들과 공유하는것처럼, 도커 이미지들도 dockerhub에 업로드 되어 공유된다.

이미지로 박제된 요소들이 함께 연결돼서 동작할 수 있게 하는 명령어나 코드를 언제 어디서나 다른 컴퓨터에서도 재현할 수 있도록 DockerHub에 올려두는 것이다.

(2) 컨테이너

도커는 DockerHub에서 다운받은 문서들을 바로 컴퓨터에 설치하지 않고, 컨테이너라는 독립된 가상 공간을 만들어내서 복원한다. 따라서 위에서 언급한 예시처럼 서로 다른 버전의 파이썬 환경에서 돌아가는 서비스들을 각자의 컨테이너 안에서 서로 영향을 끼치지 않게 운영할 수 있는것이다.

도커는 가상컴퓨팅하고는 다른 구조!!

도커가상컴퓨팅
도커는 실행환경만 독립적으로 돌리기 때문에 가상컴퓨팅보다 빠르고 가볍게 각 서비스를 실행할 수 있음.가상컴퓨팅은 컴퓨터 한대에서 각각 OS를 가동하는 가상 컴퓨터들이 물리적 자원을 분할해서 쓰므로 성능에 한계가 있음.

도커 덕분에 서비스를 업데이트할 때 모든 서비스를 중지할 필요 없이 컨테이너를 통채로 변경하고 새로 실행하면 된다! 서버관리와 서비스 배포가 아주 쉬워진것이다.

profile
재미있는 아이디어 떠올리는 것을 좋아하고, 이를 구현하여 세상에 즐거움을 선물하고 싶은 사람입니다.

0개의 댓글