『自由力』を身に付けるサイト「リバトレ」も見てね!!

DockerとLaradockで環境構築してみた!Windows10編!

悩んでいる男の子

DockerとLaradockで環境構築してみたいんだけど、やり方を教えてもらえないかな?
具体的な手順があると嬉しいな。

こんな悩みを解決します。

  • 本記事の内容
  • Docker×Laradock導入手順
  • 画像&ソース付きの具体的な手順
  • 本記事の執筆者
プロフィール
どこの写真だよ
  • 長身ガリガリ自称イケメン(1993/4/1生)
  • 元エンジニア(歴7年)、資格保有数約20個(IT系以外も含む)
  • 副業(物販)5か月目で月利30万円⇒脱サラ
  • 物販、システム開発、アフィリエイト、投資を細々とやっています。
  • 物販は彼女と楽しみながらやってます!

今回は、DockerとLaradockで環境構築します

目次

環境

  • Windows10

前提

  • Hyper-VがONになっていること

[コントロールパネル] → [プログラム] → [Windowsの機能の有効化または無効化]から確認できます。

事前準備

  • Docker for Windows
  • Git

が必要ですのでインストールしておいてください。

Docker×Laradock導入手順

早速導入していきます。

ドライブを共有する

dockerドライブ共有

フォルダ作成

mkdir docker-laravel

先ほど共有したドライブの任意の場所にフォルダを作成します。

今回はCドライブ直下に作成しました。

Laradockをクローン

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

Laradockフォルダに移動

cd laradock

Laradockのenvファイルをコピー

cp env-example .env

docker-composeで諸々起動

docker-compose up -d nginx postgres workspace

起動確認

C:\docker-laravel\laradock> docker-compose ps
           Name                          Command              State                                   Ports
-------------------------------------------------------------------------------------------------------------------------------------------
laradock_docker-in-docker_1   dockerd-entrypoint.sh           Up       2375/tcp, 2376/tcp
laradock_nginx_1              /bin/bash /opt/startup.sh       Up       0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp, 0.0.0.0:81->81/tcp
laradock_php-fpm_1            docker-php-entrypoint php-fpm   Up       9000/tcp
laradock_postgres_1           docker-entrypoint.sh postgres   Exit 1
laradock_workspace_1          /sbin/my_init                   Up       0.0.0.0:2222->22/tcp, 0.0.0.0:8001->8000/tcp, 0.0.0.0:8080->8080/tcp

Postgresだけ「Exit 1」になっていますが、まだ設定をしていないので問題ありません。

ワークスペースに入る

docker-compose exec --user=laradock workspace bash

laravelアプリをインストール

laradock@fc843a433038:/var/www$ composer create-project --prefer-dist laravel/laravel laravel-app "5.5.*"

今回は「laravel-app」にしました。

Composer等のコマンドもデフォルトでインストールされているので、すぐ使えます。

フォルダ構成

フォルダ構成

上記のような構成でフォルダが出来ていればOKです。

コンテナ脱出

laradock@fc843a433038:/var/www$ exit

Laradockのenvファイルを修正

APP_CODE_PATH_HOST=../laravel-app/

laradock/.env」の記述を上記のように修正します。

「laravel-app」は先ほどインストールしたLaravelアプリ名です。

docker-composeを一旦停止

docker-compose stop

docker-composeを再度起動

docker-compose up -d nginx postgres workspace

アクセスして動作確認

http://localhost/」にアクセスしてLaravelのデフォルト画面が表示されればOKです。

Postgres設定

POSTGRES_DB=test_db
POSTGRES_USER=test_user
POSTGRES_PASSWORD=secret
POSTGRES_PORT=54320

Laradockの「.env」の331行目辺りにあるPostgresの設定を編集します。

すべて任意の値で問題ないですが、ポートは念のため「5432」から変更した方が良いです。

DB_HOST=postgres

Laradockの「.env」の最終行に上記を追加します。

DB_CONNECTION=pgsql
DB_HOST=postgres
DB_PORT=5432
DB_DATABASE=test_db
DB_USERNAME=test_user
DB_PASSWORD=secret

laravel-appの「.env」の設定を編集します。

ポートは「5432」です。
「5432」が「54320」にフォワーディングされるためです。

docker-compose.ymlの修正

### PostgreSQL ###########################################
    postgres:
      build:
        context: ./postgres
        args:
          - POSTGRES_VERSION=${POSTGRES_VERSION}
      volumes:
        - ${DATA_PATH_HOST}/postgres:/var/lib/postgresql

デフォルトでは「/var/lib/postgresql/data」と記載があるので、「/data」を削除します。

これをやらないとPostgresが立ち上がりません。

docker-composeを一旦停止

docker-compose stop

docker-composeを再度起動

docker-compose up -d nginx postgres workspace

起動確認

C:\docker-laravel\laradock> docker-compose ps
           Name                          Command              State                                  Ports
------------------------------------------------------------------------------------------------------------------------------------------
laradock_docker-in-docker_1   dockerd-entrypoint.sh           Up      2375/tcp, 2376/tcp
laradock_nginx_1              /bin/bash /opt/startup.sh       Up      0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp, 0.0.0.0:81->81/tcp
laradock_php-fpm_1            docker-php-entrypoint php-fpm   Up      9000/tcp
laradock_postgres_1           docker-entrypoint.sh postgres   Up      0.0.0.0:54320->5432/tcp
laradock_workspace_1          /sbin/my_init                   Up      0.0.0.0:2222->22/tcp, 0.0.0.0:8001->8000/tcp, 0.0.0.0:8080->8080/tcp

ワークスペースに入る

docker-compose exec --user=laradock workspace bash

psqlコマンドで接続確認

laradock@166d6d4773e7:/var/www$ psql -h postgres -d test_db -U test_user
Password for user test_user:
psql (9.5.19, server 12.2)
WARNING: psql major version 9.5, server major version 12.
         Some psql features might not work.
Type "help" for help.

test_db=#

php artisan migrate

laradock@166d6d4773e7:/var/www$ php artisan migrate

うまくいけばOKです!

A5でホストOSから接続確認

A5接続

上記のように設定すれば接続できます。

まとめ

今回は、DockerとLaradockで環境構築しました

少し詰まる部分もありましたが、意外と簡単でしたね。

ではまた!

  • おススメ本はこちら!
いずみん

僕は↓の本でDockerの勉強をしました!
非常に分かりやすいので是非!

この記事が気に入ったら
フォローしてね!

シェアするんやで!

~ リバトレ ~

お金や副業に関する情報を発信しているよ!

この記事を書いた人

いずみんのアバター いずみん 自由力発信おじ

【自由力発信】うさんくさ笑 | 副業物販で5ヶ月目に月利30万円達成⇨脱サラ予定 | 物販(アパレルせどり)・アフィリエイト・投資で自由になるための情報を発信中?笑 | 元エンジニア | 保有資格約20個

関連記事

コメント

コメントする

目次
閉じる