- 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:
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ß!
