안녕하세요. 알비언 DevOps팀의 Austin입니다!
IT를 좋아하시거나 종사하시는 분들 중 Docker에 대해 한 번씩 들어보셨을 거라 생각됩니다. Docker는 실제 많은 엔지니어들이 사용하고 있으며 기업중엔 채용 조건으로 Docker를 우대사항에 놓는 경우도 있지요. 도대체 이 'Docker' 란 것이 뭐길래 이렇게 핫한 걸까요?
오늘은 Docker에 대해서 간단하게 소개해 볼까해요!
Docker 왜 쓰는 걸까?
개발자들이 사랑하는 'Docker' 이야기
Docker의 역사
2008년 솔로몬 하익스가 프랑스 파리에서 DotCloud라는 이름으로 서비스플랫폼(PaaS) 시작했습니다. 하익스는 2013년 3월 산타클라라에서 열린 Pycon Conference에서 The future of Linux Containers를 발표하며 세상에 처음 이름을 알렸습니다. 이후 엄청난 관심을 받으며 DotCloud에서 'Docker Inc'로 사명을 변경하여 지금까지 이르게 됩니다.

그래서 언제 쓰는 건데?
Docker 소개에 앞서, 우선 가상화의 개념을 파악해야 합니다. 가상화는 물리적 하드웨어를 여러 개의 가상머신(Virtual Machines)으로 분할하여 하드웨어 자원을 효율적으로 사용할 수 있는 기술입니다. 이중에서도 가상화는 VM과 Container(Docker) 두 가지로 분류가 됩니다.

가상머신을 사용하기 위해서는 위 그림과 같이 별도의 Hypervisor라는 소프트웨어를 사용하게 됩니다. Hypervisor는 Host OS에 설치가 되며 Host OS와 Guest OS를 분리 하여 Guest OS가 각각의 독립적인 하드웨어 자원을 할당 받습니다. Hypervisor를 활용하여 하나의 하드웨어 에서도 각각의 PC처럼 활용이 가능합니다. 하지만 VM을 사용하게 되면 무조건 Hypervisor를 사용하게 되므로 속도 저하가 발생하게 되며 VM으로 배포를 진행 시 Guest OS에 설치가 필요하므로 이미지의 크기가 매우 커집니다.
이와 달리 Container(Docker)는 Guest OS를 설치하는게 아닌 Host OS 베이스 환경의 OS Kernel를 공유하며 필요한 프로세스만 격리하는 방식으로 작동을 합니다. HostOS와 다른 OS는 사용이 불가능하지만, 그 대신 격리가 필요한 APP과 이곳에 필요한 특정 라이브러리 등 종속 항목만 포함이 되어 배포하기 때문에 용량은 작아지고 배포 속도가 빨라지는 엄청난 장점을 보입니다.
Doker는 컨테이터 기술을 활용한 가상화 플랫폼입니다. Doker를 쓰면 이미지를 실행시켜서 컨테이너로 만들거나, 컨테이너 관리, 컨테이너를 다시 이미지로 만드는 작업을 손 쉽게 사용할 수 있습니다.
여기서 이미지란 컨테이너를 실행하는데 필요한 파일, 라이브러리, 설정 등을 가지고 있는 파일을 의미합니다.
이미지는 레이어 방식으로 이루어져 있으며 변경사항이 있을 땐 새로운 레이어를 추가하여 배포가 가능합니다.

Docker는 MSA(MicroServices Architecture)에 없어서는 안될 서비스이며, 아주 강력한 오픈소스 툴 입니다. VM처럼 다른 프로세스 와 격리하여 사용할 수 있지만 성능 저하가 거의 없습니다. 환경에 구애 받지 않고 실행이 가능하며, 배포도 매우 간단합니다.
알비언 앱에서는 일상의 사물과 공간에서 소통할 수 있는 현실 기반의 AR(증강현실) 소셜 미디어를 만들고 있습니다. 우리 앱에는 AR 기술과 AI기술이 반드시 필요한데 여기에 사용되는 기술들은 MSA로 구성되며 Docker기반으로 작동되고 있습니다.
오늘은 Docker에 대해서 간략히 알아보았는데요, Docker를 사용함으로써 컨테이너 관리, 종속성에서 벗어나 어느 환경에서도 개발이 가능하며 개발자가 조금 더 업무에 집중할 수 있습니다. 다음 콘텐츠에서는 MSA(MicroServices Architecture) 에 대해서 다룰 예정이니 관심 있는 분들은 기대해주세요!
글 읽어주셔서 감사합니다. 😘
안녕하세요. 알비언 DevOps팀의 Austin입니다!
IT를 좋아하시거나 종사하시는 분들 중 Docker에 대해 한 번씩 들어보셨을 거라 생각됩니다. Docker는 실제 많은 엔지니어들이 사용하고 있으며 기업중엔 채용 조건으로 Docker를 우대사항에 놓는 경우도 있지요. 도대체 이 'Docker' 란 것이 뭐길래 이렇게 핫한 걸까요?
오늘은 Docker에 대해서 간단하게 소개해 볼까해요!
Docker 왜 쓰는 걸까?
개발자들이 사랑하는 'Docker' 이야기
Docker의 역사
2008년 솔로몬 하익스가 프랑스 파리에서 DotCloud라는 이름으로 서비스플랫폼(PaaS) 시작했습니다. 하익스는 2013년 3월 산타클라라에서 열린 Pycon Conference에서 The future of Linux Containers를 발표하며 세상에 처음 이름을 알렸습니다. 이후 엄청난 관심을 받으며 DotCloud에서 'Docker Inc'로 사명을 변경하여 지금까지 이르게 됩니다.
그래서 언제 쓰는 건데?
Docker 소개에 앞서, 우선 가상화의 개념을 파악해야 합니다. 가상화는 물리적 하드웨어를 여러 개의 가상머신(Virtual Machines)으로 분할하여 하드웨어 자원을 효율적으로 사용할 수 있는 기술입니다. 이중에서도 가상화는 VM과 Container(Docker) 두 가지로 분류가 됩니다.
가상머신을 사용하기 위해서는 위 그림과 같이 별도의 Hypervisor라는 소프트웨어를 사용하게 됩니다. Hypervisor는 Host OS에 설치가 되며 Host OS와 Guest OS를 분리 하여 Guest OS가 각각의 독립적인 하드웨어 자원을 할당 받습니다. Hypervisor를 활용하여 하나의 하드웨어 에서도 각각의 PC처럼 활용이 가능합니다. 하지만 VM을 사용하게 되면 무조건 Hypervisor를 사용하게 되므로 속도 저하가 발생하게 되며 VM으로 배포를 진행 시 Guest OS에 설치가 필요하므로 이미지의 크기가 매우 커집니다.
이와 달리 Container(Docker)는 Guest OS를 설치하는게 아닌 Host OS 베이스 환경의 OS Kernel를 공유하며 필요한 프로세스만 격리하는 방식으로 작동을 합니다. HostOS와 다른 OS는 사용이 불가능하지만, 그 대신 격리가 필요한 APP과 이곳에 필요한 특정 라이브러리 등 종속 항목만 포함이 되어 배포하기 때문에 용량은 작아지고 배포 속도가 빨라지는 엄청난 장점을 보입니다.
Doker는 컨테이터 기술을 활용한 가상화 플랫폼입니다. Doker를 쓰면 이미지를 실행시켜서 컨테이너로 만들거나, 컨테이너 관리, 컨테이너를 다시 이미지로 만드는 작업을 손 쉽게 사용할 수 있습니다.
여기서 이미지란 컨테이너를 실행하는데 필요한 파일, 라이브러리, 설정 등을 가지고 있는 파일을 의미합니다.
이미지는 레이어 방식으로 이루어져 있으며 변경사항이 있을 땐 새로운 레이어를 추가하여 배포가 가능합니다.
Docker는 MSA(MicroServices Architecture)에 없어서는 안될 서비스이며, 아주 강력한 오픈소스 툴 입니다. VM처럼 다른 프로세스 와 격리하여 사용할 수 있지만 성능 저하가 거의 없습니다. 환경에 구애 받지 않고 실행이 가능하며, 배포도 매우 간단합니다.
알비언 앱에서는 일상의 사물과 공간에서 소통할 수 있는 현실 기반의 AR(증강현실) 소셜 미디어를 만들고 있습니다. 우리 앱에는 AR 기술과 AI기술이 반드시 필요한데 여기에 사용되는 기술들은 MSA로 구성되며 Docker기반으로 작동되고 있습니다.
오늘은 Docker에 대해서 간략히 알아보았는데요, Docker를 사용함으로써 컨테이너 관리, 종속성에서 벗어나 어느 환경에서도 개발이 가능하며 개발자가 조금 더 업무에 집중할 수 있습니다. 다음 콘텐츠에서는 MSA(MicroServices Architecture) 에 대해서 다룰 예정이니 관심 있는 분들은 기대해주세요!
글 읽어주셔서 감사합니다. 😘