Docker运行 Mono

Docker 是最近相当热门的一个名词,它是一个基于 Linux Container 的轻量化的虚拟技术,而微软也相当积极与 Docker 合作,在 Azure 上支持这个火热的技术,并且提供简单的方式来建立 Docker Host,本文将会介绍如何在 Azure 上使用 Docker运行DockerMono镜像。

Docker 简介

Docker 是一个开源的项目,主要的特点是能将应用程序包装在一个 LXC (Linux Container) 容器中,当这些应用被包装进容器后,部署、迁移都变得更为简单。与传统的虚拟化技术相比,虚拟机需要安装操作系统才能执行应用程序,而 Container 则不需要安装操作系统就能运行应用程序。Container 技术是一种在 操作系统内的 Kernel 层所打造虚拟运行环境,所以 Container 彼此之间共享了 Host OS 的 Kernel,但通过namespace 区分来达到隔离每个容器的目的。

本文并不会针对 Docker 这个技术做深入的介绍,主要着重在 Azure 对于 Docker 所提供的支持做介绍,详细了解可以参考 Docker入门教程

在 Azure 上建立 Docker Host

Docker 可以运行在 Linux 操作系统之下,所以如果要在 Azure 上使用 Docker,您也可以自行建立一个Linux VM,并在上面安装 并运行Docker Deamon 。而微软在正式宣布与 Docker 密切合作后,推出了对 Docker 的直接支持,CentOS 7 中 Docker 的安装

Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。因此想要安装 docker,只需要运行下面的 yum 命令:

[root@Mono ~]# yum install docker

启动 Docker 服务

[root@ Mono ~]# systemctl start docker.service

[root@ Mono ~]# systemctl enable docker.service

下载官方的 CentOS 镜像到本地

[root@Mono ~]# docker pull centos

centos:latest: The image you are pulling has been verified

511136ea3c5a: Pull complete

5b12ef8fd570: Pull complete

34943839435d: Pull complete

Status: Downloaded newer image for centos:latest

确认 CentOS 镜像已经被获取:

[root@Mono ~]# docker images centos

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE

centos latest 34943839435d 13 days ago 224 MB

运行一个 Docker 容器:

[root@Mono ~]# docker run -i -t centos /bin/bash

[root@5d841f64f6f0 /]# ls /etc

BUILDTIME group nsswitch.conf rpm

DIR_COLORS group- openldap sasl2

DIR_COLORS.256color gshadow opt securetty

DIR_COLORS.lightbgcolor gshadow- os-release security

GREP_COLORS gss pam.d selinux

X11 host.conf passwd services

aliases hostname passwd- shadow

alternatives hosts pkcs11 shadow-

bash_completion.d hosts.allow pki shells

bashrc hosts.deny pm skel

binfmt.d init.d popt.d ssl

centos-release inputrc prelink.conf.d sysconfig

chkconfig.d iproute2 printcap sysctl.d

cron.daily issue profile system-release

cron.hourly issue.net profile.d system-release-cpe

csh.cshrc krb5.conf protocols systemd

csh.login ld.so.conf rc.d terminfo

dbus-1 ld.so.conf.d rc0.d tmpfiles.d

default libaudit.conf rc1.d udev

dracut.conf.d libuser.conf rc2.d virc

environment localtime rc3.d xdg

exports login.defs rc4.d xinetd.d

filesystems logrotate.d rc5.d yum

fstab magic rc6.d yum.conf

gcrypt modules-load.d redhat-release yum.repos.d

gnupg motd resolv.conf

groff mtab rpc

我们可以看到,CentOS 容器已经被启动,并且我们得到了 bash 提示符。在 docker 命令中我们使用了 "-i 捕获标准输入输出"和 "-t 分配一个终端或控制台"选项。若要断开与容器的连接,输入 exit。

[root@5d841f64f6f0 /]# exit

Exit

我们还可以搜索基于 mono的容器。 发现已经有非常多的mono容器,我们开始玩docker mono。

[root@Mono ~]# docker search mono

NAME DESCRIPTION STARS OFFICIAL AUTOMATED

mono Mono is an open source implementation of M... 24 [OK]

akoeplinger/mono-aspnetvnext Image containing everything needed to play... 14 [OK]

monokrome/wine 4 [OK]

monokrome/node 3 [OK]

friism/mono 2 [OK]

benhall/docker-mono Docker file at https://github.com/Ben Hall/... 2

devdiv/ubuntu-mono 1

nacyot/fsharp-mono 1 [OK]

caseyjbenko/docker-mono 1 [OK]

nacyot/csharp-mono 1 [OK]

rexm/mono-docker 1 [OK]

prozachj/docker-mono-aspnetvnext 1 [OK]

clarktlaugh/mono 0 [OK]

marcells/mono 0 [OK]

seif/docker-mono-fastcgi-nginx 0 [OK]

fghedin/docker-mono 0 [OK]

shaunol/mono-owin-webapi 0 [OK]

seif/mono-runit 0 [OK]

timefairy/debian-mono 0 [OK]

shaunol/learning-mono 0 [OK]

rmacdonaldsmith/docker-debian-mono-devel 0 [OK]

misakai/mono Mono and LLVM on Debian 0

bryanayers/centos7-mono-snapshot 0 [OK]

fghedin/docker-mono-hello 0 [OK]

acazau/docker-mono 0 [OK]

andmos/mono Baseimage for Mono-runtime. 0

eflab/mono 0

jbonhag/mono-hosting-wcf 0 [OK]

thachmai/mono-complete 0 [OK]

andrefernandes/docker-mono 0 [OK]

mikehadlow/ubuntu-monoxide-mono-devel 0 [OK]

allunite/mono-base Ubuntu with Mono base image 0

wimperdt/mono-in-docker 0 [OK]

ahmet/docker-mono-build 0 [OK]

pmcgrath/mono 0

allunite/buildimage-mono Drone.io build image for mono apps 0

tomrijntjes/monoculture 0 [OK]

pjvds/mono 0

basecrm/mono 0

monokrome/btsync 0 [OK]

basespace/mono 0

robzhu/mono 0

monokrome/zmq 0 [OK]

bowery/mono 0

wbonner/unity-mono 0

wayneo/mono 0

rwentzel/ubuntu-mono Ubuntu 13.04 with Mono 3.2.3 0

scottrudy/mono 0

haaf/mono-baseline A Mono 3.8 baseline with F# installed . So... 0

monokrome/minecraft 0 [OK]

bryanayers/centos7-mono3.10.0 0 [OK]

tilde/mono 0

junsuzuki/mono 0

virkokka/mono-fsharp Ubuntu 14.04 with mono and F# 0

pcherng/phasingapp-mono-dev 0

bryanayers/centos7-mono3.8.0 0 [OK]

monokrome/gitreceive 0 [OK]

kolektiv/mono 0

octohost/mono 0

leptonix/mono 0

monokrome/azure-cli 0 [OK]

monokrome/renderize 0 [OK]

monokrome/gitolite 0 [OK]

paulbrennan/mono 0

monokrome/sshd 0 [OK]

basespace/centos-mono 0

monokrome/nibbler 0 [OK]

saltosystems/mono-xsp4-app 0

clintonalee/centos6-mono 0

endeavour/nginx-mono 0

monokrome/chat 0 [OK]

armbuild/crosbymichael-mono 0

jpina/centos-mono 0

bjornno/mono-phonebook 0

pcherng/jellyfish-mono 0

petee/centos-mono 0

menziesbenwiles/test-mono 0

nyasara/azurepymono A base ubuntu image with Mono, Azure SDK f... 0 [OK]

allanlei/mono-fastcgi-server2 0

petee/centos-mono-2.10.2 0

nyasara/monobase Adds Azure SDK and IronPython to a mo no image 0

hack13/mono310 opensuse mono 3.10 0

originalsurfmex/monode development sandbox (uses 8080): node , exp... 0

jgarverick/monocent Linux image with Mono framework pre-i nstalled 0

pgrm/mono_baseimage 0

pcherng/puma00-14-07-09-mono 0

jgarverick/monodeb 0

azraelrabbit/monup mono opt for jexus web server 0 [OK]

afilimonov/hcci-solr 0 [OK]

afilimonov/docker-solr 0 [OK]

fireantik/fireantmonodocker 0 [OK]

monolive/centos 0

monofraps/centos65-base 0

callumelgrant/docker-mono-aspnetvnext 0 [OK]

seif/mono Debian based mono container using xam arin ... 0 [OK]

smartprocure/mono 0 [OK]

jamesottaway/mono Mono is an open source implementation of M... 0 [OK]

cuda/mono Mono latest release container based o n Ubu... 0 [OK]

crosbymichael/mono 0 [OK]

derekslager/mono 0 [OK]

shaunol/centos-mono 0 [OK]

matsprea/mono-aspnetvnext Repository with MONO and the Asp.Net vnext... 0 [OK]

djsell/mono 0 [OK]

andystanton/exec-mono 0 [OK]

ndelitski/mono 0 [OK]

[root@Mono ~]#

下载Mono的 docker镜像

[root@Mono ~]# docker pull mono

mono:latest: The image you are pulling has been verified

f10807909bc5: Pull complete

f6fab3b798be: Pull complete

3c43ebb7883b: Pull complete

7a1f8e485667: Pull complete

a342319da8ea: Pull complete

3774d7ea06a6: Pull complete

9da8fc8d2ff5: Pull complete

511136ea3c5a: Already exists

Status: Downloaded newer image for mono:latest

[root@Mono ~]#

使用docker运行mono

[root@Mono ~]# docker run -i -t mono bash

)

root@66f9d4b4c73b:/# mono -V

Mono JIT compiler version 3.10.0 (tarball Wed Nov 5 12:50:04 UTC 2014)

Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com

TLS: __thread

SIGSEGV: altstack

Notifications: epoll

Architecture: amd64

Disabled: none

Misc: softdebug

LLVM: supported, not enabled.

GC: sgen

root@66f9d4b4c73b:/#

 
 

Docker运行 Mono的更多相关文章

  1. 在 Azure 上使用 Docker运行 Mono

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

  2. 如何使用windows版Docker并在IntelliJ IDEA使用Docker运行Spring Cloud项目

    如何使用windows版Docker并在IntelliJ IDEA使用Docker运行Spring Cloud项目 #1:前提准备 1.1 首先请确认你的电脑是windows10专业版或企业版,只有这 ...

  3. Docker 运行Tensorboard 和 jupyter的正确方法

    Docker 运行Tensorboard 和 jupyter的正确方法 网上找了很多方法都是jupyter 运行正常但不知道如何打开Tensorboard.折腾了很久,实验很多中方法最终找到了一个正确 ...

  4. 在Linux(Centos7)上使用Docker运行.NetCore

    在上一篇中我们写了如何在windows中使用docker运行.netcore,既然我们了解了windows下的运行发布,我们也可以试试linux下使用docker运行.netcore项目,那么今天我们 ...

  5. 在Windows上使用Docker运行.NetCore

    今天我们来说下如何在windows下使用docker运行.net core,既然是docker,那么我们首先得在windows上安装docker. 在Windows安装 docker 有两种选择 :1 ...

  6. ASP.NET Core 2.1 使用Docker运行

    重要提示,本文为 ASP.NET Core 2.1 如果你是 2.2 那么请将文中的镜像换为 microsoft/dotnet:2.2.0-aspnetcore-runtime 即可,其他操作一样 1 ...

  7. Docker学习笔记之搭建Docker运行环境

    0x00 概述 既然 Docker 是一款实用软件,我们就不得不先从它的安装说起,只有让 Docker 运行在我们的计算机上,才能更方便我们对 Docker 相关知识和使用方式的学习.得益于与商业性的 ...

  8. nuxt docker 运行

    nuxt 是vue 版的next ,实现的功能还是很方便的,对于需要开发性能要求比较高的web app 是一个很不错的选择 备注: 项目很简单,使用docker && docker-c ...

  9. Singer 学习五 docker 运行说明

    介绍过一个工具knots ,方便Singer 可视化开发的工具,但是默认这个工具包含的tap 以及target 比较少(可以自己扩展) 同时这个工具就是基于docker 运行的 docker 运行的几 ...

随机推荐

  1. Java和C#的socket通信相关(转)

    这几天在博客园上看到好几个写Java和C#的socket通信的帖子.但是都为指出其中关键点. C# socket通信组件有很多,在vs 使用nuget搜索socket组件有很多类似的.本人使用的是自己 ...

  2. javascript滚动栏响应鼠标滑轮的实现上下滚动事件

    实现鼠标滚动滚轮事件: <script type="text/javascript"><pre name="code" class=" ...

  3. HDU 1026 Ignatius and the Princess I 迷宫范围内的搜索剪枝问题

    这个问题是一个典型的类型的问题迷宫广泛的搜索. 在网上看到了很多解决方案. 没什么解决问题的分析报告,不指出其中的关键点.代码更像是一大抄.一些分析师也有很大的文章分析.只是不要全部命中关键,什么是广 ...

  4. ASP.NET MVC常见问题解决方法

    1.页面报错: The following errors occurred while attempting to load the app. - No assembly found containi ...

  5. swift 笔记 (十九) —— 协议

    协议(Protocols) 协议仅是用定义某些任务或者是功能必须的方法和属性. 类似于java里的interface的作用.但协议并不会实现详细的功能. 我猜这个名字源于OO中提到的"契约& ...

  6. HDU-4628 Pieces 如压力DP

    鉴于他的字符串,每一个都能够删除回文子串.子可以是不连续,因此,像更好的模拟压力.求删除整个字符串需要的步骤的最小数量. 最大长度为16,因此不能逐行枚举状态.首先预处理出来全部的的回文子串,然后从第 ...

  7. 安装、设置与启动MySql绿色版的方法

    原文:安装.设置与启动MySql绿色版的方法 1.解压 mysql-noinstall-5.1.30-win32.zip(下载地址http://dev.mysql.com/downloads/mysq ...

  8. 一键安装 gitlab7 on rhel6.4 并设置邮件发送

    一键安装 gitlab7 on rhel6.4 并设置邮件发送 世间本无事,庸人自扰之.书归正传,简短节说:gitlab是个好东西,可是安装手冊奇烂.尽管以前对比文档一步一步安装起来gitlab 6. ...

  9. Thinkpad E431 解决无线网卡无法开启

    Thinkpad E431无线网卡无法开启 现象再现: Thinkpad E431新机,原装win8系统,使用win7光盘换为win7系统,官方下载驱动程序,安装后无线上网正常. 点击功能软件Acce ...

  10. SEO思维的优化源于生活

    [回顾]无论哪个行业的,.学习技巧和操作非常简单,它主要是一个时间的问题?回到seo行业,操作和技能是非常easy学习,和seo入门是互联网行业最easy行业,不像有些人理解的代码,敲代码等,它必须基 ...