Der Inhalt, der in diesem Artikel mit Ihnen geteilt wird, befasst sich mit der Einrichtung einer Docker-Entwicklungsumgebung für Laravel. Freunde in Not können sich darauf beziehen.
Ich habe schon lange nichts mehr geschrieben. Heute werde ich darüber sprechen, wie man eine Docker-Umgebung für die Ausführung von Laravel erstellt.
Die bekannteste auf dem Markt ist „laradock“ https://github.com/laradock/laradock
Docker PHP-Entwicklungsumgebung
Nutzungsreferenz: http: / /laradock.io
Da es „selbst gebaut“ ist, können wir darauf zurückgreifen, um den Bedarf für den Laravel-Betrieb zu minimieren.
Das Folgende sind die Grundvoraussetzungen, die ich aufgelistet habe:
Software: PHP 7.2, Nginx, MySQL, Composer, NPM oder Yarn usw.; >
Um Skalierbarkeit zu erreichen, verwenden Sie genau wie „Laradock“ die Docker-Compose-Orchestrierungsmethode, um mehrere Kernbilder zusammenzufügen.
, 7.2-fpm-alpine
,
Warte. PHP 7.2
FROM daocloud.io/php:7.2-fpm-alpine MAINTAINER coding01 <yemeishu@126.com> RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories RUN apk add --no-cache --virtual .build-deps \ $PHPIZE_DEPS \ curl-dev \ imagemagick-dev \ libtool \ libxml2-dev \ postgresql-dev \ sqlite-dev \ && apk add --no-cache \ curl \ git \ imagemagick \ mysql-client \ postgresql-libs \ && pecl install imagick \ && docker-php-ext-enable imagick \ && docker-php-ext-install \ curl \ iconv \ mbstring \ pdo \ pdo_mysql \ pdo_pgsql \ pdo_sqlite \ pcntl \ tokenizer \ xml \ zip \ && curl -s https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin/ --filename=composer \ && apk del -f .build-deps # 修改 composer 为国内镜像 RUN composer config -g repo.packagist composer https://packagist.laravel-china.org # install prestissimo RUN composer global require "hirak/prestissimo" # install laravel envoy RUN composer global require "laravel/envoy" #install laravel installer RUN composer global require "laravel/installer" RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories RUN apk update && apk add -u nodejs libpng-dev python ENV PATH /root/.yarn/bin:$PATH RUN apk update \ && apk add curl bash binutils tar \ && rm -rf /var/cache/apk/* \ && /bin/bash \ && touch ~/.bashrc \ && curl -o- -L https://yarnpkg.com/install.sh | bash \ && yarn config set registry 'https://registry.npm.taobao.org' \ && npm install -g cnpm --registry=https://registry.npm.taobao.org WORKDIR /var/www
alpine
In dem das composer
System-Plugin installiert ist, verwenden wir das nodejs
Alibaba Cloud-Image. python
yarn
Informationen zur spezifischen Verwendung finden Sie unter: https://dashboard.daocloud.io/packages/019c8dce-ec80-4468-bddc-254fc62ef5c7alpine
nginxmirrors.aliyun.com
wird hauptsächlich die Website-Konfigurationsdatei in php:7.2-fpm-alpine
geladen.
FROM daocloud.io/nginx:1.13-alpine MAINTAINER coding01 <yemeishu@126.com> ADD vhost.conf /etc/nginx/conf.d/default.conf WORKDIR /var/www
version: '2' services: # The Application app: build: context: ./ dockerfile: app.dockerfile working_dir: /var/www volumes: - ../:/var/www environment: - "DB_PORT=3306" - "DB_HOST=database" - "REDIS_HOST=redis" - "REDIS_PORT=6379" # The Web Server web: build: context: ./ dockerfile: web.dockerfile working_dir: /var/www volumes_from: - app ports: - 8080:80 # The Database database: image: daocloud.io/mysql:5.7.4 volumes: - dbdata:/var/lib/mysql environment: - "MYSQL_DATABASE=homestead" - "MYSQL_USER=homestead" - "MYSQL_PASSWORD=secret" - "MYSQL_ROOT_PASSWORD=secret" ports: - "3306:3306" redis: image: daocloud.io/library/redis:4.0.10-alpine command: redis-server --appendonly yes volumes: dbdata:
nginx
Testen Sie es erneutnginx
Erstellen Sie ein Laravel-Projekt
composer create-project laravel/laravel demo
docker-compose.yml
Hinweis: Git-KlonIm selben Ordner des vendor
Projekts, composer.lock
unser selbst erstellter „Laraveldocker“:
git clone https://github.com/fanly/laraveldocker.git
Führen Sie unser Projekt mit dem Pfad der demo
-Datei aus: git clone
app: build: context: ./ dockerfile: app.dockerfile working_dir: /var/www volumes: - ../:/var/www
aus: docker-compose.yml
docker-compose up
laraveldocker
Die ganze Geschwindigkeit ist ziemlich hoch
Als nächstes den Container betreten
docker exec -it de075c525528 bash
Mal sehen, wie man installiert Der Plug-in-Effekt:
verwendet den
Haushaltsspiegel.Hinweis: Bei diesem Spiegel handelt es sich um ein gemeinnütziges Projekt, das gemeinsam von der Laravel China-Community, Youpaiyun und Youfanyuanyang ins Leben gerufen wurde, mit dem Ziel, der Mehrheit der PHP-Benutzer stabile und schnelle Composer-Spiegelungsdienste für den Inland bereitzustellen.
Es wird empfohlen,
Referenz: http://laravel-china.org/topics/4484/composer-mirror-use-helphttps://packagist.laravel-china.org
Verwenden Sieoder
Installieren Sie das Plug-in:
yarn
cnpm
Generieren
cp .env.example .env php artisan key:generate Application key [base64:4A7VK6MEX7FakPLDSLji97kz/nyWUAWhW4wYn3gefsY=] set successfully.
Schauen wir uns als nächstes die Datenbankverbindung an und ändern Sie Laravel key secret
:
DB_CONNECTION=mysql DB_HOST=database DB_PORT=3306 DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret
Wir verwenden , um Layout-, Registrierungs- und Anmeldeansichten sowie Routen für alle Authentifizierungsschnittstellen zu generieren. Gleichzeitig wird auch
generiert, um die Anmeldeanforderung der Anwendung zu verarbeiten. Verwenden Sie, um Daten zu laden. .env
php artisan make:auth
HomeController
php artisan migrate
Schauen wir uns das Datenblatt an:
An diesem Punkt ist es bedeutet, dass wir mit
verbunden sind. Die Datenbank ist in Ordnung.Zusammenfassung
MySQL
Sie können auch mehr erfahren, indem Sie Ihre eigene Docker-Entwicklungsumgebung erstellen. Wir werden es auch in Zukunft weiter verbessern und minimieren, um den Entwicklungsanforderungen gerecht zu werden.
Analyse von URL-Zugriffsmustern in TP5
Nginx Detaillierter Konfigurationscode
Das obige ist der detaillierte Inhalt vonSo erstellen Sie selbst eine Docker-Entwicklungsumgebung für Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!