window下Docker 搭建node.js 服务器

  1. 电脑已装好docker

  2. 开始
    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镜像,然后再创建你的镜像
    《window下Docker 搭建node.js 服务器》
    《window下Docker 搭建node.js 服务器》
    6) 查看你构建的镜像

        docker images

    7) 现在,你可以运行你的镜像了

        docker run -d --name [容器名字] -p 8888:8888 [你创建的镜像名字]:latest

    :latest(没有latest默认最新)
    8888(本地访问的端口):8888(容器服务的端口)
    8) 在浏览器打localhost:8888就可以看到啦~

  3. 移除容器命令
    docker rm -f [容器id|容器名称]

  4. 移除镜像命令
    docker rmi -f[强制移除] [镜像id|镜像名称]

  5. 参考

    原文作者:southnan0
    原文地址: https://segmentfault.com/a/1190000010909123
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞