ホームページ  >  に質問  >  本文

请问下有人使用Docker来安装Laravel本地开发环境吗

有人使用docker来安装laravel本地环境吗,应该怎么做,安装好后怎么开发,就是一整套流程应该是什么样的?

曾经蜡笔没有小新曾经蜡笔没有小新2706日前800

全員に返信(3)返信します

  • 滿天的星座

    滿天的星座2017-04-26 09:03:45

    ご招待ありがとうございます。私の計画についてお話しさせてください。この件について少しでも役立つことを願っています。

    まず、1つのコンテナと1つのプロセスは複数のコンテナの連携によって完了することを明確にする必要があります。

    したがって、次の 4 つのコンテナが必要です:

    1. nginx

      • 機能: Web リクエストに応答し、静的ファイルを処理します。

      • 画像: 自分で構築する必要はありません。公式イメージを直接取得するだけです。

    2. php-fpm

      • 機能: PHP スクリプトを処理します。

      • ミラー: プロジェクトはさまざまな拡張機能に依存している可能性があるため、公式イメージを利用して自分でビルドする必要があります。また、コンポーザーのサポートも必要です。

    3. mysql

      • 機能: データベース。

      • 画像: 自分で構築する必要はありません。公式イメージを直接取得するだけです。

    4. レディス

      • 機能: データベースをキャッシュします。

      • 画像: 自分で構築する必要はありません。公式イメージを直接取得するだけです。

    php-fpm イメージの構築について説明します。次の点に注意する必要があります。

    • 公式の php:7.0.12-fpm イメージを直接使用できます。最初からビルドする必要はありません。最新バージョンのバージョンは選択できません。除外されました。 php:7.0.12-fpm 镜像即可,无需自己从头开始构建,版本可自行选择,不排除最新版本有 bug 的问题。

    • 不当玩具使用的话最好不要使用 alpine 系列的镜像,虽然它小巧玲珑。

    一个简单的 dockerfile 示例:

    FROM php:7.0.12-fpm
    MAINTAINER Tairy <tairyguo@gmail.com>
    
    WORKDIR /working
    RUN apt-get update --fix-missing && apt-get install -y \
        g++ autoconf bash git apt-utils libxml2-dev libcurl3-dev pkg-config \
        && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
        && echo "Asia/Shanghai" > /etc/timezone \
        && docker-php-ext-install iconv curl mbstring \
            xml json mcrypt mysqli pdo pdo_mysql zip \
        && docker-php-ext-configure gd \
            --with-gd \
            --with-freetype-dir=/usr/include/ \
            --with-png-dir=/usr/include/ \
            --with-jpeg-dir=/usr/include/ \
        && docker-php-ext-install gd \
        && docker-php-ext-enable gd \
        && pecl install /pecl/redis-3.0.0.tgz \
        && docker-php-ext-enable redis \
        && apt-get purge -y --auto-remove \
        && rm -rf /var/cache/apt/* \
        && rm -rf /var/lib/apt/lists/* \
        && rm -rf /pecl
        
    # 安装 composer
    RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
        && php composer-setup.php \
        && php -r "unlink('composer-setup.php');" \
        && mv composer.phar /usr/local/bin/composer \
        && composer self-update \
        && composer config -g repo.packagist composer https://packagist.phpcomposer.com \
        && composer global require "laravel/installer=~1.1" \
        && composer global require predis/predis \
        && wget https://phar.phpunit.de/phpunit.phar \
        && chmod +x phpunit.phar \
        && mv phpunit.phar /usr/local/bin/phpunit

    当然,构建过程中可能会遇到 GFW 的问题,可以参考我的文章做一些调整:Docker 实践(七):提升幸福感

    构建好镜像之后,多容器管理需要使用编排工具 docker-compose,所以还需要编写 docker-compose.yml

    おもちゃとして使用しない場合は、小さくて精巧ですが、alpine シリーズの画像を使用しないことをお勧めします。
    • 簡単な dockerfile の例:
    • リーリー
    • もちろん、構築プロセス中に GFW の問題が発生する可能性があります。いくつかの調整を行うには、私の記事を参照してください: Docker の実践 (7): 幸福度を向上させる

      イメージを構築した後、マルチコンテナ管理にはオーケストレーション ツール docker-compose を使用する必要があるため、docker-compose.yml ファイルも記述する必要があります。簡単な例 (メモを参照することを忘れないでください):
    • リーリー
    • 注意すべき点:

    ネットワークを必ず定義してください。

    nginx.conf、default.conf、php.ini は自分で定義してコンテナにマウントするのが最適です。

    🎜🎜タイムゾーンを設定することを忘れないでください。 🎜🎜 🎜 🎜このようにして、nginxのdefault.confファイルは次のように書くことができます:🎜 リーリー 🎜この時点で、設定作業は完了です。今後は、プロジェクト ディレクトリに移動するだけで実行できます。🎜 リーリー 🎜開発を始めることができます。とても簡単ですよね? 🎜

    返事
    0
  • 滿天的星座

    滿天的星座2017-04-26 09:03:45

    それでは、これをお勧めします
    Laradock
    また、英語を読むのが難しい場合は、学部長の記事を読むことができます...
    Laravel Academy#🎜🎜 #Ofもちろん、参考になることはたくさんあるので、Google
    に聞いたほうがいいと思います。

    返事
    0
  • phpcn_u1582

    phpcn_u15822017-04-26 09:03:45

    Github で laradock を推奨します。国内アクセラレーションを設定することを忘れないでください。そうしないと、ダウンロードが非常に遅くなります

    返事
    0
  • キャンセル返事