(Docker Toolbox)Laradockを利用したインストール

Docker Toolboxの場合は、以下の手順でlaradockのインストールを行います。

laradockのリポジトリのクローン

MyDockerディレクトリに移動します。

cd ~/MyDocker

laravel練習用のディレクトリとして laravel_sampleを作成し、移動します。

mkdir laravel_sample
cd laravel_sample

gitを利用して

git clone https://github.com/LaraDock/laradock.git

としてlaradockのリポジトリからクローン(ダウンロード)します。

laradockのcompose

正しくクローンが完了すると、laravel_sampleディレクトリ内にlaradockディレクトリが作成されます。

cd laradock

上記のコマンドでlaradockディレクトリに移動し、

環境設定ファイルを

cp env-example .env

上記のコマンドで作成します。
(cp は bashコマンドの一つで、ファイルをコピーするコマンドです。
ここではenv-exampleというファイルをコピーして、
「.env」という名前で保存しています。)

その後

docker-compose up -d workspace

として、新たなワークスペースを立ち上げ(conpose)ます。 laradockの初回起動の際にはイメージのダウンロードのために
10分程度かかりますので気長に待ちましょう。

laradockの起動確認

docker-compose ps

上記のコマンドで laradock_workspace_1 という環境があれば起動成功です。

laradockにbashでログイン

docker exec -it --user=laradock laradock_workspace_1 bash

を実行すると、作成したlaradockの環境にログインします。

(上記のコマンドでは、--userオプションで、 ログインするユーザーをrootからlaradockに変更しています。)

pwd

上記のコマンドを実行し /var/www にいればOKです。 もし別のディレクトリにいる場合には

cd /var/www

上記のコマンドで移動しておきましょう。

laravelでプロジェクト作成

composer create-project laravel/laravel [プロジェクト名] --prefer-dist [バージョン指定]

上記のコマンドで、作成した環境内にlaravelプロジェクトを作成することができます。

今回は

composer create-project laravel/laravel sample_app --prefer-dist "5.5.*"

として、

  • プロジェクト名: sample_app
  • バージョン: Laravel 5.5 の最新版

でプロジェクトを作成しましょう。

laradockの停止

プロジェクトの作成が完了したら

exit

上記のコマンドで一旦docker環境を抜けてから、

docker-compose stop

上記のコマンドで一旦laradock環境を停止しましょう。 (laradockの設定変更を完了後、再度起動します。 docker-compose stopは、コンテナを削除せずに一旦停止するコマンドです。)

laradockの設定変更

.envの修正

laradockフォルダ内の.envを修正します。

APP_CODE_PATH_HOSTの修正

APP_CODE_PATH_HOST=../

と書かれた箇所があるので

APP_CODE_PATH_HOST=../sample_app

としましょう。

DATA_PATH_HOSTの修正

DATA_PATH_HOST=~/.laradock/data

と書かれた箇所があるので

DATA_PATH_HOST=../data

としましょう。

MYSQL_VERSIONの修正

さらに

MYSQL_VERSION=latest

と書かれた箇所があるので

MYSQL_VERSION=5.7

に変更しましょう。

docker-compose.ymlの修正

docker-compose.yml内の

### MySQL ################################################
    mysql:
      build:
        context: ./mysql
        args:
          - MYSQL_VERSION=${MYSQL_VERSION}
      environment:
        - MYSQL_DATABASE=${MYSQL_DATABASE}
        - MYSQL_USER=${MYSQL_USER}
        - MYSQL_PASSWORD=${MYSQL_PASSWORD}
        - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
        - TZ=${WORKSPACE_TIMEZONE}
      volumes:
        - ${DATA_PATH_HOST}/mysql:/var/lib/mysql
        - ${MYSQL_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
      ports:
        - "${MYSQL_PORT}:3306"
      networks:
        - backend

という箇所について

### MySQL ################################################
    mysql:
      build:
        context: ./mysql
        args:
          - MYSQL_VERSION=${MYSQL_VERSION}
      environment:
        - MYSQL_DATABASE=${MYSQL_DATABASE}
        - MYSQL_USER=${MYSQL_USER}
        - MYSQL_PASSWORD=${MYSQL_PASSWORD}
        - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
        - TZ=${WORKSPACE_TIMEZONE}
      volumes:
        - ${DATA_PATH_HOST}/mysql:/var/lib/mysql
        - ${MYSQL_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
      command: --innodb-use-native-aio=0
      ports:
        - "${MYSQL_PORT}:3306"
      networks:
        - backend

とcommand行を追加しておきましょう。 (Windowsの場合、上記の追記がないとmysqlコンテナ内のmysqlサーバ起動に失敗する場合があります。)

laradockの(再度)起動

docker-compose up -d workspace nginx mysql phpmyadmin

上記のコマンドを実行し 各コンテナが立ち上がった時点で

今まで利用していたdockerのipアドレスににアクセスしてみましょう。 ( docker-machine ip default コマンドで確認可能です。)

laravelのスタート画面が表示されればOKです。

起動に失敗する場合: PMA_HOSTの修正

laradockのバージョンによっては、phpmyadminとworkspaceで利用するポート番号8080の重複により起動に失敗する場合があります。

その場合、.envに

PMA_PORT=8080

と書かれた箇所があるので

PMA_PORT=8888

としましょう。

その上で、docker-compose downしたあと 再度

docker-compose up -d workspace nginx mysql phpmyadmin

で起動してください。

なお、上記を実行した場合、以下のphpmyadminへのアクセスは8888ポートを利用してください。

phpmyadminへのアクセス

phpmyadminは

http://(dockerのipアドレス):8080

からアクセス可能です。

  • サーバ: mysql
  • ユーザ名: default
  • パスワード: secret

でログインすることが可能です。

defaultというDBがlaravelで利用するDBとなります。

results matching ""

    No results matching ""