根据前面的方法,在windows和Linux共享文件夹,然后就可以开发了!

Start up an Ubuntu container

$ docker run -it ubuntu bash

Update apt-get inside the container

$ apt-get update

Install mono-complete

root@47b0e0464825:/# apt-get install mono-complete

Sanity test – run mono

root@47b0e0464825:/# mono
Usage is: mono [options] program [program-options] Development:
--aot[=<options>] Compiles the assembly to native code
...
--gc=[sgen,boehm] Select SGen or Boehm GC (runs mono or mono-sgen)

Suspend container, back to host shell

$ <Control-P><Control-Q>
root@47b0e0464825:/# [root@localhost share]#
[root@localhost share]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
47b0e0464825 ubuntu "bash" About an hour ago Up About an hour furious_payne

Commit changes to new Docker image

[root@localhost share]# docker commit 47b0e0464825 howie/monodev
87f7b9c4f3f5e809e3141b78117d6d8b984935a6b1023cbb9756409bdaad0cb4

Run new Docker image

root@localhost share]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
howie/monodev latest 87f7b9c4f3f5 3 minutes ago 589.8 MB

Create a hellomono.cs file

$ vim hellomono.cs
[root@localhost share]# ls
hellomono.cs

public class HelloMono
{
static public void Main()
{
System.Console.WriteLine("Hello Mono!");
}
}

compile

[root@localhost share]# docker run -it --rm -v $(pwd):/mono -w/mono howie/monodev mcs hellomono.cs

Run

[root@localhost share]# docker run -it --rm -v $(pwd):/mono -w /mono howie/monodev mono hellomono.exe
Hello Mono!

参考文章:http://dotnetliberty.com/index.php/2015/10/04/mono-and-c-sharp-on-docker-hello-world-in-15-steps/?_tmc=JnJW_22cvahemGz-VrPpV-o6AeShsAY4R6CsqV6i5V4&mkt_tok=3RkMMJWWfF9wsRonuqTMZKXonjHpfsX57uQtXa%2BzlMI%2F0ER3fOvrPUfGjI4ASsBiI%2BSLDwEYGJlv6SgFQ7LMMaZq1rgMXBk%3D

【Howie玩docker】-使用mono编译c#程序的更多相关文章

  1. 【Howie玩docker】-windows下玩docker

    Windows下安装toolbox一直没成功,于是投机取巧,用虚拟机手工打造玩docker的方法. 步骤: 安装虚拟机,安装centos 在win下建立共享文件夹,假如是 f:/share 在cent ...

  2. 【Howie玩docker】-命令行只显示-bash-4.1#

    灵雀云上面用docker建了个centOS的实例,首个免费,正好当云主机来玩. 但是,打开有个问题,命令行不显示当前用户和路径. 只显示: -bash-4.1# 简单,配置文件不全而已. 下面对其重新 ...

  3. 【Howie玩docker】-docker安装

    windows忽略,小苹果木有,所以咱只看ubuntu和centOS的吧! 参考书<Docker技术入门与实战> Ubuntu 14.04安装Docker Ubuntu 14.04版本官方 ...

  4. 【Howie玩docker】-Centos 7 docker 启动容器iptables报No chain/target/match by that name

    重启了一下服务器,以前能运行的docker网络应用都不能正常开启了. 因为用的是centos7,所以猜测有可能是iptables的问题. docker start 或者run 后总是提示类似的错误: ...

  5. 【Howie玩docker】-Docker常用命令操作

    attach     附加到一个运行的容器上面       --no-stdin=false Do not attach stdin       --sig-proxy=true Proxify al ...

  6. 在 Azure 上使用 Docker运行 Mono

    Docker 是最近相当热门的一个名词,它是一个基于 Linux Container 的轻量化的虚拟技术,而微软也相当积极与 Docker 合作,在 Azure 上支持这个火热的技术,并且提供简单的方 ...

  7. Docker运行 Mono

    Docker运行 Mono Docker 是最近相当热门的一个名词,它是一个基于 Linux Container 的轻量化的虚拟技术,而微软也相当积极与 Docker 合作,在 Azure 上支持这个 ...

  8. Docker源码编译

    官方建议docker源码编译在docker容器内进行,因为官方提供的容器内已经继承了编译需要的环境,如果非要自己搭建编译环境也不是不可以,就是稍微有些繁琐.以下以1.8.2版本为例. 1.pull d ...

  9. 使用docker创建aosp编译环境

    如果只需要编译一个版本的aosp,那么如果在主机上架建环境即可,可写的程序如果要在各个aosp版本中编译,那在主机上架建多个aosp编译环境可以会比较麻烦,github上找到一个openstf用doc ...

随机推荐

  1. JQuery 拖动层

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  2. 工厂类分离与java反射机制

    网易 博客 发现 小组 风格 手机博客 玩LOFTER,免费冲印20张照片!> 创建博客登录  加关注 黙言-在路上 奋斗 首页 日志 相册 音乐 收藏 博友 关于我             黙 ...

  3. 设计模式之适配器模式(Decorator)

    1.意图 动态地给一个对象添加一些额外的功能. 2.适用性 动态.透明的方式给单个对象添加职责. 如果不适合适用子类来进行扩展的时候,可以考虑适用装饰模式. 避免子类数目爆炸性增长. 3.结构 4.参 ...

  4. python基础:测量python代码的运行时间

    Python社区有句俗语:“python自己带着电池” ,别自己写计时框架.Python 2.3 具备一个叫做 timeit 的完美计时工具可以测量python代码的运行时间. timeit模块 ti ...

  5. 封装jQuery插件的步骤

    引语:jQuery提供了很多插件,我们在开发的过程使用插件能节省时间简化开发也避免从头开始编写每个组件,单我们除了懂得使用别人已编写好的插件以外,也到懂得如何封装属于我们自己的插件,以下就是封装jQu ...

  6. SQLite header and source version mismatch 解决方案

    我下载了sqlite源码,并且configure, make, make install. 然后就出现SQLite header and source version mismatch  的错误. 上 ...

  7. asp.net mvc4中model与Model的区别

    @model模型定义 使用@model关键字可以定义一个Action里所对应的一个模型(经常可以叫他实体类), 其实是对动态变量进行实例化,这样就可以直接在cshtml文件中调用“Model”变量. ...

  8. android PopupWindow显示位置

    PopupWindow的显示及位置设置 window.showAtLocation(parent, Gravity.RIGHT | Gravity.BOTTOM, 10,10); 第一个参数指定Pop ...

  9. Azure 为 SAP 提供的增强监控解决方案

    正如大家在之前公告中所看到的,多个SAP应用程序已获得认证可在 Azure虚拟机中运行,未来还会有更多 SAP应用程序获得认证.对于希望在 Azure中运行 SAP应用程序的客户来说,这是个激动人心的 ...

  10. Dialog 顶部黑线问题

    Dialog 顶部黑线问题 样式如下: [java] view plaincopyprint? <style name="Transparent_Dialog"> &l ...