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程序的更多相关文章

  1. [学习笔记]Linux环境下部署 .Net5 程序

    ​公司的项目需要部署到一台公网的linux服务器,以便同事们测试小程序. 目标服务器是新搭建的CentOS 8虚拟机,以非docker的方式部署.现记录过程便于日后部署至项目甲方的服务器上,因为甲方的 ...

  2. 在生产环境使用Docker部署应用

    导读 Docker现在越来越流行,但是真正在生产环境部署Docker还是个比较新的概念,还没有一个标准的流程.作者是ROR的程序员,作者结合平时的部署经验,联系Docker的特点,向大家分享了其在生产 ...

  3. Taurus.MVC 微服务框架 入门开发教程:项目部署:6、微服务应用程序Docker部署实现多开。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...

  4. 如何使用Docker部署一个Go Web应用程序

    熟悉Docker如何提升你在构建.测试并部署Go Web应用程序的方式,并且理解如何使用Semaphore来持续部署. 简介 大多数情况下Go应用程序被编译成单个二进制文件,web应用程序则会包括模版 ...

  5. Asp.Net Core 程序部署到Linux(centos)生产环境(二):docker部署

    运行环境 照例,先亮环境:软件的话我这里假设你已经批准好了.net core 运行环境,未配置可以看我的这篇[linux(centos)搭建.net core 运行环境] 腾讯云 centos:7.2 ...

  6. 【转载】如何使用docker部署c/c++程序

    原文地址:https://blog.csdn.net/len_yue_mo_fu/article/details/80189035 Docker介绍 Docker是一个开源的容器引擎,它有助于更快地交 ...

  7. 0基础入门 docker 部署 各种 Prometheus 案例 - 程序员学点xx 总集篇

    目录 大家好, 学点xx 系列也推出一段时间了.虽然 yann 能力有限,但还是收到了很多鼓励与赞赏.对这个系列 yann 还是很喜欢的,特别是 Prometheus 篇,在期间经历公众号 100 篇 ...

  8. docker部署带mysql数据库连接的.netcore程序

    docker部署带mysql数据库连接的程序和部署普通的程序完全一致 数据库可以是物理机删的mysql,同时也可以是docker里的mysql. 如果是docker中的mysql,配置连接字符串和物理 ...

  9. Docker部署Python应用程序

    Docker部署Python应用程序 1. 单个py文件部署 生成Dockerfile 文件 插件用的豆瓣的镜像,,重置时间(容器的默认时间是UTC时间与宿主机的相差8小时). 文中需要三个插件(pe ...

随机推荐

  1. linuxc语言图形化编程包含gtk/gtk.h编译总是报错找不到该文件的解决方法

    在编译时输入gcc file.c `pkg-config --libs --cflags gtk+-2.0` 注意`不是单引号,和--前均有一个字符 这样问题就结局啦

  2. Shuffle Card HDU - 6707

    题目链接:https://vjudge.net/problem/HDU-6707 题意:给你一个数组a[ ](a[1]=1,a[2]=2.....a[n]=n),然后m次操作,每次把那个数拿到最前面去 ...

  3. 剪切DOM节点中断transition执行【问题】

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. Python代码简化

    让代码更Pythonic 当然不要过分追求简洁,不然阅读的人就遭殃了, 部分逻辑复杂的情况还应按照清晰的逻辑脉络去写方便阅读, 毕竟我们是用代码实现功能然后维护,而不是单单的炫技. ######### ...

  5. BUAA_OO_第二单元

    BUAA_OO_2020_UNIT2 一.程序结构分析 第五次作业 UML & Mertrics ​ 电梯的调度问题,实质上就是任务的请求与分配问题,笔者在第五次作业中采用简单的"生 ...

  6. Linux就该这么学:重定向,管道符,通配符,转义符,环境变量

    第三章:重定向,管道符,环境变量 3.1 输入输出重定向 定义:输入重定向是指将文件导入命令中,输出重定向是指将原本显示到屏幕的信息输出问文件.相较于输入重定向,输出重定向使用的更多,下面重点介绍输出 ...

  7. JavaWeb 补充(JSP&EL&JSTL)

    1. JSP:     1. 指令     2. 注释     3. 内置对象 2. MVC开发模式 3. EL表达式 4. JSTL标签 5. 三层架构 JSP: 1. 指令     * 作用:用于 ...

  8. Go+gRPC-Gateway(V2) 微服务实战,小程序登录鉴权服务(五):鉴权 gRPC-Interceptor 拦截器实战

    拦截器(gRPC-Interceptor)类似于 Gin 中间件(Middleware),让你在真正调用 RPC 服务前,进行身份认证.参数校验.限流等通用操作. 系列 云原生 API 网关,gRPC ...

  9. Qt中检查槽函数connect是否正确

    环境:VS2017+Qt插件 一般情况下VS+QT环境下运行的QT程序输出信息需要在调试模式的输出栏可以看到,由于太多信息所以导致查看不方便(当然也可以在筛选选项中筛选信息). 有更方便查看输出信息的 ...

  10. 如何在CSS中映射的鼠标位置,并实现通过鼠标移动控制页面元素效果

    映射鼠标位置或实现拖拽效果,我们可以在 JavaScript 中做到这一点.但实际上,在CSS中有更加简洁的方法,我们可以在不使用JavaScript 的情况下,仍然可以实现相同的功能! 只使用CSS ...