Docker(ドッカー)は、コンテナを使った仮想環境構築ツールです。
このDockerを使いこなすことは、インフラ初心者にとって少し難しいことかもしれません。
ですが、今後のWeb業界では「Dockerでの環境構築が当たり前になる」と予想されているため、必ず扱えるようになりたい技術でもあります。
いま実際に本番環境でDockerを使っていない方も、開発環境はDockerで構築してみるといったように、少しずつ使い慣れていくことが大切です。
この記事では、Docker入門としてDockerの基本を学んだあと、最終的にRailsやNginx、Mysqlを使った開発環境を構築していきます。
もくじ
【STEP.1】Docker入門!特徴や仕組みやメリット
いきなりDockerを触り始めるのではなく、まずはDockerの特徴や仕組みをしっかり学びましょう。
Dockerがどのように動いているか知らずに使っていると、このさき詰まってしまう可能性もあります。
また、仮想環境といえば「VirtualBox(Vagrant)」も有名なので、これらとの違いもしっかり抑えておきましょう。
▼Dockerを知るためのステップ
- Dockerとは
- Dockerの仕組み
- DockerとVirtualBoxの違い
- Dockerのメリット

【STEP.2】Dockerのインストール(WindowsとMac)
Dockerの概要がわかったところで、実際に使ってみるためにもDockerをインストールしてみましょう。
「Windows Home」や「Windows Pro」、「Mac」などのOSによって、Dockerのインストール方法が違ってくるので注意。
どのパッケージをインストールすべきか、確認しながら進めていきます。
▼Dockerをインストールするステップ
- Docker Toolboxをインストール
- Docker for Windows(Mac)をインストール

【STEP.3】Dockerコマンドの使い方
実際にDockerコマンドを使って、Dockerイメージやコンテナを動かしてみましょう。
Dockerのベースイメージを取得するところから、オリジナルのDockerイメージを作成するところまでを解説しています。
Dockerコマンドを使いながら体系的に学べるような構成になっているので、上から順番に実行していくだけでDockerの流れをつかむことができます。
▼Dockerコマンドを覚えるステップ
- Dockerベースイメージの取得
- Dockerコンテナの作成と起動
- Dockerコンテナに変更を加える
- オリジナルのDockerイメージを作成

【STEP.4】Dockerfileの使い方
Dockerfileを使うことで、それを元にDockerイメージを作成したり、効率的に管理することができるようになります。
ここでは、Dockerfileの概要やメリットを確認し、実際にDockerfileからDockerイメージを作成(ビルド)してみます。
また、Dockerfileを作成するうえでの注意点についても確認しておきましょう。
▼Dockerfileを作成するステップ
- Dockerfileとは
- Dockerfileのメリット
- Dockerfileの作成
- Dockerfileからイメージ作成
- Dockerfile作成時の注意事項

【STEP.5】Dockerネットワークでコンテナ間通信
Dockerネットワークを作成することで、複数のコンテナ間で通信ができるようになります。
ここでは、作成したDockerネットワークに「Railsコンテナ」と「MySQLコンテナ」を紐づけ、コンテナ間で連係させてみます。
▼Dockerネットワークを学ぶステップ
- Dockerネットワークの作成
- MySQLのイメージ作成、コンテナ起動
- Railsのイメージ作成、コンテナ起動
- ブラウザからの連携確認

【STEP.6】Docker Composeを使って開発環境を構築
Docker Composeを使って、開発環境を構築してみましょう。
Docker Composeとは、「docker-compose.yml」というファイルを使って、複数のコンテナからなるアプリケーションを管理、操作するためのツールです。
ここでは、Rails、MySQL、Nginxを例に、Docker Composeを使って開発環境を構築していきます。
▼Docker Composeで環境構築するステップ
- Docker Composeとは
- docker-compose.ymlの書き方
- Docker Composeの使い方(Rails、MySQL、Nginxの環境構築)
- docker-composeコマンド一覧
- あわせて覚えたいDockerコマンド

まとめ:Dockerが使える環境で働こう!
Dockerを使って、開発環境を構築するまでの流れを紹介しました。
いまどき、Dockerをまったく使っていないという会社は珍しいです。
もし、あなたがそのような会社に勤めているのであれば、少し注意したほうがいいでしょう。
Dockerを使った開発がデファクトスタンダード(事実上の標準)になるなか、何もしなければそのまま時代に取り残されてしまいます。
この業界で生き残るためにも、あなたがスキルアップできる環境に身を置くことが大切ですよ。
新しい技術に対して、しっかり向き合える会社で働き、自分の価値を下げないよう気を付けましょう。
またね、キツネ(@kitaaaa_kitsune)でした!

