Wie richtet man ein Symfony-, Vue- oder Yarn-Projekt mit Docker ein

Wie richtet man ein Symfony-, Vue- oder Yarn-Projekt mit Docker ein
 
  1. Führen Sie die folgende Datei „docker_script.sh“ in Ihrem Terminal mit dem folgenden Befehl aus:
    bash docker_script.sh

Datei docker_script.sh:

mkdir app
  mkdir php &&
    printf "what is the name of your project directory?" &&
    read dir_name &&
    printf "FROM php:8.0-fpm
          \nRUN apt update   \\
            && apt install -y zlib1g-dev g++ git libicu-dev zip libzip-dev zip \\
            && docker-php-ext-install intl opcache pdo pdo_mysql \\
            && pecl install apcu \\
            && docker-php-ext-enable apcu \\
            && docker-php-ext-configure zip \\
            && docker-php-ext-install zip
WORKDIR /var/www/$dir_name
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN curl -sS https://get.symfony.com/cli/installer | bash
RUN git config --global user.email \"YourEmailAdres@gmail.com\" \\
        && git config --global user.name  \"Yourname\"  " >>php/Dockerfile

  mkdir nginx &&
    printf 'server {

    listen 80;
    index index.php;
    server_name localhost;
    root /var/www/%s/public;
    error_log /var/log/nginx/project_error.log;
    access_log /var/log/nginx/project_access.log;

    location / {
        try_files  $uri /index.php$is_args$args;
    }

    location ~ ^/index\\\\.php(/|$) {
        fastcgi_pass php:9000;
        fastcgi_split_path_info ^(.+\\\\.php)(/.*)$;
        include fastcgi_params;

        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;

        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;

        internal;
    }

    location ~ \\\\.php$ {
        return 404;
    }

}' $dir_name >>nginx/default.conf

  printf "
version: '3.3'

services:
  database:
    container_name: database-$dir_name
    image: mysql:8.0
    restart: always
    command: --default-authentication-plugin=mysql_native_password
    environment:
      MYSQL_ROOT_PASSWORD: your_password
      MYSQL_DATABASE: %s
      MYSQL_USER: your_user
      MYSQL_PASSWORD: your_password
    ports:
      - '4306:3306'
    volumes:
      - ./mysql:/var/lib/mysql

  php:
    container_name: php-$dir_name
    build:
      context: ./php
    ports:
      - '9000:9000'
    volumes:
      - ./app:/var/www/%s

    depends_on:
      - database

  nginx:
    container_name: nginx-$dir_name
    image: nginx:stable-alpine
    ports:
      - '8080:80'
    volumes:
      - ./app:/var/www/%s
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    depends_on:
      - php
      - database
" $dir_name $dir_name $dir_name >>./docker-compose.yml

Hinweis: Wenn Sie die Datei `docker_Script.sh` ausführen, werden Sie nach Folgendem gefragt:
Wie lautet der Name Ihres Projektverzeichnisses?
Geben Sie denselben Namen wie für das Verzeichnis an, in dem sich Ihr Projekt befindet.
Bei mir lautet das Verzeichnis meines Projekts beispielsweise „wg-app-new“.

Nach dem Ausführen der Datei „docker_script.sh“ befinden sich die folgenden Dateien und Verzeichnisse in Ihrem Projekt

Nun müssen Sie Ihren Container mit dem folgenden Befehl erstellen:

docker-compose up -d --build

Nachdem der Container erstellt wurde, sollte auf dem Terminal folgendes Ergebnis angezeigt werden:

In Docker müssen die folgenden Images in Ihrem Container vorhanden sein

Nun wechseln wir in den PHP-Container – in meinem Fall heißt er „php-wg-app-new
Führen Sie den folgenden Befehl aus, um in den Container zu wechseln:

docker container exec -it php-wg-app-new bash

Es sollte so aussehen

Nun befinden wir uns im Verzeichnis, in dem wir Symfony installieren wollen. Geben Sie einfach den folgenden Befehl ein:

composer create-project symfony/skeleton .

Der Punkt . gibt an, wo Sie Symfony installieren möchten.
Nachdem Sie Symfony installiert haben, sollten Sie beim Aufrufen von localhost:8080 die folgende Seite von Symfony sehen.

Yarn mit npm installieren:

Wir müssen zuerst npm installieren, da es im Container nicht vorhanden ist.
apt install npm

Führen Sie zur Installation von Yarn den folgenden Befehl aus:

npm install -g yarn

Jetzt müssen wir das webpack-encore-Bundle installieren

composer require symfony/webpack-encore-bundle

Nach der Installation von Encore sollten sich die folgenden Dateien in Ihren Verzeichnissen befinden.

Sie müssen VueLoader in der Webpack-Datei aktivieren

Installieren wir nun Vue mit Yarn

yarn add vue

Wenn diese Fehlermeldung angezeigt wird

Sie können diesen Befehl ausführen, um das Problem zu beheben

yarn global add n && n 14.15.0

Wenn Sie den Befehl „yarn yarn info vue version“ ausführen, sollten Sie das folgende Ergebnis erhalten, das bestätigt, dass Vue erfolgreich installiert wurde.

Ich hoffe, dieser Artikel war hilfreich. Ich habe nicht alles erklärt, da sich dieser Artikel an erfahrene Programmierer richtet. Wenn du Fragen oder Feedback hast, kannst du mir unter info @ webeface.de schreiben.

Fragst du dich wie man Shopware mit Dockware einrichtet dann schaue dir diese Artikeln hier. 

Viel Spaß!

Ähnliche Beiträge