どこでもDockerやコンテナと言うワードを見掛るようになりましたが、いきなり触ろうと思っても手探りした上で、トライアンドエラーの流れになると思います。
この連載では、開発環境の構築を進めながらDockerの使い方を紹介していきます。
GCPやAWS、Azureなどのクラウドサービスでもコンテナ環境を簡単に利用するためのサービスが用意されていますので、基本的な内容を覚えると開発環境で動かしているコンテナを本番などにデプロイすることも可能となります。
前置きが少し長くなりましたが、まずはDockerの基本的な部分を紹介していきます。
Dockerとは?
簡易ではありますが、Dockerの概要についてとなります。
Dockerは、Docker社が開発しているコンテナ型の仮想環境を利用するためのプラットフォームです。
https://www.docker.com/what-docker
Linuxのコンテナ技術を利用したもので、よく仮想マシンと比較されます。
VMware、VirtualBoxなどの仮想マシンでは、ホストマシン上でハイパーバイザにてゲストOSを動かしますが、コンテナはホストマシンのカーネルを利用し、プロセスやユーザなどを隔離し動作するものです。
コンテナは軽量かつ、高速で起動や停止が可能です。
また、Dockerはミドルウェアの導入から環境設定をコード化(Infrastracture as Code)できます。
開発環境を構築する際などは、ベースとなるOS(WindowsやMacOSなど)の差異を気にすることがないため、様々な開発を効率よく進めることが可能となります。
コンテナの起動方法
詳細な内容については、以降で取り上げていきます。
今回はNginxのコンテナを起動し、ブラウザから接続するところまで進めていきたいと思います。
docker run --name test-nginx -d -p 80:80 nginx
Dockerにてコンテナを起動する際に、「docker」と言うコマンドを利用します。
今回は、Nginxのコンテナを起動するため「nginx」のイメージを利用し、起動したコンテナに対して「test-nginx」と言う名称を付け、起動(run)を行いました。
引数の「-p」については、コロンの左側がホスト側のポートとなり右側がコンテナ側のポートとなります。
80:80にて指定しているので、起動後にブラウザから「http://localhost/」にてアクセスすることで、コンテナの80ポートにアクセスすることが可能となります。
コンテナの停止方法
起動したコンテナを停止するにはどうしたらいいのでしょう。
起動と同様に、「docker」コマンドにて以下の内容を実行することでコンテナを停止することが可能です。
docker stop text-nginx
runと同様に、「docker」コマンドの後にstopを指定し、最後にコンテナにつけた名称(コンテナIDでもOK)を指定することで、コンテナを停止することが出来ます。
停止したコンテナは、停止前までの状態を保ったままです。
そのため、以下のコマンドを実行し再開することで、前回起動時のままの状態を保持したまま起動が可能です。
docker start test-nginx
総括
今回は、Dockerとコンテナについてと、コンテナの起動、停止方法について取り上げました。
使いこなせるようになると、開発環境の展開から本番環境へのコンテナでの展開など、用途は多々ありますので覚えるべき技術と思われます。
コメント