2re funでは各プロジェクトのインフラにDockerを使っています。以前「Dockerの使い方入門|基本コマンドとdocker-composeの書き方を実例で解説」でコマンドとdocker-composeの実例をまとめましたが、今回はさらに一歩前、「これからDockerを触ってみる人」向けに、インストールから最初のコンテナ起動までの流れを整理しておきます。
Dockerを使うと何がうれしいのか
Dockerは、アプリケーションとその実行環境をまとめて「コンテナ」として起動できるツールです。導入すると、次のようなメリットがあります。
- 「自分のPCでは動くのに他の人の環境では動かない」という差異を防げる
- MySQLやRedisなどのミドルウェアを、PCに直接インストールせずに試せる
- 使い終わったら丸ごと削除でき、PC環境を汚さない
- 本番サーバーと同じ環境をローカルで再現しやすい
インストール方法
環境ごとに、次の方法でDockerを導入します。
- Windows / Mac:Docker Desktopを公式サイトからダウンロードしてインストールする
- Linux(Ubuntuなど):各ディストリビューションのパッケージマネージャーからDocker Engineをインストールする
インストールが終わったら、ターミナルで次のコマンドを実行し、バージョンが表示されればセットアップは完了です。
docker --version
はじめてのコンテナ起動
まずは動作確認として、公式が用意しているサンプルイメージを起動してみます。
docker run hello-world
このコマンドを実行すると、Dockerは次の順番で処理を行います。
- 手元に
hello-worldイメージがあるか確認する - なければDocker Hub(公式のイメージ置き場)から自動でダウンロードする
- ダウンロードしたイメージからコンテナを起動する
- コンテナ内のプログラムがメッセージを表示して終了する
「Hello from Docker!」というメッセージが表示されれば、Dockerが正しく動作しています。
Webサーバーを起動して動作を体感する
次に、実際にブラウザからアクセスできるコンテナを起動してみます。Webサーバーのnginxを例にします。
docker run -d -p 8080:80 --name my-nginx nginx
それぞれのオプションの意味は次の通りです。
-d:コンテナをバックグラウンドで起動する-p 8080:80:ホストの8080番ポートをコンテナの80番ポートにつなぐ--name my-nginx:コンテナに分かりやすい名前を付ける
起動後、ブラウザでhttp://localhost:8080にアクセスすると、nginxのウェルカムページが表示されます。確認が終わったら、次のコマンドでコンテナを停止・削除できます。
docker stop my-nginx
docker rm my-nginx
PCにnginxを直接インストールしていないのに、コマンド1つでWebサーバーを試せて、不要になったら痕跡を残さず消せる。この手軽さがDockerの基本的な使い勝手です。
次のステップ
単体のコンテナ起動に慣れたら、次はWordPress+MySQLのように複数のコンテナを組み合わせる場面が出てきます。そこで使うのがDocker Composeです。基本コマンドやdocker-compose.ymlの具体的な書き方は「Dockerの使い方入門|基本コマンドとdocker-composeの書き方を実例で解説」で、この2re blog自体のdocker-compose.ymlを例に詳しく解説していますので、あわせて読んでみてください。
また、既存のイメージではなく自分のアプリケーション用に独自のイメージを作りたい場合は、「Dockerfileの書き方入門」でFROM・COPY・RUN・CMDといった基本命令とサンプルコードを紹介していますので、そちらもあわせてご覧ください。
コメントを残す