根据前面的方法,在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. sqlserver 2008 局域网跨服务器T-SQL操作(一)

    --查看当前链接情况: select * from sys.servers; --增加链接,参数:服务器别名,为链接服务器的OLE DB数据源的产品名称,与此数据源对应的OLE DB访问接口的唯一编程 ...

  2. Reset Password Functionality FAQ

    In this Document   Purpose   Questions and Answers   How can users request a password reset?   How d ...

  3. HDU 1021 - Fibonacci Again

    找规律,分析让 F[N] 每一项对 3 取余的余数: 1,2,0, 2,2,1,0, 1,1,2,0, 2,2,1,0, 1,1,2,0, 2,2,1,0 ......... 显然循环了 #inclu ...

  4. CentOS上编译安装Git

    1. 安装(编译安装)软件 # 先安装git依赖的包 yum install zlib-devel yum install openssl-devel yum install perl yum ins ...

  5. sqlmap的详细使用

    各项参数讲的太仔细了,对于只会几个参数的我来说,太受用了. 先mark下 http://drops.wooyun.org/tips/143 http://drops.wooyun.org/tips/4 ...

  6. In Depth : Android Boot Sequence / Process

    In Depth : Android Boot Sequence / Process What happened when I press power on button in my Android ...

  7. (极简)linux安装QT4.7.3

    1.下载QT http://download.qt.io/ 我用的:qt-everywhere-opensource-src-4.7.3.tar.gz 2.解压安装QT 建议解压到/use/local ...

  8. LayoutInflater 与 inflate

    Instantiates a layout XML file into itscorresponding View objects. LayoutInflater作用是将layout的xml布局文件实 ...

  9. OceanBase中主备Rootserver如何管理切换

    主RootServer会不断给备RootServer发送lease.被RootServer收到该lease后会保存到几个变量中: int ObCheckRunnable::renew_lease(co ...

  10. Web API核查表:设计、测试、发布API时需思考的43件事[转]

    Web API核查表:设计.测试.发布API时需思考的43件事   当设计.测试或发布一个新的Web API时,你是在一个原有的复杂系统上构建新的系统.那么至少,你也要建立在HTTP上,而HTTP则是 ...