Dockerとは一言で表すと
と言えます。
例えば新しいプロダクトへアサインされたけど、自分だけバグが出てる…みたいな経験ってありませんか?
それ以外にも自社で作ったプロダクトをクラウドなどに上げる際動かないなんてことも考えられますよね?
そういった悩みがあることから今まではVirtual Machine(仮想マシン)という物を使っていました。
仮想マシンでアプリを動かすにはこの図のように一つ一つにOSをインストールする必要があります。
これをすることでサーバーにかなりの負荷がかかってしまう結果、予算やリソースを奪ってしまう原因になるのです。
図のように既にアプリを起動する前に仮想マシンの起動やOSのインストールがないため、
必要に応じて高速に作業を開始ししたり停止したりができるようになるのです。
今回はコンテイナーが作成され、localhostに驚きの速さで表示されることを確認したいと思います。
まずdockerを動かすにはdockerをインストールする必要があります。
DockerHub
続いて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に関して負荷の許容度を変更できたりなどメリットはあるようですが、
今回の実例でその速さを実感してもらえたら導入の余地はあるのではないかなと思います。
必要に応じて対応できる判断をする為にももっと深く理解する必要があるなと感じました!