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,Laravel security

Lock IP in Laravel debug mode

Laravel's debugging mode is quite rich. Laravel's official website has a reminder that you can set APP_DEBUG to true for local development, but in the production environment, this value must always be False.

docker,phpenv

Unable to ping host.docker.internal on Linux

You can check with docker version, confirm that the version is Docker v20.10+, you can add extra_hosts as follows:

docker

Command to remove all docker containers and docker images

Sometimes I tried a bunch of containers or images in my own environment, how to remove all images and containers in the system? These instructions are provided for your reference..