使用 Docker Node 镜像运行项目

67 阅读1分钟

1. 拉取镜像

先从 Docker Hub 上把 Node 镜像 pull 到本地.

docker pull node

$ docker pull node
Using default tag: latest
latest: Pulling from library/node
61be48634cb9: Pull complete 
fa696905a590: Pull complete 
b6dd2322bbef: Pull complete 
32477089adb4: Pull complete 
febe7209ec28: Pull complete 
4364cbe57162: Pull complete 
437859acfd49: Pull complete 
d8268e1e433b: Pull complete 
Digest: sha256:00a7fb3df8e94ed24f42c2920f132f06e92ea5ed69b1c5e53c4bb3d20e85a3e2
Status: Downloaded newer image for node:latest

2. 下载成功后,终端中查看

docker images

$ docker images 
REPOSITORY                              TAG                 IMAGE ID            CREATED             SIZE
node                                    latest              a2b9536415c2        2 weeks ago         674MB
...

3. 交互模式运行镜像,使用 -v 映射当前目录到容器中的 workspace 目录

docker run -ti --name node-1 -v $(pwd):/workspace node bash

$ docker run -ti --name node-1 -v $(pwd):/workspace node bash
root@7dc31bb3344b:/# ls
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr  workspace
root@7dc31bb3344b:/# cd workspace/  
root@7dc31bb3344b:/workspace# cd Project-Server/
root@7dc31bb3344b:/workspace/Project-Server# ls
JS  WeWoAppEngine  package.json  server.js
root@7dc31bb3344b:/workspace/Project-Server# cd JS/
root@7dc31bb3344b:/workspace/Project-Server/JS# ls
call.js  index.js  package.json  yarn.lock

4.查看 node yarn npm 版本号

root@7dc31bb3344b:/workspace/Project-Server/JS# node -v
v10.12.0
root@7dc31bb3344b:/workspace/Project-Server/JS# yarn -v
1.10.1
root@7dc31bb3344b:/workspace/Project-Server/JS# npm -v
6.4.1

5. 在项目前端工程目录下执行 yarn install 安装依赖

root@7dc31bb3344b:/workspace/Project-Server/JS# yarn install
yarn install v1.10.1
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
warning Your current version of Yarn is out of date. The latest version is "1.12.1", while you're on "1.10.1".
info To upgrade, run the following command:
$ curl --compressed -o- -L https://yarnpkg.com/install.sh | bash
Done in 5.86s.

6. 运行程序脚本

node index.js

root@7dc31bb3344b:/workspace/Project-Server/JS# node index.js
running ...

npm run serve 运行前端项目, 需要映射对应的端口,否则无法在容器外访问

docker run -ti -p 8080:8080 --name node-1 -v $(pwd):/workspace node bash


Node 官方镜像地址: hub.docker.com/r/_/node/