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

微软与Docker公司建立了新的合作伙伴关系,宣布推出Azure市场上的第一个Docker镜像,以便在Windows Server上增加对Docker工具的支持。因其业务计算能力,Docker风靡云世界,很大程度上是由于 它的轻量的、容器化的虚拟应用的方法,这让企业可以跳过每个VM要求的操作系统。

“用户现在可以更轻松地选择Docker库中的项目,同时用户还可获得一个具有最有Docker引擎的 Azure Ubuntu VM且可以意即使用,”微软还将为Docker生态系统带来Windows Server容器。作为这项工作的一部分,用于Windows Server容器的Docker引擎将在Docker开源项目的支持下进行开发,微软将以社区成员的身份参与。Windows Server容器镜像将在Docker Hub上和其它Linux Docker镜像一起提供。

微软与Docker的合作是强强联合,在各自的领域中两个公司都是行业翘楚。Windows Server是企业级的应用系统,Docker的容器技术已经日趋炉火纯青。不难预见,Azure云的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:/#

Azure支持docker简介以及使用指南的更多相关文章

  1. Azure DevOps+Docker+Asp.NET Core 实现CI/CD(一 .简介与创建自己的代理池)

    前言 本文主要是讲解如何使用Azure DevOps+Docker 来实现持续集成Asp.NET Core项目(当然 也可以是任意项目). 打算用三个篇幅来记录完整的全过程 觉得有帮助的朋友~可以左上 ...

  2. 微软Azure开始支持Docker技术

    前一段时间还在与微软的技术人员讨论媒体转换服务的效率问题,如果应用 Docker将会有质的提高,没想到国外的Azure已经开始支持了,相信国内Azure支持也不远了.微软正在努力确保Azure成为开发 ...

  3. 【转】Docker简介与入门

    转自:https://segmentfault.com/a/1190000000448808 Docker是个新生的事物,概念类似虚拟化.网上关于Docker入门的东西已经很多了.不过本文探讨了Doc ...

  4. Docker简介以及安装

    Docker简介以及安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是容器 1.一种虚拟化方案 与传统的虚拟机不同,传统的虚拟机是通过中间层将一台或多台独立的机器虚拟运 ...

  5. docker简介以及优缺点

    1.docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制, ...

  6. 进击的docker 一 : Docker 简介

    Docker简介 1.什么是docker 1.1.docker 起源 开源项目 诞生2013年初 GO语言开发实现 遵从了Apache2.0协议 项目代码在GitHub维护 1.2.docker目标 ...

  7. Docker简介

    Docker简介 1.容器虚拟化,比传统的虚拟化轻量 2.2013年出现,发展非常迅猛 3.Redhat在6.5版本开始支持docker 4.使用go语言开发,基于apache2.0协议 5.开源原件 ...

  8. Docker简介以及操作

    Docker 简介 Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go 语言实现. 项目后来加入了 Linu ...

  9. Docker学习—Docker简介

    什么是Docker Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go 语言实现. 项目后来加入了 Linu ...

随机推荐

  1. swift学习笔记-UI篇之UIImageView

    1.基本使用 将要使用的图片拖入到项目里,我这里使用的是名为“1.jpg”的图片,然后创建UIImageView,并设置要显示的图片为"1.jpg"//1. 基本使用 let im ...

  2. 代码自动生成工具_java版

    项目结构: 这里要实现的功能是,当我们给出了bean,如:Admin,User,People等实体类后, 我想用代码自动生成我想要的代码,最后生成的效果: 也就是说为每一个bean都生成相应的Dao, ...

  3. 实例学习写Makefile文件

    目录 0. 扫盲 1. 编译,链接 2. Makefile文件执行 3. Makefile书写规则 4. 案例 5. Makefile是如何工作的 6. 拔高,参考 0. 扫盲 Linux 环境下的程 ...

  4. javascript grunt安装和使用

    grunt是javascript世界的构建工具. 为何要用构建工具? 一句话:自动化.对于需要反复重复的任务,例如压缩(minification).编译.单元测试.linting等.自动化工具可以减轻 ...

  5. maven小项目注册服务(三)--web模块

    java的web应用打包方式一般为war它和jar的区别就是包含了更多的资源和文件,如JSP文件,静态资源文件,servlet等等.war包的核心就WEB-INF文件夹下必须有一个web.xml 的配 ...

  6. IS_ERR、PTR_ERR、ERR_PTR

    最近在使用filp_open打开文件时遇到到一个问题,当打开一个并不存在的文件时,filp_open返回值值为0xfffffffe,而并不是0(NULL),这是因为内核对返回指针的函数做了特殊处理.内 ...

  7. Android Material Design-TabLayout的使用

    TabLayout 位于 android.support.design.widget.TabLayout. 一般与 ViewPager 结合在一起使用.以前有开源库 viewpagerindicato ...

  8. linux文件和目录基本操作

    比较特殊的目录: .   代表此层目录 .. 代表上一层目录 - 代表前一个工作目录 -代表当前用户身份所在的主文件夹 -account 代表account用户所在主文件夹 1.目录相关操作 cd切换 ...

  9. Java Web编程的主要组件技术——Servlet

    参考书籍:<J2EE开源编程精要15讲> Servlet是可以处理客户端传来的HTTP请求,并返回响应,由服务器端调用执行,有一定编写规范的Java类. 例如: package test; ...

  10. ios-cocos2d游戏开发基础-CCLayer和Touch事件-开发笔记

    有时候在同一个场景里你需要多个CCLayer.你可以参照以下代码生成这样的场景 +(id) scene { CCScene* scene = [CCScene node]; CCLayer* back ...