STEP1-4.【Windows】Dockerと開発環境の作り方

本課題では実機に直接開発環境をインストールせずに、「Docker」と呼ばれるコンテナ型仮想化技術を用いて開発環境を構築します。
Dockerを用いることによって従来型の仮想化技術のようにハードウェアの機能をすべてソフトウェアで実装するという高度な仕組みが不要になります。そのためDockerを用いることによって、高速で移植性の高い環境が容易に構築可能となります。

Dockerについての詳細な説明は割愛します。
まずは下記の手順に従ってDockerで開発環境を構築してみましょう。

【Windows】Dockerによる環境構築手順

Dockerのダウンロード・インストール手順

  • こちらにアクセスし、「Get Docker Toolbox for Windows」ボタンからDockerをダウンロードしてください。
  • ダウンロードしたファイルを実行してDockerをインストールしてください。インストール画面ではすべてデフォルトの選択肢のままインストールを進めてください。
  • インストールが完了したら「Docker Quickstart Terminal」ショートカットを実行し、Docker用のターミナルを起動しましょう。
  • 起動したターミナル内で下記のコマンドを実行してDockerの動作を確認してみましょう。Dockerのバージョン情報が出力されます。
    $ docker -v
    Docker version 18.03.0-ce, build 0520e24302
    
  • こちらのコマンドも実行してみましょう。
    $ docker-compose -v
    docker-compose version 1.20.1, build 5d8c71b2
    

Dockerによる開発環境の構築手順(PHP・PostgreSQL・Nginx・pgAdmin)

Dockerを使用して構築済みの開発環境をローカルマシンに導入します。

  • こちらの「Clone or download」ボタンを押下し、「Download Zip」ボタン押下で開発環境をダウンロードします。
  • ダウンロードしたファイルを任意の場所に解凍してください(Windowsの場合、権限エラーでdockerコンテナが起動しないことがあるので、回答フォルダは、Windowsにログインしているユーザーの階層下「C:\Users\yuuu1\より下」にしてください)。
  • ターミナルを開き解凍したフォルダーに移動します(以下はC:\Users\yuuu1\Downloads\で解凍した例)。

    // 解凍したフォルダーに移動するコマンド
    $ cd ~/Downloads/skillup-php-step1-master
    
  • 移動したら以下のコマンドでコンテナを作成・開始します

$ docker-compose up -d
// 最終的に以下の表示になれば成功
Creating skillup-php-step1-master_php_1   ... done
Creating skillup-php-step1-master_nginx_1      ... done
Creating skillup-php-step1_pgsql_1   ... done
Creating skillup-php-step1_pgadmin_1 ... done
  • 「docker ps」コマンドを入力し作成されたコンテナの一覧を確認します。「docker-compose up -d」コマンドが成功していたら以下のようにコンテナの一覧が表示される。
$ docker ps
// 以下のような表示になれば成功
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS                           NAMES
5a51c057e9d3        nginx                     "nginx -g 'daemon of…"   9 minutes ago       Up 9 minutes        0.0.0.0:9000->80/tcp            skillup-php-step1_nginx_1
3e5b91bd2d2d        skillup-php-step1_php     "docker-php-entrypoi…"   9 minutes ago       Up 9 minutes        9000/tcp                        skillup-php-step1_php_1
b1a75d41e914        dpage/pgadmin4            "/entrypoint.sh"         9 minutes ago       Up 9 minutes        443/tcp, 0.0.0.0:5050->80/tcp   skillup-php-step1_pgadmin_1
e961862278a7        skillup-php-step1_pgsql   "docker-entrypoint.s…"   9 minutes ago       Up 5 minutes        0.0.0.0:5432->5432/tcp          skillup-php-step1_pgsql_1
  • この時点で開発環境が正常に立ち上がっているはずなので実際に動作できるか確認してみましょう。以下のコマンドを実行し、Docker環境のIPアドレスを確認します。
$ docker-machine ip
192.168.99.100 ← Docker環境のIPアドレス
$ docker-compose down
// 以下の表示になれば成功
Stopping skillup-php-step1_nginx_1   ... done
Stopping skillup-php-step1_php_1     ... done
Stopping skillup-php-step1_pgadmin_1 ... done
Stopping skillup-php-step1_pgsql_1   ... done
Removing skillup-php-step1_nginx_1   ... done
Removing skillup-php-step1_php_1     ... done
Removing skillup-php-step1_pgadmin_1 ... done
Removing skillup-php-step1_pgsql_1   ... done
Removing network skillup-php-step1_default
  • 「docker ps」コマンドを入力し一覧を確認します。先ほど作成したコンテナが表示されなくなっています。
$ docker ps
// 以下の表示になれば成功
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS                            NAMES

results matching ""

    No results matching ""