Dockerとは
Wiki風に説明すると、、、
Docker社が開発するコンテナ型のアプリケーション実行環境です。
これだけだと説明不足かと思いますので、もう少し詳しく説明します。
Dockerは、VirtualBoxやParallels Desktopのような仮想化似ていますが、全くことなる技術になります。
仮想化:ホストのOS上でハイパーバイザーを動作させゲストOSを実行し、アプリケーションを実行します。
※ハイパーバイザーにはVirtualBoxなどのソフトがあります。
Docker:ホストOS上で、Dockerエンジンを動作させアプリケーションを実行します。
よくこのような画像で説明されます。
OSの上でOSを動かす仮想環境と比べ、DockerはホストOS上で動きます。
そのため、仮想環境のようなもっさり感などがありません。
Dockerのインストール
1.ダウンロード
M1,M2チップの場合赤丸からダウンロードしましょう。
2.インストール
ドラッグ&ドロップで出る、インストール画面でAcceptを選択するだけで完了です。
Ubuntuのインストール
1.Ubuntuのイメージのインストールを行います。
Dockerイメージと呼ばれるものです。テンプレートファイルになります。
docker pull ubuntu:20.04
次のコマンドで、Ubuntu:20.04が一覧に表示されていれば完了です。
docker images
2.Ubuntuのイメージからコンテナを作成します。
コンテナ:ゲームでいうところのセーブデータです。
docker run -it -d --name ubuntu -p 3000:8080 ubuntu:20.04
無事に完了すると、コンテナIDが表示されます。
通常はホストOSからコンテナで実行しているサーバーにアクセスできません。
それだと困るので、
-p 3000:8080 としています。
このオプションを指定することで、コンテナのポート8080で実行しているアプリケーションにアクセスできます。
アクセスするには、ホストOSのポート3000からアクセスします。
ポートマッピングと言います。
3.作ったコンテナに入る
docker exec -it ubuntuX /bin/bash
無事Ubuntu内に入ることができました!
Ubuntuについては、こちらの記事をご覧いただけると幸いです。
4.Docker Engineの設定
ポートマッピングする場合は、Docker Engineの設定でローカルからしかアクセスできないようにしておきましょう。
やり方は簡単で、設定のDocker EngineタブのJSONに”ip”: “127.0.0.1”を追加しましょう。
Docker用語
- Docker デーモン
-
コンテナを管理するために常駐するプロセス
- Docker イメージ
-
コンテナを作成するために必要な、テンプレートファイル。
ゲームでいうところのソフト。
- Docker コンテナ
-
イメージから作成される、アプリケーションの実行環境です。
ゲームでいうところのセーブデータ。
- Docker Engine
-
Docker コンテナを実行するソフトウェアです。