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.
Maintenant, jouons réellement avec le Dockerfile.
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.
C'était très facile
ensuite