ドックとクバーネディス-ドック


ドッキングステーションとは


ドッキングステーションを理解するには、まず仮想化とは何かを理解する必要があります.
デフォルトでは、コンピュータは1つのオペレーティングシステムしか使用できません.仮想化とは、コンピュータを仮想化し、1台のコンピュータが複数のオペレーティングシステムを使用できるようにすることです.
 물리 머신 : 운영체제 = 1 : 1
 
 물리머신 -> n개의 가상머신 : n개의 운영체제
1つのデバイスを複数のデバイスに分割し、複数のデバイスを1つのデバイスに組み合わせることを仮想化と呼びますが、ドッキングステーションを説明するには、前者のみで説明します.

1.ホストの仮想化


ホスト仮想化は、元のオペレーティングシステムに仮想マシンをインストールし、新しいオペレーティングシステムをインストールする方法です.

OSは仮想マシンを実行し、それに基づいて別のOSを実行します.これにより、かなりのオーバーヘッドが発生し、速度が遅くなります.

2.Hypervisorの仮想化


ホスト仮想化では、オペレーティングシステムが仮想マシンを実行し、Hypervisor仮想化では、Hypervisorというソフトウェアがハードウェア上で直接仮想マシンを実行します.

Hypervisorは物理デバイスを仮想マシン(オペレーティングシステムを介さない)に分割するため、ホスト仮想化よりもオーバーヘッドが大幅に小さい.
ただし、Hypervisorの仮想マシンは独立しています.仮想マシンを作成するたびに、オペレーティングシステムをインストールする必要があります.

1台の仮想マシンのエラーは別の仮想マシンに拡散しませんが、依然として多くのオーバーヘッドが発生します.

3.コンテナの仮想化


コンテナ仮想化は、仮想マシンもOSもインストールしません.
コンテナエンジンだけが必要です.
従来、ハードウェアは分離されており、コンテナ仮想化はハードウェアではなくプロセスを分離します.

コンテナは、サービスを駆動するために必要なライブラリ、依存オブジェクト、およびファイルをパッケージ化し、個別に分離します.仮想マシンをインストールすることなく、仮想マシンと同様の機能を表示します.
他の仮想化方法よりも高速で軽量です.

4.やっと大きくなった


ドッキングステーションはこのコンテナ仮想化に属します.ハードウェアではなくプロセスを分離して仮想環境を作成します.
この仮想環境は、イメージに基づいて作成および導入されます.この画像には、環境を構築するために必要なファイルと設定が含まれています.インフラストラクチャイメージ(ubuntu、debian、alpine、nginx、wordpress...)ほとんどがdocker hubにあるため、イメージPULLを実行するだけでインフラストラクチャを迅速に構築できます.
+)Devian環境を簡単に構築して接続しましょう.
docker pull debian:buster
//이미지를 가져옵니다.
docker run -it debian:buster
//-i : 컨테이너와 상호작용 할 수 있게 해주는 옵션
//-t : 컨테이너와의 상호작용을 모니터에 보여주는 옵션
//컨테이너를 실행시키고 컨테이너에 접속합니다.
2行でDevian環境を作成および接続できます.
どちらの環境でも、イメージをドッキングステーションで実行することで、同じ環境を構築できます.WindowsとMacOSイベント上のコードを実行すると、同じDebian環境に接続できます.
また、ドッキングステーションはオペレーティングシステムとハードウェアを共有しているため、コンテナを作成するときにハードウェア上の資料をコンテナに移動できます.これにより、自分で設定したサービスを簡単かつ迅速に導入できます.

Q)必要な資料をコンテナに移すにはどうすればいいですか?
A)ドックファイルを作成し、コピーすることを指定する必要があります.
ドッキングファイルは、環境またはサービスを構築するために必要な設定を含むファイルです.ドラッグする画像を設定したり、コピーするファイルを設定したり、コンテナで実行するコマンドを設定したりできます.
+)davianをデフォルトイメージ(1)としてnginxを敷き、(2)nginxプロファイルdefaultファイルを移動し、(3)nginxを実行するドッキングファイルを作成します.
FROM   debian:buster
RUN    apt-get install nginx
COPY   default /etc/nginx/sites-available/
CMD    service nginx start
ドックファイルの名前はDockerfileでなければなりません.
ドッキングファイルを構築すると、設定が完了したサービスを実行するイメージが生成されます.
+)上で作成したドッキングファイルを使用してmyServiceとマークされたイメージを作成して実行します.
docker build -t myService .
// -t : 태그설정 옵션. 
//해당 서비스의 태그가 myService로 수정됨
//. : 도커파일의 위치
docker run -it -p 80:80, -p 443:443 myService
//-p : 포트를 열어주는 옵션
//myService가 실행됨
defaultファイルが正しく作成されている場合は、localhostに接続するとnginxに遭遇する可能性があります.