Docker 部署net5程序
1、前言
本文讲述使用docker容器部署.net5项目、实现跨平台。
部署环境:docker 容器、liunx系统、这里采用VmWare虚拟机、并采用MobaXterm工具实现终端连接linux系统
2、(环境准备)启动虚拟机、并终端连接 192.168.20.128 (后续直接采用此地址直接访问.NET5项目)

linux系统通过ifconfig查看IP地址、并在宿主机中使用MobaXterm操作使用(关于MobaXterm使用详见:https://www.cnblogs.com/cainiao-chuanqi/p/11366726.html)
3、创建.NET5项目、此项目创建asp.net core mvc

另外需要项目右键需要添加 Docker支持(方式一)

也可以在创建项目的时候(方式二)

添加完docker支持后项目会生成Dockerfile文件如下:(就是一个文件,文件里面包含了镜像所有的依赖 环境)

项目本地启动如下图:

4、关于Docker安装我还是建议大家直接看官网、非常详细
安装地址(linux系统):https://docs.docker.com/engine/install/centos/
5、安装成功后使用docker部署项目
(1)、安装成功后输入docker info命令如下标识安装成功

(2)将项目导入在自定义目录下这里我在home目录下新建了.NET5文件夹、并将项目放置在该文件夹
完成后输入:cd /home/NET5/DockerTest/ 如下


(3)、生成该项目镜像docker build -t demo .
demo为镜像的名称、demo后面的小数点注意不要漏掉了哦

镜像生成成功后查看镜像:docker images

(4)、将刚刚指定生成的镜像生成一个容器 并且启动一个进程(也就说启动该项目)
docker run -d --name cdb -p 8089:80 demo--指定端口已经生成容器镜像 cdb 为容器名称 并且启动一个进程
8089位端口号、cdb为容器名称 当然可以根据指定的镜像名称demo生成多个容器名称、来启动多个进程、各个容器是相互隔离
运行结果如下:

使用宿主机访问此项目:
192.168.20.128:8089(确实是可以正常访问)

查看容器信息:docker ps (cdb为刚刚生成的容器和相关的端口信息)
那要继续生成一个容器呢继续使用刚刚命令(cdb2新的容器名称)

继续启动此端口进程192.168.20.128:8090(同样可以正常访问)

docker ps --查看容器信息
docker stop 14e79874c983 --停止id=14e79874c983 的容器
- docker rm 14e79874c983--删除id=14e79874c983 的容器
- docker logs cyx2 --查看容器名称为cyx2的打印日志信息
附录相关docker命令操作文档这位老哥的就不错https://www.cnblogs.com/DeepInThought/p/10896790.html、官网也很全的
总结一下吧:也是最近在学docker、本文只是基本展示一下.Net5项目利用docker容器基本部署、当然还有很多不足之处、有什么欢迎评论区交流、指教
晚上有点困、本来还要聊一下、docker的挂载等等相关操作后续有时间在更行。
Docker 部署net5程序的更多相关文章
- [学习笔记]Linux环境下部署 .Net5 程序
公司的项目需要部署到一台公网的linux服务器,以便同事们测试小程序. 目标服务器是新搭建的CentOS 8虚拟机,以非docker的方式部署.现记录过程便于日后部署至项目甲方的服务器上,因为甲方的 ...
- 在生产环境使用Docker部署应用
导读 Docker现在越来越流行,但是真正在生产环境部署Docker还是个比较新的概念,还没有一个标准的流程.作者是ROR的程序员,作者结合平时的部署经验,联系Docker的特点,向大家分享了其在生产 ...
- Taurus.MVC 微服务框架 入门开发教程:项目部署:6、微服务应用程序Docker部署实现多开。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...
- 如何使用Docker部署一个Go Web应用程序
熟悉Docker如何提升你在构建.测试并部署Go Web应用程序的方式,并且理解如何使用Semaphore来持续部署. 简介 大多数情况下Go应用程序被编译成单个二进制文件,web应用程序则会包括模版 ...
- Asp.Net Core 程序部署到Linux(centos)生产环境(二):docker部署
运行环境 照例,先亮环境:软件的话我这里假设你已经批准好了.net core 运行环境,未配置可以看我的这篇[linux(centos)搭建.net core 运行环境] 腾讯云 centos:7.2 ...
- 【转载】如何使用docker部署c/c++程序
原文地址:https://blog.csdn.net/len_yue_mo_fu/article/details/80189035 Docker介绍 Docker是一个开源的容器引擎,它有助于更快地交 ...
- 0基础入门 docker 部署 各种 Prometheus 案例 - 程序员学点xx 总集篇
目录 大家好, 学点xx 系列也推出一段时间了.虽然 yann 能力有限,但还是收到了很多鼓励与赞赏.对这个系列 yann 还是很喜欢的,特别是 Prometheus 篇,在期间经历公众号 100 篇 ...
- docker部署带mysql数据库连接的.netcore程序
docker部署带mysql数据库连接的程序和部署普通的程序完全一致 数据库可以是物理机删的mysql,同时也可以是docker里的mysql. 如果是docker中的mysql,配置连接字符串和物理 ...
- Docker部署Python应用程序
Docker部署Python应用程序 1. 单个py文件部署 生成Dockerfile 文件 插件用的豆瓣的镜像,,重置时间(容器的默认时间是UTC时间与宿主机的相差8小时). 文中需要三个插件(pe ...
随机推荐
- python列表,元组,字典,集合的比较总结
这四个都是python中的序列,用于存放数据,他们区别总结如下: 列表list 元组tuple 字典dictionary 集合set 是否可变 可变 不可变 可变 可变 是否有序 有序 有序 无序 ...
- 制作API离线chm帮助文件教程
当我们开发好一个通信库的时候,我们希望给这个通信库配备一个帮助文档,最好的方式,就是有一个离线的chm版本的API文档,这样别人在使用的时候,就可以清楚看到命名空间.类的结构,同时也能看到每个方法和属 ...
- kmp&字典树 模板
kmp: const int maxn=1e5+5; char s[maxn],p[maxn]; int nex[maxn]; int KmpSearch(char* s, char* p) { in ...
- P1200_你的飞碟在这儿(JAVA语言)
题目描述 众所周知,在每一个彗星后都有一只UFO.这些UFO时常来收集地球上的忠诚支持者. 不幸的是,他们的飞碟每次出行都只能带上一组支持者.因此,他们要用一种聪明的方案让这些小组提前知道谁会被彗星带 ...
- PTA 报数
6-3 报数 (20 分) 报数游戏是这样的:有n个人围成一圈,按顺序从1到n编好号.从第一个人开始报数,报到m(<)的人退出圈子:下一个人从1开始报数,报到m的人退出圈子.如此下去,直到留 ...
- [源码解析] 并行分布式框架 Celery 之 worker 启动 (2)
[源码解析] 并行分布式框架 Celery 之 worker 启动 (2) 目录 [源码解析] 并行分布式框架 Celery 之 worker 启动 (2) 0x00 摘要 0x01 前文回顾 0x2 ...
- Nacos 2.0 正式发布,性能提升了 10 倍!!
前不久,在3月20号,Nacos 2.0.0 正式发布了!我简单看了下官方的介绍,可能nacos未来逐渐会成为各大公司作为服务治理和配置中心的主要中间件. Nacos 简介:一个更易于构建云原生应用的 ...
- Python异步asyncio快速实践模版
只是参考快速跑起来模版,细节或者封装流畅使用需要详细阅读aiohttp文档 1 import asyncio 2 3 async def foo(): 4 await print('bar') 5 6 ...
- JDK8中新日期时间API
它们面临的问题是:可变性:像日期和时间这样的类应该是不可变的.偏移性:Date中的年份是从1900开始的,而月份都从0开始.格式化:格式化只对Date有用,Calendar则不行.此外,它们也不是线程 ...
- 【笔记】《Redis设计与实现》chapter12 事件
12.1 文件事件 Redis基于Reactor模式开发了自己的网络事件处理器:这个处理器被称为文件时间处理器: 文件时间处理器使用IO多路复用程序来同时监听多个套接字,并根据套接字目前执行的任务来为 ...