在Docker Container 内部安装 Mono 的方法 ---From官网
2023-09-27 14:24:15 时间
1.首先 mono 是什么
Mono是一个由Xamarin公司(先前是Novell,最早为Ximian)所主持的自由开放源代码项目。 该项目的目标是创建一系列匹配ECMA标准(Ecma-334和Ecma-335)的.NET工具,包括C#编译器和通用语言架构。 与微软的.NET Framework(共通语言运行平台)不同,Mono项目不仅可以运行于Windows系统上,还可以运行于Linux,FreeBSD,Unix,OS X和Solaris,甚至一些游戏平台,例如:Playstation 3,Wii或XBox 360 摘自百度百科
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安装zookeeper&zookeeper基本使用(非常详细)
- docker快速搭建redis集群
- 【深度学习】docker中安装ssh服务,并使用vscode连接操作其文件夹
- Docker CentOS 安装方法
- Discourse 安装的时候提示 Docker 错误
- WSL2:安装CentOS7(或任何你想安装的Linux发行版)【方法①:利用docker拉镜像,再导出】【方法②:直接利用CentOS-WSL安装包】
- docker安装redis
- 【自动化测试】从0开始玩转docker—— 01软件安装
- 查看 Secret - 每天5分钟玩转 Docker 容器技术(156)
- 安装 Docker Machine - 每天5分钟玩转 Docker 容器技术(45)
- NETCORE 之 openSUSE docker 安装
- Centos 安装Docker
- Docker for windows pull镜像文件的安装位置改变方法
- 在centos里面安装docker(有空研究下)
- docker-Nginx--(含vue项目docker启动)
- docker 安装ElasticSearch的中文分词器IK
- docker基础命令
- CentOS安装Docker Compose
- Docker管理面板系列——Portainer
- Docker Swarm
- Docker for mac 的安装与使用
- Docker安装
- python学习之美多商城(十三):商品部分:FastDFS、Docker安装FastDFS、FastDFS客户端与自定义文件存储系统