Vagrant + Chef를 사용하는 자신이 Docker를 사용해보기 전에 아래 조사

2070 단어 도커chefVagrant

Docker는 무엇을 해결합니까?



Docker는 오픈 소스 차세대 가상화 기술로 애플리케이션을 "컨테이너"에 패키징하고 배포하고 실행할 수 있습니다.
Go 언어로 작성되었으며 Linux 커널에만 의존합니다.

포인트


  • 컨테이너에 앱을 패키징하여 배포 및 실행할 수 있습니다
  • 한 번 빌드하면 어디서나 움직인다
  • Dockefile 만 있으면 언제든지 재현 가능
  • Go 언어로 작성된



  • 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로 우선 환경 구축을 해본다.

    좋은 웹페이지 즐겨찾기