zoukankan      html  css  js  c++  java
  • docker使(二)—发布node应用镜像和容器

    应用在本地是已经ok的了,现在将node应用放进docker容器里面

    获取node镜像

    docker pull node
    

    编写Dokerfile

    # 根据node镜像开始创建新的镜像(可以加上:tag)
    FROM node
    
    # 用于在Image里创建一个文件夹并用来保存我们的代码
    #-P:将容器内部使用的网络端口映射到我们使用的主机上
    RUN mkdir -p /home/service
    
    # 将我们创建的文件夹做为工作目录
    WORKDIR /home/service
    
    # 把本机当前目录下的所有文件拷贝到Image的/home/Service文件夹下
    COPY . /home/service
    # 使用npm 安装我们的app据需要的所有依赖
    RUN npm install
    
    EXPOSE 80
    
    CMD ['npm','start']
    
    #注意这里容器暴露的是80端口,应用服务的监听端口也应该是80端口
    
    #为了避免node_modules里面的文件也copy,我设置了.dockerignore
    
    

    制作镜像

    
    docker build -t aad_serve:0.0.1 .
    (注意最后的.)
    -t :指定要创建的目标镜像名
    
    . :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径
    
    自己设置端口
    
    

    使用镜像创建容器并启动node应用

    # 方法一:让docker自己映射端口
    docker run -d -p  aad_serve:0.0.1  node app.js
    
    
    # 方法二:自己配置映射端口
    docker run -d -p 100:80 aad_serve:0.0.2  node app.js
    (注意100:80的意思是,将主机的100端口和容器的80d端口做映射)
    

    现在可以在主机访问http://localhost:100

    容器的停止和删除

    如果cmd终端不行时,在powershell里面操作

    
     docker rm $(docker ps -a -q)   #删除全部通用容器
    
    docker ps -a  查看全部容器,含停用
    

    参考文章</>

  • 相关阅读:
    loadNibNamed 的使用
    重写UIPageControl实现自定义按钮(转)
    乔布斯办公室语录
    学ACM算法题有用吗?
    基于文法分析的表达式计算器的实现
    我的程序员之路(5)——工作一年
    XCode实用快捷键,谁用谁知道
    LR(1)语法分析表生成
    九大定律,四大原则
    汉字为何不能用笔画编码信息论系列
  • 原文地址:https://www.cnblogs.com/panfengde/p/11213517.html
Copyright © 2011-2022 走看看