前段时间写了很多docker for .net core的文章,用来快速部署微服务相当给力,而尝到了香头的我们希望把.net frameworks的程序也使用docker来部署一下,那么接下来我就结果一下,在linux,docker上运行和部署.net frameworks应用程序的过程。

  1. .net跨平台的运行时mono
  2. .net应用程序的宿主服务器jexus
  3. 应用程序的反射代理&负载均衡服务Nginx
  4. 快速部署容器技术docker
  5. 批量运行部署脚本sh

首先,你的linux系统上要装有mono,当然你绝对可以使用一个docker镜像

其次,你的linux系统上应该装jexus,这个非常简单,下载,解压,运行就可以了

最后,我们可以直接下载一个mono和jexus共存的docker镜像,然后以它当做基础镜像

开始,建立我们的Dockerfile,基础镜像包括了mono和jexus,主要把当前目录的obj\docker\publish目录的内存复制到容器的/data目录,然后在jexus里是以这个目录为default网站的,所以我们主要做复制操作即可,脚本的最后是重启我们的jexus服务!

FROM mono/jexus:1.0
ARG source
COPY ${source:-obj/Docker/publish} /data
EXPOSE
WORKDIR /usr/jexus
CMD /usr/jexus/jws start && tail -f

容器,我们写个sh脚本,用来清理不需要的镜像和上次保存的应用程序镜像,然后build它,run它即可

#!/bin/sh
docker rm jmvc -f
docker rmi jmvc:latest
docker rmi $(docker images | awk '$1 == "<none>" && $2 == "<none>" {print $3}')
docker build --no-cache -t jmvc:latest .
docker run -it -d -p : --name jmvc --restart=always -v $(pwd)/obj/publish:/var/www/jexus jmvc:latest
echo ".net frameworks web api is running!"

sh ./start.sh

浏览,当容器被启动后,我们可以在浏览器上访问我们的api程序了!

是后需要告诉大家,之前写过部署jexus时的一些坑,像需要把compile的包包删除,这些大家要注意!

感谢各位的阅读!

最新文章

  1. linux-11 基本命令之 -工作期目录切换命令-pwd,cd,
  2. implicit和explicit的基本使用
  3. JavaSE配置文件java.util.Properties【单例模式Singleton】
  4. 神奇的main方法详解
  5. Linux建立软连接
  6. POJ 1734 Sightseeing trip(无向图最小环+输出路径)
  7. Foundation和CoreFoundation之间的转换
  8. about云资源共享
  9. UVA 11736 Debugging RAM
  10. 阅读国外大神对this的分析,自己的总结
  11. python制作pdf电子书
  12. php自动加载规范 PSR4 (Thinkphp)
  13. ionic3 导航的应用(页面跳转与参数传递)
  14. Javaweb里“容器“为何出现,应用在哪,未来发展趋势
  15. 发现一个强大的可视化第三方库pyecharts
  16. hdu 2097 sky数(进制转换)
  17. go环境变量与sublime Text3开发工具
  18. idea中添加类和方法注释以及codeCheck
  19. Ubuntu下允许Root用户的操作 (图形界面登录、su切换……)
  20. Win8.1的IE11无法打开,必须使用管理员身份运行

热门文章

  1. C语言中的文件操作
  2. STL容器特征总结与迭代器失效
  3. NO0:重新拾起C语言
  4. AtCoder Beginner Contest 102
  5. N1游记
  6. POJ(有向图求LCA)
  7. 10 Vue 学习 shortList页面
  8. Linux命令总结_命令执行顺序
  9. Windows下搭建svn服务器端--创建自…
  10. qpython 读入数据问题: EOF error with input / raw_input