abp框架angular 项目docker 手动部署到Linux环境中
1、https://aspnetboilerplate.com/Templates

2、后端项目发布,在publish中abp默认已经存在DockerFile文件

3、修改后端文件中的DockerFile文件

默认的值为 FROM microsoft/aspnetcore:2.0.1。但我当前的这个要求的是2.2的版本,在微软的docker官网上,根据自己实际项目需要更新这个值。
4、安装linux服务器,我自己用的是vmware虚拟机,linux版本是centos7,别忘了修改yum镜像源。
5、安装docker,并启动服务,不会了请自行Bing
6、如果你的虚拟机无法上网,请参考https://www.cnblogs.com/lishidefengchen/p/10564326.html
7、我本机是Windows环境,使用Putty里面的pscp工具来进行文件传输,pscp具体用法,请参考官方文档 https://the.earth.li/~sgtatham/putty/0.71/htmldoc/Chapter5.html#pscp-usage
8、把后台发布好的文件通过pscp拷贝到/root/目录下,具体哪个目录,请根据个人喜好而定
9、在linux中进入/root/publish目录下
$ cd /root/publish #publish 目录就是上一步发布出来的后台文件
10、查看本机IP地址,执行命令 ip addr
11、根据本机IP地址,修改发布文件中的配置文件
12、执行命令 docker build -t 镜像文件名 .
13、运行镜像,执行命令 docker run -d -p 21021:80 镜像文件名,参数 -d 该命令是后台静默运行指令,这样你还可以继续在终端进行其他操作,端口号21021,是配置文件中的端口号;端口号80是nginx服务的端口号
14、如果你的linux是带GUI的,你可以在本地访问一下试试,如果没有带界面,执行curl http://localhost:21021 尝试看看,或者在你的物理机的浏览器里试试能不能访问
15、如果发现不能访问,可能是虚拟防火墙的设置问题,具体设置不说了就,你直接关闭防火墙,一般情况就可以访问了
————前端部署开始—————
1、同样先要发布生产版本的文件,即执行ng build --prod
2、会发现在当前项目目录下生成了一个dist文件夹,里面的文件都是经过压缩的,这个就是发布出来的文件
3、这里需要注意的是,我们需要把前端项目中的DockerFile文件拷贝到dist目录下,否则docker生成的镜像不能执行,这个是我踩的坑
4、将发布的的文件通过pscp工具拷贝到linux环境下,例如:/root/angular/
5、在linux环境下,终端里执行cd /root/angular/dist,将当前目录指到dist目录下
6、同样建议根据当前环境的Ip修改配置文件
7、执行docker命令,docker build -t angular-web . 这样就生成了一个叫 angualr-web 的 image
8、执行docker命令,docker run -d -p 4200:80 angular-web 后台静默执行镜像文件 angular-web
9、浏览器访问,http://ip:4200
——————结束————————
生成的docker镜像也可以进入到容器中进行相关配置文件的修改操作,参考:https://www.cnblogs.com/lishidefengchen/p/10593929.html
abp框架angular 项目docker 手动部署到Linux环境中的更多相关文章
- mpdf部署到linux环境中遇到的问题
首先遇到的问题未:Error - mPDF requires mb_string functions. Ensure that PHP is compiled with php_mbstring.dl ...
- .NET 6 从0到1使用Docker部署至Linux环境
前言 作为一名.Net菜鸟开发者,平时对Linux接触的并不多,项目部署这一块都是运维小哥顶着,但是作为混迹在云原生项目组的人咱也不能什么都不知道,该掌握的知识还是要懂的,所以借着这次机会,梳理一下项 ...
- 【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤
问题描述 实现部署NodeJS Express应用在App Service Linux环境中,并且使用Microsoft Authentication Library(MSAL)来实现登录Azure ...
- 【Azure 应用服务】PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
问题描述 在PHP项目部署在App Service后,上传文件如果大于1MB就会遇见 413 Request Entity Too Large 的问题. 问题解决 目前这个问题,首先需要分析应用所在的 ...
- ABP框架搭建项目系列教程基础版完结篇
返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 经过前面十二篇的基础教程,现在终于该做个总结了. 回顾 第一篇,我们建议新手朋友们先通过ABP官网的启动模板生成解决方案,因为这样 ...
- springboot 项目 docker化部署
最近公司项目需要docker化,项目所使用的框架是springboot,linux环境.第一次接触docker化方面的技术.做的时候,所接触的新知识比较多,留下此文,以便以后用到的时候快速入手. 修改 ...
- NET使用ABP框架搭建项目
NET使用ABP框架搭建博客项目(一) 有很多学NET开发的小伙伴建项目都比较茫然,我用什么开发?我都使用什么框架?我怎么起名字?种种问题,让一些低等.中等的工程师(甚至是高级工程师)很烦躁. 推荐一 ...
- 使用Docker 一键部署 LNMP+Redis 环境
使用Docker 部署 LNMP+Redis 环境 Docker 简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linu ...
- 使用 Docker LNMP 部署 PHP 运行环境
简介 Docker LNMP 是基于 Docker 的 PHP 集成开发环境. Github 地址:https://github.com/YanlongMa/docker-lnmp 包含软件 ngin ...
随机推荐
- Suse系统磁盘文件损坏恢复
进入救援(failSafe)模式检测问题,发现是因为/dev/sda4分区出现文件系统损坏. /dev/sda4: UNEXPECTED INCONSISTENCY: run fsck manua ...
- 数字图像处理实验(9):PROJECT 04-05,Correlation in the Frequency Domain 标签: 图像处理MATLAB 2017-05-25 10:14
实验要求: Objective: To know how to implement correlation of 2 functions in the frequency domain and, us ...
- xgboost 调参参考
XGBoost的参数 XGBoost的作者把所有的参数分成了三类: 1.通用参数:宏观函数控制. 2.Booster参数:控制每一步的booster(tree/regression). 3.学习目标参 ...
- c# 二分查找法(2分钟算法)
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- js精度(摘)
Math.formatFloat = function (f, digit) { var m = Math.pow(10, digit); return parseInt(f * m, 1 ...
- 云存储上传控件(cloud2)-Xproer.CloudUploader
版权所有 2009-2016荆门泽优软件有限公司 保留所有权利 官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webapp/up6.2/in ...
- Redesign Your App for iOS 7 之 页面布局【转】
前言 iOS7是目前iOS史上最颠覆的一次改版. 它的出现令人兴奋,因为它将会带我们进入一个全新的时代: 它的到来也让我们忧心,因为它颠覆了一切,包括我们过去做过的很多努力. 但是,相信大家乐意为这个 ...
- (转)Asp.net页面生命周期详解任我行(1)-小试牛刀,编写页面代码
原文地址:http://www.cnblogs.com/xuyubing/archive/2013/10/01/3348344.html 前言 很久很久以前,还是我在学校的时候,我就看了传智里面视频, ...
- Mysql避免重复插入记录方法
一.mysql replace用法 1.replace into replace into table (id,name) values('1','aa'),('2','bb') 此语句的作用是向 ...
- jquery.validate弹窗验证
$(document).ready(function () { //开始验证 $("#form1").validate({ submitHan ...