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浏览

  • 相关阅读:
    Python 变量回收
    centos服务器内部开启端口
    mysql启动不起来汇总
    torch中DataLoader加载字典
    torch.meshgrid函数
    如何配置好python脚本的命令行参数
    git忽略文件,.gitignore配置
    jupyter如何解析命令行参数argv
    怎么制作虚拟环境的yaml
    如何提高matplotlib在jupyter中作图的分辨率
  • 原文地址:https://www.cnblogs.com/Martincheng/p/9888569.html
Copyright © 2011-2022 走看看