有人使用docker来安装laravel本地环境吗,应该怎么做,安装好后怎么开发,就是一整套流程应该是什么样的?
滿天的星座2017-04-26 09:03:45
ご招待ありがとうございます。私の計画についてお話しさせてください。この件について少しでも役立つことを願っています。
まず、1つのコンテナと1つのプロセスは複数のコンテナの連携によって完了することを明確にする必要があります。
したがって、次の 4 つのコンテナが必要です:
nginx
機能: Web リクエストに応答し、静的ファイルを処理します。
画像: 自分で構築する必要はありません。公式イメージを直接取得するだけです。
php-fpm
機能: PHP スクリプトを処理します。
ミラー: プロジェクトはさまざまな拡張機能に依存している可能性があるため、公式イメージを利用して自分でビルドする必要があります。また、コンポーザーのサポートも必要です。
mysql
機能: データベース。
画像: 自分で構築する必要はありません。公式イメージを直接取得するだけです。
レディス
機能: データベースをキャッシュします。
画像: 自分で構築する必要はありません。公式イメージを直接取得するだけです。
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 の例:
イメージを構築した後、マルチコンテナ管理にはオーケストレーション ツール
docker-compose
を使用する必要があるため、docker-compose.yml
ファイルも記述する必要があります。簡単な例 (メモを参照することを忘れないでください):
滿天的星座2017-04-26 09:03:45
それでは、これをお勧めします
Laradock
また、英語を読むのが難しい場合は、学部長の記事を読むことができます...
Laravel Academy#🎜🎜 #Ofもちろん、参考になることはたくさんあるので、Google
に聞いたほうがいいと思います。
phpcn_u15822017-04-26 09:03:45
Github で laradock を推奨します。国内アクセラレーションを設定することを忘れないでください。そうしないと、ダウンロードが非常に遅くなります