Docker 发布 Abp net core web 服务

  1. 准备工作:Abp 项目,这个是模板下载地址 https://aspnetboilerplate.com/Templates (本例使用的是Single Page Web Application)

  2. 安装docker :参考:http://www.runoob.com/docker/windows-docker-install.html

    1.   安装成功后注册docker 账号 
  3. 创建数据库容器参考:https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-docker?view=sql-server-2017&pivots=cs1-bash
    1. 执行命令: docker pull mcr.microsoft.com/mssql/server:2017-latest  拉取映像

    2. 执行命令创建映像容器:docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<填写一个账号密码'> -p <本机端口>:<服务器端口> --name sql1 -d mcr.microsoft.com/mssql/server:2017-latest           
    3. 注意:<> 括号内是你要替换的内容, - p 后面两个端口的作用是将容器内的端口映射到本地端口,例如:映像中的mssql 的端口是1433,映射到本地的8099 就是:-p 6900:1433
    4. 测试一下,用 vs 连接docker 上的mssql 
  4. 对容器内的数据库经行数据库迁移
    1. 更改Abp 项目 AbpCompanyName.AbpProjectName.Migrator 下的appsetting.json 中的连接字符串为,你创建容器的连接  "Data Source=<本机ip>,<docker 映射的端口>;Initial Catalog=<你创建的数据库>;User ID=sa;Password=<你的数据库密码>"
    2. 替换数据库连接后运行程序经行迁移
  5. 发布web 
    1. 在host 项目下创建 Dockerfile  注意将 AbpCompanyName.AbpProjectName.Web.Host.dll 替换成你启动的程序集名称.dll

      FROM microsoft/dotnet:latest
      
      COPY . /app
      
      WORKDIR /app
      
      EXPOSE /tcp
      
      ENTRYPOINT ["dotnet", "AbpCompanyName.AbpProjectName.Web.Host.dll"]
    2. 设置 Dockerfile 生成方式
    3. 发布代码 
    4. 构建映像 ,在发布目录下运行命令: docker build -t 映像名称  .     这里注意结尾不要漏了空格跟“.“
    5. 创建并运行容器
    6. 执行命令: docker run -it -p <本地端口>:<容器端口> <映像名称>

      执行后可以看出,程序默认绑定容器的80端口,因此我们需要在本地上访问容器内的web,我们必须设置映像端口为80(根据实际情况绑定端口)

      本例子中上面创建了myabp/demo容器,且程序运行的端口为80,因此我想在本机上8078端口访问服务命令就是: docker run -it -p 8078:80 myabp/demo

    7. 浏览网址:http://localhost:8078/swagger/index.html 结果如下 ,powerShell 可以直接关掉,服务会继续挂在docker 上面
    8. 用vscode 打开vue 项目修改  vue/src/lib/url.ts  修改url 为我们docker 上发布的服务地址
    9. 命令终端在 vue 目录下运行 npm run serve

      点开浏览地址可以看到前端已经请求docker 上的服务地址,默认账号 admin 密码123qwe

    10. 如果有需要的同学可以允许npm rum build  打包前端代码再发布到docker 或者IIS上面都可以,

    如果前端访问失败,有可能是服务上没有添加跨域配置哦~

    

         

Docker 发布 Abp net core web 服务的更多相关文章

  1. 基于Docker Compose的.NET Core微服务持续发布

    是不是现在每个团队都需要上K8s才够潮流,不用K8s是不是就落伍了.今天,我就通过这篇文章来回答一下. 一.先给出我的看法和建议 我想说的是,对于很多的微小团队来说,可能都不是一定要上K8s,毕竟上K ...

  2. 使用docker部署Asp.net core web应用程序

    拉取aspnetcore最新docker镜像 aspnetcore的docker镜像在docker官网是有的,是由微软提供的.它的依赖镜像是microsoft/dotnet.通过访问网址:https: ...

  3. 本地Docker Jenkins构建dotnet core web应用到Linux服务器 Docker上

    1.准备工作 环境 本地: Windows.Docker 代码仓库:Git 服务器:Linux.Docker 前提准备 创建个有dockerfile文件的dotnet core 3 web项目 新建一 ...

  4. Docker 为 ASP.NET Core Web 应用程序生成 Docker 映像,创建并运行多个容器

    1.为 ASP.NET Core 应用程序生成 Docker 映像 下载这个事例项目:https://github.com/dotnet/dotnet-docker/tree/master/sampl ...

  5. 使用Docker发布Asp.Net Core程序到Linux

    CentOS安装Docker 按照docker官方文档来,如果有之前安装过旧版,先卸载旧版,没有的话,可跳过. sudo yum remove docker \ docker-client \ doc ...

  6. .NET Core Web 应用部署到 Docker 中运行

    环境介绍 : 虚拟机:VirtualBox 5.1.6 系 统:Ubuntu 16.04.1 LTS 系统准备完成后可以使用 sudo apt-get udpate 和 sudo apt-get up ...

  7. Gitlab CI 自动部署 asp.net core web api 到Docker容器

    为什么要写这个? 在一个系统长大的过程中会经历不断重构升级来满足商业的需求,而一个严谨的商业系统需要高效.稳定.可扩展,有时候还不得不考虑成本的问题.我希望能找到比较完整的开源解决方案来解决持续集成. ...

  8. CXF发布在Web服务

    1.下载apache-cxf-3.1.4,将jar引入新工程中. 2.People.java package com.soap.server; import java.util.Date; impor ...

  9. ASP.NET Core Web应用在发布时选择是否对视图进行编译

    原文:ASP.NET Core Web应用在发布时选择是否对视图进行编译 在我们发布ASP.NET Core Web应用程序时,选择以文件形式发布,发布方法选择文件系统 默认情况下,会把Views的视 ...

随机推荐

  1. Spring security在MS-SQL下的初始化脚本

    -- create table users( -- username nvarchar(50) not null primary key, -- password nvarchar(50) not n ...

  2. Install OpenCV 3.0 and Python 2.7+ on OSX

    http://www.pyimagesearch.com/2015/06/15/install-OpenCV-3-0-and-Python-2-7-on-osx/ As I mentioned las ...

  3. 物流的纯css实现方法

    首先我们来看看UI给出的设计图. 为什么到达是最前面,为什么物流顺序是倒叙的,这是什么用户习惯,这是我拿到设计稿的问题,但是这里不谈设计,因为审美这个东西无法评估.那么这里我就做一个顺序的来对比一下吧 ...

  4. jqery对于select级联操作

    问题:今天在做一个需求的时候,有一个级联操作也就是选中下拉框的一列就显示对对应的数据 处理:我在做级联的时候在option的列里面绑定click的事件发现这个事件行不通:查资料发现select触发的是 ...

  5. 洛谷 P1057 解题报告

    P1057 传球游戏 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏. 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹 ...

  6. 读《图解HTTP》有感-(确保WEB安全的HTTPS)

    写在前面 该章节分析当前使用的HTTP协议中存在的安全性问题,以及采用HTTPS协议来规避这些可能存在的缺陷 正文 1.HTTP的缺点 1.1.由于HTTP不具备加密功能,所以在通信链路上,报文是以明 ...

  7. 《与C语言相恋》

    第一章 <与C语言相恋> 目录: 1.1 C语言的诞生 1.2 相恋C语言的理由 1.3 相恋C语言的7个步骤 1.4 目标代码文件,可执行文件和库 1.5 本章小结 C语言的诞生 197 ...

  8. Python中的 socket示例

    linux send与recv函数详解   1 #include <sys/socket.h> 2 ssize_t recv(int sockfd, void *buff, size_t ...

  9. Windows上使用Thunderbird与GPG发送和解密公钥加密的电子邮件

    作者:荒原之梦 原文链接:http://zhaokaifeng.com/?p=552 非对称加密的原理: 最先出现的加密方法是对称加密.在对称加密算法中是不区分公钥和私钥的,加密与解密使用的都是同一个 ...

  10. ASP.NET三剑客 HttpApplication HttpModule HttpHandler 解析

    我们都知道,ASP.Net运行时环境中处理请求是通过一系列对象来完成的,包含HttpApplication,HttpModule, HttpHandler.之所以将这三个对象称之为ASP.NET三剑客 ...