코딩항해기
[기타] Docker 기초 이해 본문
팀 프로젝트 한 내용을 Docker로 배포 시도한다는 팀원이 있어 관련된 지식을 미리 확보해두기 위해 Docker를 찾아보게 되었다. 생각보다 간단한 내용은 아니어서 기초 내용만 확보해두고 발표가 완료된 뒤 추가 지식을 보완하기로 해 기초 지식 부분만 정리했다.
Docker
Go언어로 작성된 리눅스 컨테이너 기반으로하는 오픈소스 가상화 플랫폼이다. libcontainer 컨테이너를 사용한다.
Docker를 사용하면 개발환경에 구애받지 않고 내가 사용하던 개발환경을 손쉽게 구축할 수 있다. 또한 일반적인 Hypervisor 가상화 방식과는 다르게 경량 가상화로 실행이 빨라 한 개의 서버만 있으면 여러 가지 서비스 실행이 가능해 서버 확장을 필요로 하지 않는 장점이 있다. 배포도 쉽고 수정도 쉽다.
리눅스
가장 대표적인 오픈 소스 운영체제로 PC와 서버에서 둘 다 사용되지만 서버에서 더 많이 사용된다.
가상화 이유
향상된 컴퓨터 성능을 더욱 효율적으로 사용하기 위해 가상화 기술이 많이 등장했다. 서버 관리자 입장에서 CPU사용률이 10%대 밖에 되지 않는 활용도가 낮은 서버들의 리소스 낭비이다. 그렇다고 모든 서비스를 한 서버안에 올린다면 안정성에 문제가 생길수도 있기 때문에 안정성을 높이며 리소스도 최대한 활용할 수 있는 방법으로 나타난게 서버 가상화이다. 대표적인 가상화 플랫폼으로 VM이 있다.
Docker 컨테이너
컨테이너는 가상화 기술 중 하나로 대표적으로 리눅스 컨테이너가 있다. 기본 OS를 가상화시키던 것과 달리 컨테이너는 OS레벨의 가상화로 프로세스를 격리시켜 동작하는 방식으로 이뤄진다.
Docker 이미지
Docker Image란 컨테이너를 실행할 수 있는 실행파일, 설정 값 들을 가지고 있는 것이다.
참고하면 좋은 글 : https://khj93.tistory.com/entry/Docker-Docker-%EA%B0%9C%EB%85%90
'기타' 카테고리의 다른 글
[기타] 롬복 라이브러리 Lombok (0) | 2024.11.16 |
---|---|
[기타] 시간복잡도 (0) | 2024.11.15 |
[오블완] 오늘 블로그 완료 이벤트 11.07-11.27 (2) | 2024.10.28 |
[Tip] 인텔리제이 Intellij 정적 리소스 실시간 반영 (0) | 2024.10.24 |
[기타] 디자인 패턴, 아키텍처 패턴 (개발 패턴) (0) | 2024.10.19 |