Pourquoi n'incluez-vous pas Vue.js dans le Laravel de Docker! !!

"Introduction"

J'ai construit un environnement Laravel + Apach + MySQL avec article précédent, mais je veux utiliser Vue.js pour mon front. J'ai oublié que j'avais pensé cela, et après avoir posté, j'ai modifié le Dockerfile et l'ai reconstruit, donc je vais le partager aussi.

Modification de "Dockerfile"

Maintenant, jouons réellement avec le Dockerfile.

Incluez node.js pour installer Vue.js

En premier lieu, au lieu de décrire l'installation de Vue.js dans le Dockerfile, insérez node.js pour le moment, construisez-le, puis effectuez l'installation de npm. Donc, à partir de là, je vais entrer les commandes pour installer node.js.

FROM php:7.4-apache

ADD php.ini /usr/local/etc/php/
ADD 000-default.conf /etc/apache2/sites-enabled/

RUN cd /usr/bin && curl -s http://getcomposer.org/installer | php && ln -s /usr/bin/composer.phar /usr/bin/composer

RUN apt-get update \
    && apt-get install -y \
    git \
    zip \
    unzip \
    vim \
    libpng-dev \
    libpq-dev \
    gnupg \
    && docker-php-ext-install pdo_mysql

#Ajouter à partir d'ici
RUN curl -sL https://deb.nodesource.com/setup_11.x | bash -
RUN apt-get install -y nodejs
RUN npm install npm@latest -g
#Ajouter ici

RUN mv /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled
RUN /bin/sh -c a2enmod rewrite

Oui, c'est simple. La technologie est vraiment incroyable, n'est-ce pas? (Autre personnel) Il semble que mon environnement est Ubuntu et qu'il est différent, donc c'est un peu plus de travail.

Il n'y a pas de mal à terminer avec ceci, mais j'ajouterai M. Sudo, qui est utile. (Cela signifie sudo)

FROM php:7.4-apache

ADD php.ini /usr/local/etc/php/
ADD 000-default.conf /etc/apache2/sites-enabled/

RUN cd /usr/bin && curl -s http://getcomposer.org/installer | php && ln -s /usr/bin/composer.phar /usr/bin/composer

RUN apt-get update \
    && apt-get install -y \
    git \
    zip \
    unzip \
    vim \
    libpng-dev \
    libpq-dev \
    gnupg \
    && docker-php-ext-install pdo_mysql

RUN curl -sL https://deb.nodesource.com/setup_11.x | bash -
RUN apt-get install -y nodejs
RUN npm install npm@latest -g
#Ajouter à partir d'ici
RUN apt-get install -y sudo
#Ajouter ici

RUN mv /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled
RUN /bin/sh -c a2enmod rewrite

Avec cela, M. Sudo a également été ajouté. Construisez-le à nouveau.

> docker-compose build
> docker-compose up -d
> docker -it exec "Nom du conteneur" bash

Vérifiez s'il a été réellement installé.

root@xxxxxxxxxxxx:/var/www/html# sudo --version
Sudo version 1.8.27
root@xxxxxxxxxxxx:/var/www/html# npm --version
6.14.8

Il ne vous reste plus qu'à ajouter Vue.js. De là, nous éditerons package.json dans le projet Laravel que nous avons réellement créé.

{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch": "npm run development -- --watch",
        "watch-poll": "npm run watch -- --watch-poll",
        "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --disable-host-check --config=node_modules/laravel-mix/setup/webpack.config.js",
        "prod": "npm run production",
        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    },
    "devDependencies": {
        "axios": "^0.19",
        "cross-env": "^7.0",
        "laravel-mix": "^5.0.1",
        "lodash": "^4.17.19",
        "resolve-url-loader": "^3.1.0",
        "sass": "^1.15.2",
        "sass-loader": "^8.0.0", 
        "vue": "^2.6.11",⇐ Ajouter
        "vue-template-compiler": "^2.6.11"⇐ Ajouter
    }
}

Une fois ajouté, il sera dans le conteneur avec le projet laravel

> docker exec -it "Nom du conteneur" bash

Parce qu'il va dans / var / www / html

root@xxxxxxxxxxx::/var/www/html# cd "Nom du projet"
root@xxxxxxxxxxx::/var/www/html/"Nom du projet"# npm install

Vous pouvez maintenant utiliser Vue.

"Sommaire"

C'était très facile

ensuite

Recommended Posts

Pourquoi n'incluez-vous pas Vue.js dans le Laravel de Docker! !!
Créez un environnement de développement Docker + Laravel PHP + Vue.js en 5 minutes
Pourquoi vous avez besoin de setter / getter en premier lieu