Docker is a fairly popular noun recently, it is a lightweight virtual technology based on Linux Container, and Microsoft is quite active in partnering with Docker, supporting this fiery technology on Azure, and providing a simple way to build Docker Host, This article will show you how to use Docker on Azure.
About Docker
Docker is an open source project, and the main feature is the ability to package applications in a LXC (Linux Container) container, and when these applications are packaged into containers, deployment and migration are made simpler. Compared to traditional virtualization technologies, virtual machines need to have an operating system installed to execute applications, while Container can run applications without having to install an operating system. Container technology is a Kernel layer within the operating system to create a virtual run environment, so Container shared the Host OS Kernel, but through the namespace to isolate each container to achieve the purpose.
This article does not give you an in-depth introduction to Docker, which focuses on the support provided by Azure for Docker, and provides a detailed overview of Docker Getting Started tutorial.
Building a Docker Host on Azure
Docker can run under the Linux operating system, so if you're using Docker on Azure, you can build a Linux VM yourself and install and run Docker Deamon on it. Microsoft, after formally announcing its close collaboration with Docker, has launched a direct support for Docker, installing the Docker in CentOS 7
The Docker package is already included in the default Centos-extras software source. So you want to install Docker, just run the following yum command:
[email protected] ~]# Yum install Docker
Start the Docker service
[Email protected] Mono ~]# systemctl start Docker.service
[Email protected] Mono ~]# systemctl enable Docker.service
Download the official CentOS image to the local
[email protected] ~]# Docker pull CentOS
Centos:latest:The image you pulling have been verified
511136ea3c5a:pull Complete
5b12ef8fd570:pull Complete
34943839435d:pull Complete
status:downloaded newer image for Centos:latest
Confirm that the CentOS image has been acquired:
[email protected] ~]# Docker images CentOS
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
CentOS latest 34943839435d days ago 224 MB
Run a Docker container:
[email protected] ~]# Docker run-i-T Centos/bin/bash
[Email protected]/]# 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
As we can see, the CentOS container has been started and we have the bash prompt. In the Docker command we used the "-I capture standard input and output" and "-T assign a terminal or console" option. To break the connection to the container, enter exit.
[[Email protected]/]# exit
Exit
We can also search for mono-based containers. Discovering that there are already very many mono containers, we started playing Docker mono.
[email protected] ~]# Docker search Mono
NAME DESCRIPTION STARS Official automated
Mono Mono is an open source implementation of M ... [OK]
Akoeplinger/mono-aspnetvnext Image containing everything needed to play ... [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. Vnext ... 0 [OK]
Djsell/mono 0 [OK]
Andystanton/exec-mono 0 [OK]
Ndelitski/mono 0 [OK]
[Email protected] ~]#
Download Mono's Docker image
[[email protected] ~]# Docker pull Mono
Mono:latest:The image you pulling have 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
[Email protected] ~]#
Run mono with Docker
[[email protected] ~]# Docker run-i-T Mono bash
)
[Email protected]:/# 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
[Email protected]:/#
Use Docker on Azure to run Mono