1.创建一个基础的WebApi项目

注意:因为发布时候,Dockerfile文件必须和解决方案.cspro文件放在同级,所以建议勾上这个,当时遇到这个问题,导致打包镜像时找不到.cspro文件,搞了好久

点击创建,项目基础框架是这样的:

在Program中能够看到 MinimalApi 自带的示例:

切换到项目配置运行,能够请求到数据:

2.将项目文件用Xftp拷贝到Linux系统中,我这里用的是VMWare虚拟机的CentOS7系统,

拷贝到root目录下,自建一个发布项目的文件夹(这里我创建的是DockerPublish文件夹)里面

3、输入命令,进入到项目文件夹里面:

系统需装好docker,安装好常用的命令、配置好环境。

输入命令:docker images    -查看当前的全部镜像:

4.通过 Dockerfile 文件 ,将项目打包成镜像:

命令:  docker build -t [新建的镜像名]:[指定的版本号] -f Dockerfile .

注意:Dockerfile 后面的 "." 不可少!

输入打包镜像的命令之后,开始打包,看到如下信息表示镜像创建成功:

5. 通过镜像构建容器实例:

命令:docker run --name mywebapi -d -p 5566:80 net6webapi:1.0

命令格式:docker run --name [自定义容器名] -d -p [自定义对外端口]:[Dockerfile中指定的端口,不修改的话,一般都是80] [镜像名]:[版本号]

容器创建好之后,通过命令 :docker  ps  (查看正在运行的容器)  ,  docker ps -a  (查看全部容器)

docker ps 能够看到刚才创建的容器,就成功了:

接下来在电脑上,通过虚拟机的地址访问mywebapi,可以用 ifconfig 命令 查看虚拟机地址,

如果你和我一样也用的 Xshell7 连接工具,那么左下角可以直接看到虚拟机的地址:

浏览器输入地址 : 192.168.146.129:5566/weatherforecast 能够访问到数据,就成功了!

5566端口即为第5步,镜像实例化成容器时,指定的容器端口

注意:如果访问不到,但是 docker ps 可以看到容器,说明容器运行了,但是镜像有问题,会有报错,

通过命令:docker logs [容器名] 可以看到运行的容器,报错日志

6.通过一个镜像,构建多个容器实例,给不同端口,拿到一个镜像,哪儿都能跑起来,跑同一套代码

如果部署到服务器上,别人拿到我的镜像,也能跑我的代码,这就是docker的优势,一个镜像就是整个程序。

在实际项目开发中,会将同一个镜像的多个容器实例,使用 Nginx 负载均衡配置,提高程序的性能。

.Net 6 WebApi 项目部署到 Linux 系统上的 Docker 容器的更多相关文章

  1. 把我的Java项目部署到Linux系统

    以前,还未毕业,凭借自己三脚猫的功夫,只会在Windows环境中使用tomcat容器把项目跑起来. 以前的操作是,利用Eclipse把项目导出成War包,放到tomcat的webApp文件夹中,鼠标点 ...

  2. [经验] Java Web 项目怎么部署到 Linux 系统上

    废话少说, 直奔主题 第一步: 将 web 项目打成 war 包 1: 打开项目的 pom.xml 文件 如果是迭代后的项目, 记得修改项目的版本号, 这里我的是第二版所有就把 1 改成了 2 2: ...

  3. 案例 (一)如何把python项目部署到linux服务器上

      一.背景 用Python写了个脚本,需要部署到Linux环境的服务器上,由于服务器linux系统(centos,redhat等)自带的是python2,现在的python萌新都是从python3开 ...

  4. 把 web 项目部署到 Linux 服务器上

    1.打开 eclipse,在已经完成的 web 项目上面点击右键,选择 export,然后选择导出成 war 包. 以部署 SMBMS 项目为例   2.项目打包成 war ,选择项目导出到的位置. ...

  5. Openfire调整成自己的IM部署到LInux系统上

    部署自己的IM到Linux系统下:需要生成相关jar包再部署 1.在myeclipse上把openfire源代码加在加载进来,做相应调整后,运行测试没问题 2.  编译admin-jsp.jar(所有 ...

  6. mac系统上访问docker容器中的ip配置

    使用 mac系统,发现docker没有 docker0网桥,无法直接在宿主机上 访问 容器的ip, 在测试的时候有这种需求,而不是通过-p的方式,可以参考下面的连接,主要就是 修改 setting.j ...

  7. 项目如何部署在linux系统上

    前面已经安装好centos的系统,网络配置,以及部署的环境已成功啦... 下面记录的是如何部署一个项目 四个步骤: (1)放war包 (2)执行数据库脚本 (3)修改数据库的配置文件 (4)重启tom ...

  8. laravel 博客项目部署到Linux系统后报错 权限都设置为777,仍然报错没有权限

    阿里工程师最后给出解决方案.

  9. .net core 部署在Linux系统上运行的环境搭建总结

    安装Linux用的是腾讯云的centos7.5,需要安装有环境有mysql5.7  .netcore2.1 nginx1.14 1.首先是mysql的安装 我用的链接工具是putty,首先root登入 ...

随机推荐

  1. 小技巧之“将Text文件中的数据导入到Excel中,这里空格为分割符为例”

    1.使用场景 将数据以文本导出后,想录入到Excel中,的简便方案, 起因:对于Excel的导出,Text导出明显会更方便些 2.将Text文件中的数据导入到Excel中,这里空格为分割符为例的步骤 ...

  2. 搞半天,全国34个省份包含湾湾\香港\澳门的高德poi兴趣点23类数据终于爬完事了

    1.技术架构: python+阿里云数据库mongodb5.0+高德地图rest api 2.成本: 阿里云数据库mongodb5.0一个月话费1k多 2.遇到的问题 1)两个阿里云账号下 mongo ...

  3. 2018 百度web前端面试

    面试前 正式入职一年半左右,实习半年,勉强两年经验吧,然后很惊喜收到了百度的面试邀约,约得两点钟面试,然后本人一点钟就到了,通电话之后,面试官很热情,说正在吃饭吃完饭就去找我,让我去坐着等一会,然后一 ...

  4. Python使用逻辑回归估算OR值

    第一种是统计学方法,需要用到 statsmodels包 statsmodels是统计和计量经济学的package,包含了用于参数评估和统计测试的实用工具 第二种是机器学习,需要使用sklearn中的L ...

  5. HTML表格CSS美化

    效果展示 style.css html{ width: 100%; height: 100%; overflow: hidden;}body{ width: 100%; height: 100%; f ...

  6. CSS简单样式练习(四)

    运行效果: 源代码: 1 <!DOCTYPE html> 2 <html lang="zh"> 3 <head> 4 <meta char ...

  7. node的两种随起随用静态服务器搭建

      一. anywhere Anywhere是一个随启随用的静态服务器,它可以随时随地将你的当前目录变成一个静态文件服务器的根目录. 1.确定电脑上安装了node.js 2.在当前所在项目文件夹下输入 ...

  8. Git---git的常用操作

    git三种状态的转换 git状态切换时的常用命令 1. git管理工作目录 git init # 会增加.git文件夹 2. git的三种状态 工作区 暂存区 本地仓库 3. 提交到暂存区 git a ...

  9. OllyDbg---寄存器

    寄存器 寄存器的概念和作用 寄存器是CPU内部的高速存储单元,访问速度比常规内存快很多. 处理器在执行程序时,需要一个助手,当执行一条指令时,比如将两个内存单元中存放的内容相加,处理器需要先把其中一个 ...

  10. 2021.05.14 tarjan

    2021.05.14 tarjan 标准版tarjan 这里使用数组来模拟栈 void tarjan(int x){ ++ind; dfn[x]=low[x]=ind; stacki[++top]=x ...