|
@@ -29,30 +29,19 @@ $ docker run -it --rm --name my-running-app my-nodejs-app
|
|
|
|
|
|
### Notes
|
|
### Notes
|
|
|
|
|
|
-The image assumes that your application has a file named
|
|
|
|
-[`package.json`](https://docs.npmjs.com/files/package.json) listing its
|
|
|
|
-dependencies and defining its [start
|
|
|
|
-script](https://docs.npmjs.com/misc/scripts#default-values).
|
|
|
|
|
|
+The image assumes that your application has a file named [`package.json`](https://docs.npmjs.com/files/package.json) listing its dependencies and defining its [start script](https://docs.npmjs.com/misc/scripts#default-values).
|
|
|
|
|
|
It also assumes that you have a file named [`.dockerignore`](https://docs.docker.com/engine/reference/builder/#/dockerignore-file) otherwise it will copy your local npm modules:
|
|
It also assumes that you have a file named [`.dockerignore`](https://docs.docker.com/engine/reference/builder/#/dockerignore-file) otherwise it will copy your local npm modules:
|
|
|
|
|
|
-```
|
|
|
|
-node_modules
|
|
|
|
-```
|
|
|
|
|
|
+ node_modules
|
|
|
|
|
|
We have assembled a [Best Practices Guide](https://github.com/nodejs/docker-node/blob/master/docs/BestPractices.md) for those using these images on a daily basis.
|
|
We have assembled a [Best Practices Guide](https://github.com/nodejs/docker-node/blob/master/docs/BestPractices.md) for those using these images on a daily basis.
|
|
|
|
|
|
-All of the images contain pre-installed versions of `node`,
|
|
|
|
-[`npm`](https://www.npmjs.com/), and [`yarn`](https://yarnpkg.com). For each
|
|
|
|
-supported architecture, the supported variants are different. In the file
|
|
|
|
-[architectures](https://github.com/nodejs/docker-node/blob/master/architectures),
|
|
|
|
-it lists all supported variants for all of the architectures that we support now.
|
|
|
|
|
|
+All of the images contain pre-installed versions of `node`, [`npm`](https://www.npmjs.com/), and [`yarn`](https://yarnpkg.com). For each supported architecture, the supported variants are different. In the file [architectures](https://github.com/nodejs/docker-node/blob/master/architectures), it lists all supported variants for all of the architectures that we support now.
|
|
|
|
|
|
## Run a single Node.js script
|
|
## Run a single Node.js script
|
|
|
|
|
|
-For many simple, single file projects, you may find it inconvenient to write a
|
|
|
|
-complete `Dockerfile`. In such cases, you can run a Node.js script by using the
|
|
|
|
-Node.js Docker image directly:
|
|
|
|
|
|
+For many simple, single file projects, you may find it inconvenient to write a complete `Dockerfile`. In such cases, you can run a Node.js script by using the Node.js Docker image directly:
|
|
|
|
|
|
```console
|
|
```console
|
|
$ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/app -w /usr/src/app node:4 node your-daemon-or-script.js
|
|
$ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/app -w /usr/src/app node:4 node your-daemon-or-script.js
|
|
@@ -60,45 +49,28 @@ $ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/app -w /usr/sr
|
|
|
|
|
|
## Verbosity
|
|
## Verbosity
|
|
|
|
|
|
-By default the Node.js Docker Image has npm log verbosity set to `info` instead
|
|
|
|
-of the default `warn`. This is because of the way Docker is isolated from the
|
|
|
|
-host operating system and you are not guaranteed to be able to retrieve the
|
|
|
|
-`npm-debug.log` file when npm fails.
|
|
|
|
|
|
+By default the Node.js Docker Image has npm log verbosity set to `info` instead of the default `warn`. This is because of the way Docker is isolated from the host operating system and you are not guaranteed to be able to retrieve the `npm-debug.log` file when npm fails.
|
|
|
|
|
|
-When npm fails, it writes it's verbose log to a log file inside the container.
|
|
|
|
-If npm fails during an install when building a Docker Image with the `docker
|
|
|
|
-build` command, this log file will become inaccessible when Docker exits.
|
|
|
|
|
|
+When npm fails, it writes it's verbose log to a log file inside the container. If npm fails during an install when building a Docker Image with the `docker build` command, this log file will become inaccessible when Docker exits.
|
|
|
|
|
|
-The Docker Working Group have chosen to be overly verbose during a build to
|
|
|
|
-provide an easy audit trail when install fails. If you prefer npm to be less
|
|
|
|
-verbose you can easily reset the verbosity of npm using the following
|
|
|
|
-techniques:
|
|
|
|
|
|
+The Docker Working Group have chosen to be overly verbose during a build to provide an easy audit trail when install fails. If you prefer npm to be less verbose you can easily reset the verbosity of npm using the following techniques:
|
|
|
|
|
|
### Dockerfile
|
|
### Dockerfile
|
|
|
|
|
|
-If you create your own `Dockerfile` which inherits from the `node` image you can
|
|
|
|
-simply use `ENV` to override `NPM_CONFIG_LOGLEVEL`.
|
|
|
|
|
|
+If you create your own `Dockerfile` which inherits from the `node` image you can simply use `ENV` to override `NPM_CONFIG_LOGLEVEL`.
|
|
|
|
|
|
-```
|
|
|
|
-FROM node
|
|
|
|
-ENV NPM_CONFIG_LOGLEVEL warn
|
|
|
|
-...
|
|
|
|
-```
|
|
|
|
|
|
+ FROM node
|
|
|
|
+ ENV NPM_CONFIG_LOGLEVEL warn
|
|
|
|
+ ...
|
|
|
|
|
|
### Docker Run
|
|
### Docker Run
|
|
|
|
|
|
-If you run the node image using `docker run` you can use the `-e` flag to
|
|
|
|
-override `NPM_CONFIG_LOGLEVEL`.
|
|
|
|
|
|
+If you run the node image using `docker run` you can use the `-e` flag to override `NPM_CONFIG_LOGLEVEL`.
|
|
|
|
|
|
-```
|
|
|
|
-$ docker run -e NPM_CONFIG_LOGLEVEL=warn node ...
|
|
|
|
-```
|
|
|
|
|
|
+ $ docker run -e NPM_CONFIG_LOGLEVEL=warn node ...
|
|
|
|
|
|
### NPM run
|
|
### NPM run
|
|
|
|
|
|
-If you are running npm commands you can use `--loglevel` to control the
|
|
|
|
-verbosity of the output.
|
|
|
|
|
|
+If you are running npm commands you can use `--loglevel` to control the verbosity of the output.
|
|
|
|
|
|
-```
|
|
|
|
-$ docker run node npm --loglevel=warn ...
|
|
|
|
-```
|
|
|
|
|
|
+ $ docker run node npm --loglevel=warn ...
|