はじめに
Dockerはコマンド一発で環境構築でき、開発環境をそのまま本番環境に移せるツールです。
今回、簡単にDockerについて解説します!
【YouTube動画】 まだVMで消耗してるの? Dockerの良い所、関連用語を解説します!
VMとコンテナの違い
動画だとこの部分に相当します。
大きな違いはホストOS (いまメインで使ってるOS) 上で別のOSが動いているかどうかです。
VMではOSの上で別のOSが動いているので、動作が遅いです。
対して、コンテナ技術を使った仮想化では、今使ってるOS上で動かしているので、動作が早いです!
ちなみにコンテナはDockerだけじゃなく、他にもcontainerdやpodmanなどいろんなものがあります。
Dockerの使い所
動画だとこの部分になります。
Dockerの利便性として、以下のようなものがあります。
- フロントエンドの実装だけする人や初心者が大変な環境構築を一発でできる
- CircleCIなどCIサービス
- イミュータブル・インフラストラクチャ (環境を毎回新しく作り直せる!)
-> パッチを当てて脆弱性を修正する必要がなくなります!
もう開発にはなくてはならないツールですね。
Dockerの用語まとめ
Docker関連でよく見る単語について紹介しておきます。
動画だとこの部分です。
-
Docker Hub
Docker HubはDockerイメージを保存しておくリポジトリです。
ちなみに2020年11月から、半年間未使用のイメージが削除されるようになったので、気をつけてください (フリープランの人)。 -
Dockerfile
作成するDockerイメージの設定を書いておくファイルです。
設定を書くと、RUNやADDなどの命令がある行ごとに中間イメージが作成されます。 -
docker-compose
複数のDockerコンテナを連携するために使用します。 -
kubernetes
発音は以下のサイトで確認ください。
https://www.youtube.com/watch?v=3uFqJ0IhxVA
コンテナ運用の自動化をするために使います。
kとsの間に8文字あるので、k8sとか略されます。
-
Amazon ECR (Amazon Elastic Container Registry)
コンテナイメージをAWS上で管理するために使います。 -
Amazon ECS (Amazon Elastic Container Service)
クラスターでコンテナ実行、停止、管理ができるサービスです。 -
Amazon EKS (Amazon Elastic Kubernetes Service)
AWS上でk8sを運用するためのサービスです。 -
Amazon Fargate
コンテナ向けのサーバレスサービスです。
まとめ
Dockerについて興味をもっていただけたでしょうか?
もっと詳しく学びたいと思われた方は、以下のQiita記事が大変詳しいので、オススメします!
いまさらだけどDockerに入門したので分かりやすくまとめてみた