欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Docker 发布 Abp net core web 服务

程序员文章站 2022-07-11 10:15:00
Docker 发布 Abp net core web 服务 准备工作:Abp 项目,这个是模板下载地址 https://aspnetboilerplate.com/Templates (本例使用的是Single Page Web Application) 安装docker :参考:http://ww ......

 

 

 

docker 发布 abp net core web 服务

  1. 准备工作:abp 项目,这个是模板下载地址 https://aspnetboilerplate.com/templates (本例使用的是single page web application)

  2. 安装docker :参考:

    1.   安装成功后注册docker 账号 
    2. Docker 发布 Abp net core web 服务

  3. 创建数据库容器参考:
    1. Docker 发布 Abp net core web 服务
    2. 执行命令: docker pull mcr.microsoft.com/mssql/server:2017-latest  拉取映像

    3. 执行命令创建映像容器:docker run -e 'accept_eula=y' -e 'sa_password=<填写一个账号密码'> -p <本机端口>:<服务器端口> --name sql1 -d mcr.microsoft.com/mssql/server:2017-latest           
    4. 注意:<> 括号内是你要替换的内容, - p 后面两个端口的作用是将容器内的端口映射到本地端口,例如:映像中的mssql 的端口是1433,映射到本地的8099 就是:-p 6900:1433
    5. 测试一下,用 vs 连接docker 上的mssql Docker 发布 Abp net core web 服务
  4. 对容器内的数据库经行数据库迁移
    1. 更改abp 项目 abpcompanyname.abpprojectname.migrator 下的appsetting.json 中的连接字符串为,你创建容器的连接  "data source=<本机ip>,<docker 映射的端口>;initial catalog=<你创建的数据库>;user id=sa;password=<你的数据库密码>"
    2. 替换数据库连接后运行程序经行迁移Docker 发布 Abp net core web 服务
  5. 发布web 
    1. 在host 项目下创建 dockerfile  注意将 abpcompanyname.abpprojectname.web.host.dll 替换成你启动的程序集名称.dll
      Docker 发布 Abp net core web 服务
      from microsoft/dotnet:latest
      
      copy . /app
      
      workdir /app
      
      expose 80/tcp
      
      entrypoint ["dotnet", "abpcompanyname.abpprojectname.web.host.dll"]
    2. 设置 dockerfile 生成方式Docker 发布 Abp net core web 服务
    3. 发布代码 Docker 发布 Abp net core web 服务
    4. 构建映像 ,在发布目录下运行命令: docker build -t 映像名称  .     这里注意结尾不要漏了空格跟“.“Docker 发布 Abp net core web 服务
    5. 创建并运行容器Docker 发布 Abp net core web 服务
    6. 执行命令: docker run -it -p <本地端口>:<容器端口> <映像名称>

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

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

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

      Docker 发布 Abp net core web 服务

      点开浏览地址可以看到前端已经请求docker 上的服务地址,默认账号 admin 密码123qweDocker 发布 Abp net core web 服务

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

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

Docker 发布 Abp net core web 服务