Vagrant + Chef를 사용하는 자신이 Docker를 사용해보기 전에 아래 조사
Docker는 무엇을 해결합니까?
Docker는 오픈 소스 차세대 가상화 기술로 애플리케이션을 "컨테이너"에 패키징하고 배포하고 실행할 수 있습니다.
Go 언어로 작성되었으며 Linux 커널에만 의존합니다.
포인트
즉
Dockerfile에 OS의 스크래치 이미지에서 라이브러리, 환경 변수 등을 패키징하는 것을 씁니다. 그것을 빌드하고 실행하여 테스트하고 배포하는 것만으로, 수중에서 움직이고 있던 것을 프로덕션 환경에 그대로 가지고 가서 이동할 수 있다
단적으로 말하자면
デプロイの作業が簡単になる
Docerfileによってインフラをコード化。(この点はVagnrantと類似している。)
Dockerはコンテナ型仮想化
仮想化なのでプラットフォームやハードウェアからは隔離された環境
すべてのコンテナには固有のIDがあります。
Dockerfileの1行ごとにコンテナとコンテナIDが作られ、コンテナは親からの差分を保存していく。例えば一番ベースとなるコンテナからapt-getなどをすると、その差分だけを保存することになります。何かに失敗したらgitのように失敗する前に戻すことが可能
도커
Vagrant
컨테이너형 가상화
호스팅 가상화
물리적 머신의 Linux 커널은 공유하여 별도의 사용자 공간을 생성하는 접근법
물리적 머신 위의 가상 공간에 독자적인 Linux 커널이나 OS등을 작성(설치)한다
빌드도 배포도 빠르고 오버헤드도 적기 때문에 동작이 가볍다.
반대로 무겁다 (왼쪽에 비해)
서버측 설정
DB 설치와 다양한 앱 설치, 서버 측 설정에 대해서는 다음과 같습니다.
도커
Vagrant
Dockerfile
쉘 or Chef in Vagrantfile
※Docker로 컨테이너를 해, Chef로 서버 설정도 가능하지만, Dockerfile 자체가 서버의 설정을 기술해 자동화하는 기능을 제공하고 있기 때문에 그다지 의미가 없다.
도커
Vagrant with Chef
프로세스내에서 그 가상 환경이 구축되고, 그 프로세스를 지우면 가상 환경 자체도 없어지기 때문에 기본적으로는 매회 1부터 Dockerfile을 사용해 가상 환경을 구축한다
chef의 장점 중 하나에 균등성이 있지만, 이미 서버 설정이 들어있는 곳에 여러 번 실행해도 환경이 동일하다는 것을 보장하고 싶기 때문에
VM(가상 머신)과 컨테이너의 차이
VM에서는 VM마다 게스트 OS가 있고, 그 위에 라이브러리와 앱이 타고 있다.
컨테이너에서는 호스트 OS에 Docker 엔진이 있고, 거기에 각종 라이브러리가 있다.
요컨대, 컨테이너가 같은 라이브러리를 공유하고 있기 때문에 소 디스크 공간 및 소메모리, 그러면서 격리된 환경을 실현할 수 있다.
위를 바탕으로 Docker로 우선 환경 구축을 해본다.
Reference
이 문제에 관하여(Vagrant + Chef를 사용하는 자신이 Docker를 사용해보기 전에 아래 조사), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kieaiaarh/items/0dfae19f33e12e1364f6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
VM에서는 VM마다 게스트 OS가 있고, 그 위에 라이브러리와 앱이 타고 있다.
컨테이너에서는 호스트 OS에 Docker 엔진이 있고, 거기에 각종 라이브러리가 있다.
요컨대, 컨테이너가 같은 라이브러리를 공유하고 있기 때문에 소 디스크 공간 및 소메모리, 그러면서 격리된 환경을 실현할 수 있다.
위를 바탕으로 Docker로 우선 환경 구축을 해본다.
Reference
이 문제에 관하여(Vagrant + Chef를 사용하는 자신이 Docker를 사용해보기 전에 아래 조사), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kieaiaarh/items/0dfae19f33e12e1364f6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)