2017年3月5日日曜日

LaradockでLaravel開発環境を整える

とある件で、Laravelを使った開発を行う機会があったので、開発環境を整備しました。
一応、OSX(Sierra)及びWindows 10 Proで検証済です。

[前提条件]
  • git導入済
  • Docker導入済
  • ネット環境あり
この辺りは適当に・・・。

 [手順]
  1. 適当に作業用のフォルダを作成して移動。
  2. $ mkdir work
    $ cd work
    

  3. gitでlaradockをcloneして移動。
  4. $ git clone https://github.com/laradock/laradock
    $ cd laradock
    

  5. docker-composeでとりあえず、workspaceを立ち上げる。
  6. $ docker-compose up -d workspace
    
    workspaceってなんじゃい、って感じですが、Composerで何かをインストールしたり、Laravelコマンドを実行したりする場合は、workspace環境から実行するようです。

  7. workspaceの確認。
  8. $ docker-compose ps
             Name                Command      State           Ports
    -----------------------------------------------------------------------
    laradock_applications_1   /true           Exit 0
    laradock_workspace_1      /sbin/my_init   Up       0.0.0.0:2222->22/tcp
    
    問題なく立ち上がってそうです。

  9. workspaceへ入ってみる。
  10. $ docker exec -it laradock_workspace_1 /bin/bash
    root@1258840ba9fe:/var/www#
    
    「-i」が対話型(interactive)、「-t」が擬似ttyに接続する、というオプションのようですが、雰囲気sshでログインするような感じです。
    また、workspaceコンテナの「/var/www」のフォルダと1で作成した作業用のフォルダがリンクしていることがわかります。

  11. workspaceからlaravelプロジェクトを作成してみる。プロジェクト名は適当にlaraveltestを指定しています。
  12. root@1258840ba9fe:/var/www# composer create-project laravel/laravel laraveltest
    
    workspaceコンテナの「/var/www」のフォルダと作業用のフォルダがリンクされているため、プロジェクトを作ると、1で作成した作業用フォルダからも参照できることが確認できます。
    ソースコード書くときは、普通にホストWindowsかホストMac側からプロジェクト内のソースコードを変更すれば、適用される感じ、ということですね。

  13. 一旦workspaceから抜け、docker-composeを停止。
  14. root@1258840ba9fe:/var/www# exit
    $ docker-compose stop
    

  15. docker-compose.ymlの設定を一部変更する。
  16. ・docker-compose.yml(変更後)
    version: '2'
    
    services:
    
    ### Applications Code Container #############################
    
        applications:
            image: tianon/true
            volumes:
                - ../laraveltest:/var/www
    
    (以下略)
    
    「- ../:/var/www」あたりの所を、「- ../laraveltest:/var/www」に変更します。
    (作成したプロジェクト名に応じて適宜変更してください。)

  17. Apache2およびmariadbを指定して、docker-composeの起動
  18. docker-compose up -d apache2 mariadb
    
    そこそこ時間かかります。
    LaradockにはApache2やmariadb以外にも、nginxであったりMySQL等色々なイメージが含まれているので、必要に応じて指定してください。

  19. 接続確認として「http://localhost/」にアクセスしてみる。


とりあず、これでLaravelで開発できる環境ができました。
Dockerはあまり使ったことがなかったのですが、サクッと環境を共有できるのは良さそうです。

1 件のコメント:

  1. Wynn Slots for Android and iOS - Wooricasinos
    A free app for slot machines from WRI Holdings sol.edu.kg Limited that lets febcasino you play the popular https://deccasino.com/review/merit-casino/ games, such as free video wooricasinos.info slots, table games 바카라 사이트 and live casino

    返信削除