zoukankan      html  css  js  c++  java
  • Ubuntu16.04 Docker中发布.NetCore2.1项目

    win10 Vs2017开发的.NetCore2.1项目,需要发布到我的虚拟机Ubuntu16.04  Docker中;大概步骤如下:

    1、Ubuntu16.04  Docker安装

    2、Docker 中安装MSSql

    3、Vs2017开发的.NetCore2.1项目(简单增删改查)

    4、Vs2017发布可移植项目(发布到linux)

    5、构建Docker镜像

    6、浏览效果

    1、Ubuntu16.04  Docker安装 

    详细安装步骤参考我的博客 https://www.cnblogs.com/Martincheng/p/9841977.html

    2、Docker 中安装MSSql

    详细安装步骤参考我的博客 https://www.cnblogs.com/Martincheng/p/9856875.html

    3、Vs2017开发的.NetCore2.1项目(简单增删改查)

    详细步骤参考我的博客 https://www.cnblogs.com/Martincheng/p/9833413.html

    4、Vs2017发布可移植项目(发布到linux)

    4.1、vs2017把.NetCore项目发布打包 (目标运行时选择可移植) 

    4.2、将本地发布好的文件copy到Ubuntu

    PS:我把publish目录copy 到Ubuntu虚拟机netcoreapp2.1目录下

    5、构建Docker镜像

    5.1、创建Docker文件

    touch  Dockerfile

    5.2、VI修改Dockerfile文件

    vi 经常使用的指令 a(inser模式 允许修改和删除)修改完按esc 退出inser模式   :w(保存修改的文件):q(退出文件)

    # 添加基础镜像
    FROM microsoft/dotnet:2.1-aspnetcore-runtime
    #容器中系统的工作空间
    WORKDIR /publish
    #拷贝当前文件夹下的文件到容器中系统的工作空间
    COPY .  . 
    #设置Docker容器对外暴露的端口
    EXPOSE 80
    #容器中使用 ["dotnet","系统启动的dll"] 来运行应用程序
    #使用ENTRYPOINT ["dotnet","系统启动的dll"]
    #或使用 CMD ["dotnet","系统启动的dll"]
    ENTRYPOINT ["dotnet", "NetCoreDemo.dll"]

    PS:NetCoreDemo.dll 系统启动的dll

        publish 目录需要才是NetCoreDemo.dll(publish当前目录名称)

        COPY .  .(COPY [选项] 源文件或目录 目标文件或目录)不copy 后面两个.注意中间空

    5.3、构建镜像

    docker build -t netcoredemo2:1.0.0 . 

      PS:   netcoredemo2(镜像名称)

               1.0.0 . (1.0.0版本号后面跟的.非常重要非常重要非常重要)

     成功构建镜像

    docker images

    运行构建的镜像 

    docker run --name=netcoreproject2 -p 8082:80 -d  netcoredemo2:1.0.0 

    PS: netcoreproject2(容器名称)

          netcoredemo2(上面构建镜像)

          8082(对外端口)

    到这容器名字为netcoreproject2运行起来了

    查询容器启动日志

    docker logs netcoreproject2

    netcoreproject2容器名称

    6、浏览效果

     虚拟机本地浏览效果

     

     域IP浏览

  • 相关阅读:
    MQTT的优势
    http与https与tcp区别
    中科芯CKS-MBT30数据采集网关帮助工程师实现PLC远程上下载,减少出差成本
    CKS-MAT30远程程序上下载 支持欧姆龙西门子等PLC 远程下载、监控
    西门子S7以太网通讯协议
    DK云网关与普通DTU之间的区别
    腾讯笔试题
    二叉搜索树
    哈希,链接法解决冲突
    将16进制字符串转化为10进制数输出
  • 原文地址:https://www.cnblogs.com/Martincheng/p/9888569.html
Copyright © 2011-2022 走看看