서버 관리 ?
일반적으로 서버를 관리한다는건 복잡하고 어려우며 고급 개발자들의 섬세한 작업이 필요합니다.
서버를 관리하게 되면 보통 ./configure 와 make && make install를 사용해서 세팅을 하게 되고, 어느정도 익숙해지더라도 리눅스 배포판이 바뀌거나 환경이 달라지면 꼭 문제가 생기곤 했습니다.
하나의 서버에 여러개의 프로그램을 설치하는 것도 문제였는데 , 서로 사용하는 라이브러리의 버전이 다르거나 동일한 포트를 사용하는 경우는 설치가 굉장히 까다로웠습니다.
차라리 다른 서버에 설치하는게 나았고 그렇게 PC의 갯수가 늘어나고 자원이 낭비됩니다.
centos에 익숙해지면 ubuntu, aws에 익숙해지면 azure을 써야하는 일이 생깁니다.
Devops의 등장으로 배포가 더 자주 이루어지고, 프로그램이 잘개 쪼개지고, 새로운 툴인 계속해서 나오고 클라우드의 발전으로 설치해야 할 서버가 수백 수천대에 이르는 상황에서 Docker가 등장하고 서버관리 방식이 완전히 바뀌게 됩니다.
도커란?
도커는 컨테이너 기반의 오픈소스 가상화 플랫폼입니다.
컨테이너라고 하면 배에 실는 네모난 화물 수송용 박스를 생각할 수 있는데 각각의 컨테이너 안에는 옷, 신발, 전자제품 등이 들어가고 규격화되어 컨테이너선이나 트래일러등 다양한 운송수단으로 쉽게 옮길 수 있게 됩니다.
서버에서 이야기하는 컨테이너도 이와 비슷한데, 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해줍니다.
백엔드 프로그램, 데이터베이스 서버, 메세지 큐등 어떤 프로그램도 컨테이너로 추상화할 수 있고 조립 PC, AWS, google cloud 등 어디에서든 실행 할 수 있습니다.
자세한 내용은 아래 블로그를 참고 바랍니다. :)
참조)
https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html
'서버 인프라, 백엔드 > 도커 (DOCKER)' 카테고리의 다른 글
Docker : mysqldump를 이용하여 백업 및 마이그레이션 (2) | 2021.09.28 |
---|---|
Docker : 리눅스에 도커 설치하기 (Ubuntu 18.04) (0) | 2021.03.26 |
도커 : docker logs의 --tail을 이용하여 컨테이너 로그 확인하기 (0) | 2020.06.16 |