.net4.5部署到docker容器

摘要:
.net4.5部署到docker容器,部署到windows容器,部署在linux容器,部署至windows容器。因为net本身运行在windows平台上,它也更适合windows容器。您可以基于iis映像编写Dockerfile文件来构建。net项目图像。两个现成的例子。netconsole程序dockerrun--rmmcr。微软com网站
.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容器》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇了解 yarn 、npm、nodejs开源物联网平台(Thingsboard)-运行下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

docker日志设置

最近查看docker日志的时候,使用命令docker log -f 会出现日志无限翻滚的情况,这些日志都是打印到控制台的,但是都被docker收集了起来,放到了/var/lib/docker/containers/{容器id}/*.log中,一般默认的日志格式是{容器id}-json.log,如果日志大小不加限制,很可能日志会无限增长最终撑爆磁盘。 首先先...

HFish蜜罐-基于Docker的搭建与配置

HFish介绍 HFish 是一款基于 Golang 开发的跨平台多功能主动诱导型开源蜜罐框架系统,为了企业安全防护做出了精心的打造,全程记录黑客攻击手段,实现防护自主化。 在Docker上搭建HFish 获取镜像 docker pull imdevops/hfish 容器部署 docker run -d --name hfish -p 21:21 -...

IDEA中一键部署SpringBoot项目到Docker

一、修改配置文件,打开2375端口 [root@microservice ~]# vim /usr/lib/systemd/system/docker.service 在ExecStart=/usr/bin/dockerd 后面加上-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock 重新加载配置文件和启...

kaldi 三个脚本cmd.sh path.sh run.sh

参考 kaldi的全部资料_v0.4 cmd.sh 脚本为: 可以很清楚的看到有 3 个分类分别对应 a,b,c。a 和 b 都是集群上去运行这个样子, c 就是我们需要的。我们在虚拟机上运行的。你需要修改这个脚本 # "queue.pl"uses qsub. The options to it are # options to qsub. If yo...

阿里云-容器服务之集群服务 k8s(Jenkins+gitlab+k8s的devops)- 01

由于docker官方停止更新Swarm,另外swarm在使用期间出现了很多bug,所以阿里云也在2019年7月发布公告:于2019年12月31日起停止技术支持,请您尽快迁移至容器服务Kubernetes版。 swarm这里不再赘述; 现在阿里云推荐Kubernetes集群服务; 本人从2019年7月开始学习使用,目前服务还是比较稳定,除了有些小问题,在此期...

Docker mysql主从配置

一:Mysql基于Docker的主从复制搭建 1:安装docker,安装步骤可见我之前的文章:Docker-常用基建的安装与部署 docker ps 命令查询当前的容器状态,这就是我们最后要达到的效果。 2:首先拉取mysql官方镜像 bash> docker pull mysql:5.7 演示环境是在同一台服务器上部署。因为docker创建容器时...