ブログの投稿ログ

2021年
9月
8月
7月
6月

Dockerってなんぞ?(フロントエンド2年生が解説してみた。

Dockerとは一言で表すと

コンテナーを使って制作物をどこでも同じような感じで高速に動かせる仕組み

と言えます。

例えば新しいプロダクトへアサインされたけど、自分だけバグが出てる…みたいな経験ってありませんか?
それ以外にも自社で作ったプロダクトをクラウドなどに上げる際動かないなんてことも考えられますよね?
そういった悩みがあることから今まではVirtual Machine(仮想マシン)という物を使っていました。

0620-01

仮想マシンでアプリを動かすにはこの図のように一つ一つにOSをインストールする必要があります。
これをすることでサーバーにかなりの負荷がかかってしまう結果、予算やリソースを奪ってしまう原因になるのです。


そこでDockerが誕生しました。


0620-02

図のように既にアプリを起動する前に仮想マシンの起動やOSのインストールがないため、
必要に応じて高速に作業を開始ししたり停止したりができるようになるのです。

Dockerの実例

今回はコンテイナーが作成され、localhostに驚きの速さで表示されることを確認したいと思います。

まずdockerを動かすにはdockerをインストールする必要があります。
DockerHub

0620-03

続いてDockerHubにログインしてください。
その状態で、イメージをpullします。

docker pull nigelpoulton/ctr-demo:1

続いて、コンテイナーの上でimageを動かしたいと思います。

docker run -d --name web -p 8080:8080 nigelpoulton/ctr-demo:1
8b4a055cdc756af68f813adbde5cbd7ef22a67d62214be5127c68451b87654dc

そしてコンテナーのユニークIDが帰ってくれば既に稼働中ということを示しています。
コンテナを起動するためにdocker runをして最後にダウンロードしたimage名を記入します。
--nameはコンテナーの名前で
-p はポート番号になります。

そして、http://localhost:8080/を叩いて表示を確認してみてください!
docker runをしてからわずか1秒で起動してしまいました。すごすぎです。

docker stop web 

をすると8080が閉じます。

まとめ

状況に応じてVMに関して負荷の許容度を変更できたりなどメリットはあるようですが、
今回の実例でその速さを実感してもらえたら導入の余地はあるのではないかなと思います。
必要に応じて対応できる判断をする為にももっと深く理解する必要があるなと感じました!