.net4.5部署到docker容器

  1. 部署到windows容器
  2. 部署到linux容器

部署到windows容器

由于.net本身就是运行在windows平台的,所以它与windows容器也是更加适合,你可以以iis镜像为基础,去编写你的Dockerfile文件,从而去构建你的.net项目镜像。

  1. 两个现成的例子

    .net console程序
docker run --rm mcr.microsoft.com/dotnet/framework/samples:dotnetapp

.net web程序

docker run -it --rm -p 8000:80 --name aspnet_sample mcr.microsoft.com/dotnet/framework/samples:aspnetapp

  1. 为自己项目添加一个Dockerfile构建镜像
FROM microsoft/aspnet
ARG source
WORKDIR /inetpub/wwwroot
COPY ${source:-obj/Docker/publish} .

参考:https://docs.microsoft.com/en-us/aspnet/mvc/overview/deployment/docker-aspnetmvc

部署到linux容器

对于非.net core的应用程序来说,要想在linux平台运行需要安装mono框架,这是在linux平台运行.net程序的唯一方法,那么如果想把.net程序部署到linux容器里,也是一样的方法过程,你需要构建一个安装有mono环境的镜像。

为自己的项目添加一个基于mono的Dockerfile

  1. 制作一个console app的Dockerfile并运行
FROM mono:latest
RUN mono --version
WORKDIR /app
COPY ./bin/Debug/ .
CMD [ "mono", "monoApp.exe" ]

打包镜像

cd monoapp #Docfile所在目录,它一般在项目根目录
docker build . -t monoapp
docker run monoapp

执行结果

MacBook-Pro-6:monoApp lind.zhang$ docker run monoapp
Hello World!
MacBook-Pro-6:monoApp lind.zhang$
  1. 制作一个.net web的Dockerfile并运行

前提:我们的web项目要想运行,需要有一个像IIS一种的服务器组件,在linux里我们一般使用jexus来实现这个功能,也就是说,我们的docker镜像应该即有mono还要有jexus的集成,这个镜像我们可以自己写,也可以使用现成的镜像 azraelrabbit/monupw,下面的Dockerfile是把一个web项目monoMvc打包成一个镜像。

先把镜像拉到本地

docker pull azraelrabbit/monupw

部署的步骤

  1. 建立Dockerfile文件,发布网站时应该带上
  2. 发布网站
  3. 进行发布后的地址
  4. 打包 docker build . -t 镜像名称
  5. 启动容器 docker run -d -p 8080:80 镜像名称

编写Dockerfile文件

FROM azraelrabbit/monupw
EXPOSE 80
WORKDIR /data
COPY ./bin/ .

启动你的容器,对外访问用8080端口,容器内部是80端口

MacBook-Pro-6:monoMvc lind.zhang$ docker run -p 8080:80 monomvc
Starting ... OK

.net4.5部署到docker容器的更多相关文章

  1. Ubuntu16.04 部署安装Docker容器 & 注意事项

    一.部署安装Docker容器 1.1 Ubuntu下安装 crul sudo apt install curl curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.多 ...

  2. docker多个容器连接 将 Rails 程序部署到 Docker 容器中

    在docker中使用MySQL数据库 https://yq.aliyun.com/articles/583765 将 Rails 程序部署到 Docker 容器中

  3. 从零开始通过idea插件将一个spring boot项目部署到docker容器里运行

    实操:将一个spring boot项目部署到docker容器里运行 实验需要的环境: 腾讯云+Ubuntu 16.04 x64+idea+插件docker integration+daocloud 第 ...

  4. Linux下将.Asp Core 部署到 Docker容器中

    我们来部署一个简单的例子: 将一个简单的.Aps Core项目部署到Docker容器中并被外网访问 说明: 下面的步骤都是建立在宿主服务器系统已经安装配置过Docker容器,安装Docker相对比较简 ...

  5. 【docker部署】基于linux的centos操作系统部署安装docker容器

    一.docker介绍 容器是轻量级的,包含应用运行所需所有东西(代码.库.运行时环境.系统设置,以及依赖关系)的独立的包.每个容器都部署于它自己的 CPU.内存.块 I/O,以及网络资源上,所有这些都 ...

  6. 为什么不建议把数据库部署在Docker容器内?

    近2年Docker非常的火热,各位开发者恨不得把所有的应用.软件都部署在Docker容器中,但是您确定也要把数据库也部署的容器中吗?这个问题不是子虚乌有,因为在网上能够找到很多各种操作手册和视频教程, ...

  7. 面试官:我把数据库部署在Docker容器内,你觉得如何?

    开源Linux 一个执着于技术的公众号 上一篇:CentOS 7上搭建Zabbix4.0 近2年Docker非常的火热,各位开发者恨不得把所有的应用.软件都部署在Docker容器中,但是您确定也要把数 ...

  8. 将netcore网站部署到docker容器中

    一.背景 最近一直在看docker的教程,基础知识看的差不多了.理论总要运用于实践,所以下面我们就来把最简单的一个netcore网站托管到docker容器中. 环境:1.docker for wind ...

  9. 将Spring-boot应用部署到Docker容器

    1:Docker中设置阿里云加速 使用阿里云的加速器,因为在使用docker的时候,会需要从docker的网站下载镜像文件,下载速度可能会很慢.获得阿里云加速,需要登录阿里云开发者平台,然后点击右侧的 ...

随机推荐

  1. segmenter.go

    ; ;; ].minDistance ; ].text),, ;; ;; ;,) {             output = append(output, toLower(text[alphanum ...

  2. file.go

        //    return int64(f.offset), errors.New("offset > file.size")     //}else {     // ...

  3. Swift 结构体的使用

    Swift 结构体是构建代码所用的一种通用且灵活的构造体. 我们可以为结构体定义属性(常量.变量)和添加方法,从而扩展结构体的功能. 与 C 和 Objective C 不同的是: 结构体不需要包含实 ...

  4. POJ_2653_Pick-up sticks_判断线段相交

    POJ_2653_Pick-up sticks_判断线段相交 Description Stan has n sticks of various length. He throws them one a ...

  5. BZOJ_4813_[Cqoi2017]小Q的棋盘_dfs

    BZOJ_4813_[Cqoi2017]小Q的棋盘_dfs Description 小Q正在设计一种棋类游戏.在小Q设计的游戏中,棋子可以放在棋盘上的格点中.某些格点之间有连线,棋子只能 在有连线的格 ...

  6. Ubuntu配置tomcat9

    buntu 安装jdk:[链接] Ubuntu安装eclipse:[链接] Ubuntu下安装MySQL与mysql workbench:[链接] Ubuntu配置tomcat9:[链接] Ubunt ...

  7. ABP学习笔记(1)-使用mysql

    前言 开始学习ABP啦 下载官方模板 ​ 下载地址: https://aspnetboilerplate.com/Templates ​ 我这边选择的是.NET Core+VUE 移除SqlServe ...

  8. jdk源码阅读笔记-Integer

    public final class Integer extends Number implements Comparable<Integer> Integer 由final修饰了,所以该 ...

  9. sau交流学习社区--songEagle开发系列:Vue.js + Koa.js项目中使用JWT认证

    一.前言 JWT(JSON Web Token),是为了在网络环境间传递声明而执行的一种基于JSON的开放标准(RFC 7519). JWT不是一个新鲜的东西,网上相关的介绍已经非常多了.不是很了解的 ...

  10. Access2007数据库下载地址与AccessHelper

    链接:https://pan.baidu.com/s/1pLzOlTv0nqSbhzujHZht1w 提取码:1m9l AccessHelper: using System; using System ...