在Docker Container 内部安装 Mono 的方法 ---From官网
1.首先 mono 是什么
Mono是一个由Xamarin公司(先前是Novell,最早为Ximian)所主持的自由开放源代码项目。 该项目的目标是创建一系列匹配ECMA标准(Ecma-334和Ecma-)的.NET工具,包括C#编译器和通用语言架构。 与微软的.NET Framework(共通语言运行平台)不同,Mono项目不仅可以运行于Windows系统上,还可以运行于Linux,FreeBSD,Unix,OS X和Solaris,甚至一些游戏平台,例如:Playstation ,Wii或XBox 摘自百度百科
2. 公司的产品开发时需要用到mono
3. 最简单的办法是使用 微软的dotnet sdk 镜像再安装 mono
4. 自己对mono几乎一无所知。
5.最简单的办法, 从hub.docker 里面查找 mono 找到dockerfile 的创建方式 直接进行使用即可

6. 连接到相应的dockerfile 里面 直接点击版本号 即可
https://github.com/mono/docker/blob/c47c852008be6934ac650f282c18c70f2cfec72f/6.0.0.313/slim/Dockerfile 网址在这里 注意里面的内容为:
| FROM debian:stretch-slim | |
| # MAINTAINER Jo Shields <jo.shields@xamarin.com> | |
| # MAINTAINER Alexander Köplinger <alkpli@microsoft.com> | |
| ENV MONO_VERSION 6.0.0.313 | |
| RUN apt-get update \ | |
| && apt-get install -y --no-install-recommends gnupg dirmngr \ | |
| && rm -rf /var/lib/apt/lists/* \ | |
| && export GNUPGHOME="$(mktemp -d)" \ | |
| && gpg --batch --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF \ | |
| && gpg --batch --export --armor 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF > /etc/apt/trusted.gpg.d/mono.gpg.asc \ | |
| && gpgconf --kill all \ | |
| && rm -rf "$GNUPGHOME" \ | |
| && apt-key list | grep Xamarin \ | |
| && apt-get purge -y --auto-remove gnupg dirmngr | |
| RUN echo "deb http://download.mono-project.com/repo/debian stable-stretch/snapshots/$MONO_VERSION main" > /etc/apt/sources.list.d/mono-official-stable.list \ | |
| && apt-get update \ | |
| && apt-get install -y mono-runtime \ | |
| && rm -rf /var/lib/apt/lists/* /tmp/* |
7. 自己修改一下(庆幸的是 dotnet sdk 也使用的ubuntu 直接可以用如上的命令进行处理)
FROM dotnetsdk2.1vimssh:gscloud1906
# 注意这里是使用了自己安装 vim 的 images 进行的后续处理 RUN apt-get update \
&& apt-get install -y --no-install-recommends gnupg dirmngr \
&& rm -rf /var/lib/apt/lists/* \
&& export GNUPGHOME="$(mktemp -d)" \
&& gpg --batch --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF \
&& gpg --batch --export --armor 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF > /etc/apt/trusted.gpg.d/mono.gpg.asc \
&& gpgconf --kill all \
&& rm -rf "$GNUPGHOME" \
&& apt-key list | grep Xamarin \
&& apt-get purge -y --auto-remove gnupg dirmngr
ENV MONO_VERSION 6.0.0.313 RUN echo "deb http://download.mono-project.com/repo/debian stable-stretch/snapshots/$MONO_VERSION main" > /etc/apt/sources.list.d/mono-official-stable.list \
&& apt-get update \
&& apt-get install -y mono-runtime \
&& rm -rf /var/lib/apt/lists/* /tmp/*
8. 执行docker build 就可以生成带mono的环境了。
在Docker Container 内部安装 Mono 的方法 ---From官网的更多相关文章
- CentOS下安装和配置MySQL-JDK-Tomcat-Nginx(个人官网环境搭建手冊)
今天,又一次弄我的个人云主机的环境.准备运营自己用Java写的个人官网等站点. 服务器环境:阿里云CentOS 6.4位 包含以下脚本在内的绝大部分命令和脚本,都是我亲自运行过,靠谱的. 完整的&qu ...
- CentOS下安装和配置MySQL-JDK-Tomcat-Nginx(个人官网环境搭建手册)
今天,重新弄我的个人云主机的环境,准备运营自己用Java写的个人官网等网站. 服务器环境:阿里云CentOS 6.4位 包括以下脚本在内的绝大部分命令和脚本,都是我亲自执行过,靠谱的. 完整的&quo ...
- 开源Inno Setup官网下载、安装、打包教程(官网安装向导中文语言包)
安装Inno Setup篇 1.搜索Inno Setup 2.下载Inno Setup 3.选择下载最新 innosetup-5.5.9-unicode.exe 版本(innosetup-5.5.9. ...
- linux下安装redis,按照redis官网安装不成功需要提前安装c++环境(安装成功并可以测试)
这个安装是一种便捷的安装,没有几句,但是完全按照官网上的来没有安装成功,有前提条件的 打开linux root登录 然后在usr下面建文件夹redis,进入 在该文件加下,直接按照官网的指导进行安装即 ...
- 【docker】 docker容器内部安装vi命令
有时会需要在docker容器内使用vi命令,但是新启动的docker容器内并没有vi命令,那就需要自己安装一个 1.使用命令 apt-get update 2.进行安装 apt-get install ...
- Ajax中最有名axios插件(只应用于Ajax)(post方法,官网写错了,应是字符串格式)
/* axios v0.18.0 | (c) 2018 by Matt Zabriskie */!function(e,t){"object"==typeof exports&am ...
- Docker源码分析(七):Docker Container网络 (上)
1.前言(什么是Docker Container) 如今,Docker技术大行其道,大家在尝试以及玩转Docker的同时,肯定离不开一个概念,那就是“容器”或者“Docker Container”.那 ...
- 进入正在运行的 docker 容器(docker container)
在使用 docker 容器的时候,我们总会想看看容器内部长什么样子:我们使用 docker exec 命令可以满足我们的期望: ➜ compose docker exec --help Usage: ...
- Docker源码分析(八):Docker Container网络(下)
1.Docker Client配置容器网络模式 Docker目前支持4种网络模式,分别是bridge.host.container.none,Docker开发者可以根据自己的需求来确定最适合自己应用场 ...
随机推荐
- boost 函数与回调
result_of 含义:result_of可以帮助程序员确定一个调用表达式的返回类型,主要用于泛型编程和其他boost库组件,它已经被纳入TR1 头文件:<boost/utility/resu ...
- 【原创】洛谷 LUOGU P3366 【模板】最小生成树
P3366 [模板]最小生成树 题目描述 如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz 输入输出格式 输入格式: 第一行包含两个整数N.M,表示该图共有N个结点和M条无向边.(N ...
- Manacher 算法学习小记
概要 一个字符串有多少个回文的字串?最多有 \(O(n^2)\) 级别个.但 Manacher 算法却可以用 \(O(n)\) 的时间复杂度解决这个问题.同时 Manacher 算法实现非常简单. 一 ...
- Navicat Premium 12破解版激活(全新注册机)
使用打包下载就可以了 打包下载:(注册机有5.0和5.1用哪个看心情,我用的5.1) 连接:https://pan.baidu.com/s/1ARjFa2vEYxe9sljbrZR8fQ 提取码:lx ...
- nginx关于uri的变量
在nginx中有几个关于uri的变量,包括$uri $request_uri $document_uri,下面看一下他们的区别 : $request_uri: /stat.php?id=1585378 ...
- mybatis批量查询引发的血案
mybatis提供了foreach语法用于所谓的批量查询,使用方式如下: ①.定义接口 /** * 批量获取任务id列表对应的任务名称 * @param taskIdList:任务id列表 * @re ...
- jsp页面,使用Struts2标签,传递和获取Action类里的参数,注意事项。<s:a action><s:iterator><s:param>ognl表达式
在编写SSH2项目的时候,除了使用<s:form>表单标签向Action类跳转并传递参数之外,很更多时候还需要用到<s:a action="XXX.action" ...
- 黑马lavarel教程---9、缓存操作
黑马lavarel教程---9.缓存操作 一.总结 一句话总结: legend2项目中自己写的哪些文件操作都可以通过这里的缓存实现,简单方便 1.lavarel中如何使用后端主流的缓存如 Memcac ...
- qt+opencv编译环境的配置
第一步:安装与配置Qt 从https://account.qt.io/downloads下载Qt,并注册账户.开始安装.首先下载qt-opensource-windows-x86-mingw482_o ...
- python异常值检验实战2_医美手术价格
python信用评分卡建模(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_ca ...