by Devin Yang
(This article was automatically translated.)

Published - 7 years ago ( Updated - 7 years ago )

Foreword

When developing Laravel, sometimes we need to install the nodejs package through npm, but Node in our system is not new enough.
It may be impossible to upgrade due to some factors, such as running an old version of nodejs program, etc.
In fact, we can use docker through simple commands, so that we can use the latest version of node image to mount the /sites folder on the host side.
In this way, we can execute the new version of the npm command at any time.

docker command

When we are in the folder of dlaravel, execute the following command:
docker run --rm -v ${PWD}/sites:/sites -w /sites -ti node bash

For example using the LTS version:
docker run --rm -v ${PWD}/sites:/sites -ti node:8.11.4 node npm -v

Let me explain them one by one:
run:    to execute a new container. (Run a command in a new container)
--rm:  Automatically remove the container when it stops.  (Automatically remove the container when it exits)
-v:      Bind mount a volume. (Bind mount a volume)
          This means that the data of the sites folder on the host side will be seen in the /sites folder in the container.
-w:     The default working directory is set to /sites here, so that after we enter the container, it will be in the /sites folder, which is D-Laravel's Projects Folder.
-t:       Allocate a pseudo-TTY
-i:       Keep STDIN open even if not attached
node: is the image we want to use.
bash: We want to execute the instructions in the container.

In other words, after executing the above command, we can enter the container.

You can enter ls to view the directory of the project.
Enter the Laravel Project directory,
You can easily npm install or npm run dev.

D-Laravel command (version 1.6.6)

Confirm the D-Laravel version.
./console version
D-Laravel release v1.6.6

way of entry
./console node

It's simpler, and when you use ./console alias to set it as an alias, it is equally effective and can be executed in any directory.






 

Tags: docker laravel

Devin Yang

Feel free to ask me, if you don't get it.:)

No Comment

Post your comment

Login is required to leave comments

Similar Stories


laravel,sftp

Use Laravel's Storage SFTP Drvier for remote file upload

Why do I separate the front and back of the website? My idea is very simple, that is to rely on a set of background to control all the website data in the foreground. Assuming that the front-end website is a pure marketing website, it is nothing more than the subject content, just like the article above, without any particularly complicated logic. Therefore, it is enough to set up the backend database and connect different frontends. Then there is the last question, how can my backend HTML editor post pictures directly to the frontend? Laravel's Storage SFT Driver is a good antidote.

d-laravel, docker, laravel, docker-compose

D-Laravel v1.0.0 release change description

In order to allow the container to be used more flexibly, D-Laravel has released version v1.0.0, which is not backward compatible. https://github.com/DevinY/dlaravel/releases/tag/v1.0.0 If you are using before v1.0.0, you need to modify the .env file of the Laravel project, change DB_HOST=127.0.0.1 to DB_HOST=db If you have a custom docker-compose-custom.yml file....more

dlaravel

Super easy to use HTML to PDF kit mpdf introduction

During development, will it be necessary to output HTML to PDF? This video introduces how to output PDF on the screen through the mpdf library of php.