Run Mono and azuredocker on Azure using Docker
Docker is a popular term recently. It is a lightweight Virtual Technology Based on Linux iner. Microsoft is also very active in cooperating with Docker to support this hot technology on Azure, it also provides a simple way to create a Docker Host. This article will introduce how to use Docker to run the DockerMono image on Azure.
Docker Introduction
Docker is an open-source project. Its main feature is to package applications in an LXC (Linux Container) Container. When these applications are packaged into a Container, deployment and migration become easier. Compared with traditional virtualization technology, virtual machines need to install the operating system to run applications, while Container can run applications without installing the operating system. The Container technology is a virtual runtime environment built on the Kernel layer in the operating system. Therefore, the Container shares the Kernel of the Host OS with each other, however, namespace is used to isolate each container.
This article does not give an in-depth introduction to the Docker technology. It focuses on the support provided by Azure for Docker. For more information, see the Docker getting started tutorial.
Create a Docker Host on Azure
Docker can run under the Linux operating system. To use Docker on Azure, you can create a Linux VM and install and run Docker Deamon on it. Microsoft officially announced its close cooperation with Docker and launched direct support for Docker. Docker installation in CentOS 7
The Docker package is included in the default CentOS-Extras software source. To install docker, run the following yum command:
[Root @ Mono ~] # Yum install docker
Start the Docker Service
[Root @ Mono ~] # Systemctl start docker. service
[Root @ Mono ~] # Systemctl enable docker. service
Download the official CentOS image to your local device.
[Root @ Mono ~] # Docker pull centos
Centos: latest: The image you are pulling has been verified
2017136ea3c5a: Pull complete
5b12ef8fd570: Pull complete
34943839435d: Pull complete
Status: Downloaded newer image for centos: latest
Confirm that the CentOS image has been obtained:
[Root @ Mono ~] # Docker images centos
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
Centos latest 34943839435d 13 days ago 224 MB
Run a Docker container:
[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
The 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
We can see that the CentOS container has been started and we get a bash prompt. In the docker command, we use the "-I capture standard input and output" and "-t assign a terminal or console" options. To disconnect from the container, enter exit.
[Root @ 5d841f64f6f0/] # exit
Exit
We can also search for mono-based containers. We found that there are already many mono containers. We started to play with docker mono.
[Root @ Mono ~] # Docker search mono
Name description stars official automatic
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]
Paulbrnan/mono 0
Monokrome/sshd 0 [OK]
Basespace/centos-mono 0
Monokrome/nibbler 0 [OK]
Saltosystems/mono-xsp4-app 0
Clintonalee/centos6-mono 0
Endeavor/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
PET/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
Puma00-14-07-09-mono/pcherng 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 ~] #
Download the docker image of Mono
[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
2017136ea3c5a: Already exists
Status: Downloaded newer image for mono: latest
[Root @ Mono ~] #
Run mono using docker
[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
Specifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: sgen
Root @ 66f9d4b4c73b :/#