HOME > > >

Laradock

DockerでLaravelの開発環境を構築するためのDocker設定

環境

  • Windows 10 HOME 64bit

WindowsのエディションがHomeの場合、Docker for Windowsが使えないのでDocker Toolbox on Windowsを利用する。 インストール完了後 Docker Quickstart Terminal を起動。

  1. Starting "default"...
  2. (default) Check network to re-create if needed...
  3. (default) Windows might ask for the permission to configure a dhcp server. Sometimes, such confirmation window is minimized in the taskbar.
  4. (default) Waiting for an IP...
  5. Machine "default" was started.
  6. Waiting for SSH to be available...
  7. Detecting the provisioner...
  8. Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command.
  9. Regenerate TLS machine certs?  Warning: this is irreversible. (y/n): Regenerating TLS certificates
  10. Waiting for SSH to be available...
  11. Detecting the provisioner...
  12. Copying certs to the local machine directory...
  13. Copying certs to the remote machine...
  14. Setting Docker configuration on the remote daemon...
  15.  
  16.  
  17.  
  18.                         ##         .
  19.                   ## ## ##        ==
  20.                ## ## ## ## ##    ===
  21.            /"""""""""""""""""\___/ ===
  22.      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
  23.           \______ o           __/
  24.             \    \         __/
  25.              \____\_______/
  26.  
  27. docker is configured to use the default machine with IP 192.168.99.100
  28. For help getting started, check out the docs at https://docs.docker.com
  29.  
  30.  
  31. Start interactive shell

こんな感じで出てくればOKなはず。

ディレクトリ構成

こんな感じでproject以下にlaradockとlaravelを設置する場合の設定。

  1. \c\project\
  2.   -laradock\
  3.   -laravel\
  4.    -public\ #DocumentRoot

設定手順

Laradockインストール

プロジェクトフォルダに移動してgit clone

  1. cd /c/project
  2. git clone https://github.com/Laradock/laradock.git laradock

設定ファイル作成

laradock フォルダ内のenv-exampleを.envとしてコピーする。

  1. cd laradock
  2. cp env-example .env

.env編集

デフォルトのままだと /c/project/public がドキュメントルートになるので.envを編集

  1. # Point to the path of your applications code on your host
  2. # デフォルトをコメントアウト
  3. # APP_CODE_PATH_HOST=../
  4. APP_CODE_PATH_HOST=../laravel

起動

  1. docker-compose up -d nginx mysql phpmyadmin redis workspace

起動しているコンテナを確認

  1. $ docker ps
  2. CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                            NAMES
  3. 887439c0fd3b        laradock_nginx        "/bin/bash /opt/star…"   3 hours ago         Up 3 hours          0.0.0.0:80-81->80-81/tcp, 0.0.0.0:443->443/tcp   laradock_nginx_1
  4. 4938762d6283        laradock_php-fpm      "docker-php-entrypoi…"   3 hours ago         Up 3 hours          9000/tcp                                         laradock_php-fpm_1
  5. 7f846b3d6839        laradock_workspace    "/sbin/my_init"          3 hours ago         Up 3 hours          0.0.0.0:2222->22/tcp                             laradock_workspace_1
  6. 872905ab79b3        laradock_phpmyadmin   "/docker-entrypoint.…"   3 hours ago         Up 3 hours          0.0.0.0:8080->80/tcp                             laradock_phpmyadmin_1
  7. 67951c2a8ade        laradock_redis        "docker-entrypoint.s…"   3 hours ago         Up 3 hours          0.0.0.0:6379->6379/tcp                           laradock_redis_1

起動してる仮想マシンのIPを確認

  1. $ docker-machine.exe ls
  2. NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER     ERRORS
  3. default   *        virtualbox   Running   tcp://192.168.99.100:2376           v19.03.5

上記の場合、

http
http://192.168.99.100
phpMyAdmin
http://192.168.99.100:8080

でアクセスできる。

Workspaceコンテナへのログイン

artisanコマンドを使う場合などworkspaceコンテナにログインして実行する。

docker-compose exec workspace bash

  1. $ docker-compose exec workspace bash
  2. root@e24ad68b4c9a:/var/www# pwd
  3. /var/www
  4. root@e24ad68b4c9a:/var/www# ls -la
  5. total 1087023
  6. drwxrwxrwx 1 laradock staff       8192 Feb 11 17:02 .
  7. drwxr-xr-x 1 root     root        4096 Feb  9 18:38 ..
  8. drwxrwxrwx 1 laradock staff       4096 Feb  1 17:13 app
  9. -rwxrwxrwx 1 laradock staff       1697 Feb  1 17:13 artisan
  10. drwxrwxrwx 1 laradock staff          0 Feb  1 17:13 bootstrap
  11. -rwxrwxrwx 1 laradock staff       1836 Feb  1 17:13 composer.json
  12. -rwxrwxrwx 1 laradock staff     203744 Feb  9 07:41 composer.lock
  13. -rwxrwxrwx 1 laradock staff    1838958 Feb  1 17:13 composer.phar
  14. drwxrwxrwx 1 laradock staff       4096 Feb  1 17:13 config
  15. drwxrwxrwx 1 laradock staff          0 Feb  1 17:13 database
  16. -rwxrwxrwx 1 laradock staff        608 Feb 11 16:33 .env
  17. -rwxrwxrwx 1 laradock staff        554 Feb  1 17:13 .env.example
  18. drwxrwxrwx 1 laradock staff          0 Feb  9 20:16 .git
  19. -rwxrwxrwx 1 laradock staff        116 Feb  1 17:13 .gitattributes
  20. -rwxrwxrwx 1 laradock staff        142 Feb  1 17:13 .gitignore
  21. -rwxrwxrwx 1 laradock staff       1083 Feb  1 17:13 package.json
  22. -rwxrwxrwx 1 laradock staff       1086 Feb  1 17:13 phpunit.xml
  23. drwxrwxrwx 1 laradock staff       4096 Feb 11 16:59 public
  24. -rwxrwxrwx 1 laradock staff       3471 Feb  1 17:13 readme.md
  25. drwxrwxrwx 1 laradock staff          0 Feb  1 17:13 resources
  26. drwxrwxrwx 1 laradock staff       4096 Feb  9 07:41 routes
  27. -rwxrwxrwx 1 laradock staff        584 Feb  1 17:13 server.php
  28. drwxrwxrwx 1 laradock staff          0 Feb  1 17:13 storage
  29. drwxrwxrwx 1 laradock staff          0 Feb  1 17:13 tests
  30. drwxrwxrwx 1 laradock staff       8192 Feb 11 16:57 vendor
  31. -rwxrwxrwx 1 laradock staff        570 Feb  1 17:13 webpack.mix.js

外部ツールでssh接続する場合は下記参照

参照サイト

phpMyAdmin

ユーザー、パスワードは.envに書いてある

  1. ### PHP MY ADMIN ##########################################
  2.  
  3. # Accepted values: mariadb - mysql
  4.  
  5. PMA_DB_ENGINE=mysql
  6.  
  7. # Credentials/Port:
  8.  
  9. PMA_USER=default
  10. PMA_PASSWORD=secret
  11. PMA_ROOT_PASSWORD=secret
  12. PMA_PORT=8080

参照サイト