1 在本地myapp文件夹下配置几个文件
//app.jsconst koa = require("koa");const app = new koa();const router = require("koa-router")();router.get("/",async ctx=>{ctx.body = {code:200,msg:"hello aliyun"}})app.use(router.routes())app.listen(8080);
//package.json{"name": "data","version": "1.0.0","description": "","main": "app.js","scripts": {"start": "node app.js"},"keywords": [],"author": "","license": "ISC","dependencies": {"koa": "^2.13.1","koa-router": "^10.0.0"}}
//Dockerfile 使用这个文件构建一个镜像# 引入NodeFROM node:latest# 在容器内创建工作目录RUN mkdir -p /app# 指定容器工作目录WORKDIR /app#将当前目录下的所有文件,都拷贝进入 image 文件的/app目录。COPY . /appRUN npm install --registry=https://registry.npm.taobao.orgRUN npm install pm2 -g --registry=https://registry.npm.taobao.org#对外暴露的端口EXPOSE 8080#程序启动脚本CMD ["pm2-runtime", "app.js"]
2 Linux上构建镜像
在Dockerfile同级路径下执行如下命令构建镜像
docker build -t myapp .
3 启动容器
docker run -d -p 8082:8080 --name myapp myapp
1.使用myapp这个镜像去启动一个容器2.主机器的8080端口映射到8080,8080端口也就是我们的Dockerfile对外暴露的接口。3.-d表示后台运行。-p表示指定端口映射
docker stop xxx //停止容器docker rm xxx //删除容器
