Docker
AWS서버에 배포핸 경험이 있다면 내가 실행한 어플리케이션 환경에 맞게 java 버전, DataBase설정, Redis 설정을 해줘야한다. 뭐 처음 한번해서 한번 설정하면 상관없겠지만... 이짓을 새로운 서버마다 해줘야한다?? 그 일을 다시하기에는 여간 귀찮은 일이 아니다..
또한 다른 사람과 같이 작업을 해야한다? 이럴 때도 서로 문제가되는 환경은 없는지 맘조리면서 설치해야한다.. 하지만 Docekr라는 애는 이러한 귀찮은 일을 해결해준다.
Docker란?
Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼입니다. Docker는 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있습니다. Docker를 사용하면 환경에 구애받지 않고 애플리케이션을 신속하게 배포 및 확장할 수 있으며 코드가 문제없이 실행될 것임을 확신할 수 있습니다.
AWS에서 Docker를 실행하면 개발자와 관리자가 어떠한 규모에서든 매우 안정적이며 저렴한 방식으로 애플리케이션을 구축, 제공 및 실행할 수 있습니다.
도커는 리눅스 상에서 컨테이너 방식으로 프로세스를 격리해서 실행하고 관리할 수 있도록 도와주며, 계층화된 파일 시스템에 기반해 효율적으로 이미지(프로세스 실행 환경)을 구축할 수 있도록 해줍니다. 도커를 사용하면 이 이미지를 기반으로 컨테이너를 실행할 수 있으며, 다시 특정 컨테이너의 상태를 변경해 이미지로 만들 수 있습니다. 이렇게 만들어진 이미지는 파일로 보관하거나 원격 저장소를 사용해 쉽게 공유할 수 있으며, 도커만 설치되어 있다면 필요할 때 언제 어디서나 컨테이너로 실행하는 것이 가능합니다.
Docker 동작 방식
Docker는 코드를 실행하는 표준 방식을 제공합니다. Docker는 컨테이너를 위한 운영 체제입니다. 가상 머신이 서버 하드웨어를 가상화하는 방식과 비슷하게(직접 관리해야 하는 필요성 제거) 컨테이너는 서버 운영 체제를 가상화합니다. Docker는 각 서버에 설치되며 컨테이너를 구축, 시작 또는 중단하는 데 사용할 수 있는 간단한 명령을 제공합니다.
만약 VM 환경에서 여러 가상환경들을 바꾸어가면서 실행해야한다면 OS까찌 통째로 바꾸어야하는 기존 환경은 너무 가혹하다. 이때 Docekr는 OS 수준의 가상화를 지원하기 때문에 OS<- 자체를 바꿔야하는(콘텍트스위칭처럼) 오버헤딩은 발생하지 않는다.
도커 튜토리얼
출처 : https://aws.amazon.com/ko/docker/
출처 : https://cloud.google.com/containers/?hl=ko
'개인공부' 카테고리의 다른 글
Spring 버전별 정리 및 예제 (0) | 2021.01.12 |
---|---|
git : submodule 명령어 (git 안에 git 저장) (0) | 2021.01.12 |
컨테이너란 무엇입니까? (0) | 2021.01.09 |
반응형 웹사이트 구현 (flex) (0) | 2021.01.08 |
CSS : transitinoend 이벤트 (0) | 2021.01.01 |