Server/Docker

도커 입문, 역할 이해하기

Dodal 2021. 12. 6. 14:58

Docker?

내 컴퓨터에서 작업한 결과가 다른 컴퓨터에서도 똑같이 복제되어 동작할 수는 없다.

컴퓨터마다 각기 운영체제가 다르고 사양이 다르기때문이다.

워드나 파워포인트 문서를 다른 컴퓨터로 열었을 때 종종 글꼴이 다르게 나오는 경우가 있다.

이런 문제를 해결하기 위해서 폰트를 포함하여 저장하는 기능이 있다.

 

도커도 마찬가지이다. 

우리가 개발하는 컴퓨터는 어떤 환경들이 있을까?

윈도우, 맥OS가 대부분일 것이다.

그러나 서버는 대부분 리눅스 계열의 운영체제를 가지고 있다.

윈도의 계열 서버도 많지만 임대료가 비싸다..

운영체제가 다른 서버에서 우리 개발환경에서 만든 프로그램을 잘 실행하려면 환경 설정이 복잡할 수 밖에 없다.

이러한 문제를 해결하기 위해서 도커 기술이 나왔다.

 

 

가상환경과 같지 않냐라고 느낄 수 있지만, 가상환경은 개발환경을 구축하기에는 충분하지만 구현한 서비스를 서버에 옮겨서 서비스를 제공하는 배포 과정에서는 부족한 부분이 있다.

배포를 하기 위해서는 소스코드를 복제해서 적절한 위치에 저장하고 웹 페이지를 보여주는 웹 서버, 웹 서버에서 받은 요청을 장고에서 넘겨주기 위한 인터페이스, 장고에서 사용할 데이터베이스 등 추가적인 작업이 필요하다.

가상환경으로 이러한 작업을 수행하는 데 한계가 있으므로 도커를 사용해 모든 환경을 전부 서버로 옮기는 것이다.

 

도커의 작동 방식

도커 설정 파일에 운영체제, 프로그래밍 언어 버전, 라이브러리, 소스 코드, 이미지 파일 등 웹 사이트 배포에 필요한 환경설정 정보를 모두 지정한다.

도커를 실행하면 도커 설정 파일에서 지정한 대로 서버 전체를 복제한 컨테이너 이미지가 생성된다.

컨테이너 이미지를 작동시키면 컨테이너가 실행되면서 기존과 동일한 상태로 웹사이트 서버를 실행한다.

 

컨테이너 이미지를 처음 생성할 때는 서버를 실행하기 위해 필요한 모든 파일을 내려 받아야 하기 때문에 시간이 꽤 걸린다.

하지만 그 후 작업부터는 이미 받아놓은 이미지에서 변경된 부분만 갱신하면 되기 때문에 이미지를 생성하는 시간이 대폭 단축된다.

컨테이너 이미지에는 서버 전체가 온전히 담겨서 다른 컴퓨터에서 도커를 설치하고 이 이미지를 복제해서 작동하기만 하면 기존과 동일한 상태로 웹사이트 서버를 실행할 수 있다.

 

 

참조 서적: Do it ! 장고 + 부트스트랩 파이썬 웹 개발의 정석

https://book.naver.com/bookdb/book_detail.naver?bid=17717279

반응형