电脑已装好docker
-
开始
1) 在你喜欢的某处,新建文件夹node/website
2) 进入website,新建package.json{ "name": "website", "version": "0.0.1", "description": "Node.js on Docker", "author": "weiqinl", "main": "server.js", "scripts": { "start": "node server.js" }, "dependencies": { "express": "^4.13.3" } }
3) 创建server.js
'use strict'; var express = require('express'); var PORT = 8888; var app = express(); app.get('/', function (req, res) { res.send('Hello world\n'); }); app.listen(PORT); console.log('Running on http://localhost:' + PORT);
4) 在node目录,创建Dockerfile(没有后缀名)
#设置基础镜像,如果本地没有该镜像,会从Docker.io服务器pull镜像 FROM node #创建app目录,保存我们的代码 RUN mkdir -p /usr/src/node #设置工作目录 WORKDIR /usr/src/node #复制所有文件到 工作目录。 COPY . /usr/src/node #编译运行node项目,使用npm安装程序的所有依赖,利用taobao的npm安装 WORKDIR /usr/src/node/website RUN npm install --registry=https://registry.npm.taobao.org #暴露container的端口 EXPOSE 8888 #运行命令 CMD ["npm", "start"]
5) 构建镜像(image)
在node目录下docker build -t [镜像名字] .
此时如果你没有pull过node的镜像,变会自动下载node镜像,然后再创建你的镜像
6) 查看你构建的镜像docker images
7) 现在,你可以运行你的镜像了
docker run -d --name [容器名字] -p 8888:8888 [你创建的镜像名字]:latest
:latest(没有latest默认最新)
8888(本地访问的端口):8888(容器服务的端口)
8) 在浏览器打localhost:8888就可以看到啦~ 移除容器命令
docker rm -f [容器id|容器名称]移除镜像命令
docker rmi -f[强制移除] [镜像id|镜像名称]
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。