Creating a docker VM on Azure manually

In order to create this site, I take the opportunity to use Docker creating a new VM on Azure. In this article I will share the steps I used to create it by hand (without using the Docker VM Extension which makes it even easier).

First of all, I created an Ubuntu 14.04 virtual machine on Azure using the Azure Portal. I choose this ubuntu version because its the latest Long Term Support image available at the moment. In order to create the VM, just select new, choose the Ubuntu 14.04 image and follow the steps. In case that you need more details, you can find them in this article.

Once the VM was created, I configured the DNS name label for the VM in the configuration blade of it’s Public IP address (You can find it in the resource group). By specifying the DNS name, you will be able to locate your VM easily. Additionally, I configured the Inbound Security rules in the Network security group, adding port 80 for http access. Moreover, I configure my domain’s DNS (In this opportunity I choose Namecheap) to point to the VM’s URL using CNAME.

Then, I connected to the VM using ssh (don’t forget to append your username to avoid issues with your local username by using shh [email protected]) and started the configuration part. First of all, I update the dependencies by executing the usual commands for ubuntu:

sudo app-get update -y
sudo app-get upgrade -y

Docker logo, the key part of my Docker VM :P


Once everything is up to date, its time to install docker (else, it wouldn’t be a Docker VM :P). Docker documentation explains how to install and configure docker in Ubuntu in a really easy way. You can find this information here. To sum up, the steps are the following:

  1. Update package information, ensure that APT works with the https method, and that CA certificates are installed.
    apt-get update -y
    apt-get install apt-transport-https ca-certificates -y
  2. Add the new GPG key.
    sudo apt-key adv --keyserver hkp:// --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
  3. Create the following file /etc/apt/sources.list.d/docker.list and add the following entry (for ubuntu 14.04)
    deb ubuntu-trusty main
  4. Update the APT package index.
    apt-get update
  5. It’s recommended to install the linux-image-extra kernel package. The linux-image-extra package allows you use the aufs storage driver. To do so, execute the following command.
    sudo apt-get install linux-image-extra-$(uname -r)
  6. Install docker by executing the following command.
    sudo apt-get install docker-engine
  7. Verify docker was installed correctly, execute the following command. If it is needed, start docker server executing sudo service docker start.
    sudo docker run hello-world
  8. I also created the docker group and added my user to it, in order to avoid using sudo to run docker.
    sudo usermod -aG docker ubuntu

I also installed docker-compose following the instructions on this article.

That’s it. By following all the steps, I had my Docker VM up and running. In the following posts I will be explaining the architecture and the ideas and technologies behind this site.

Hello world! About me

Nicolas Bello Camilletti profile imageHi, I’m Nicolás Bello Camilletti, a software developer that loves new technologies and new exciting challenges. Because of that, I’m constantly getting out of my comfort zone and this blog, which is deployed on a Docker container on a Microsoft Azure VM is a sample of my general behavior.

I usually don’t write a lot in blogs but this year, as part of my commitment as a new Microsoft Most Valuable Professional (MVP), I will make my best in order to change that and share some of the things I know. To ensure this, I create this site as one of my first projects of the year.

I will be writing about cloud computing, mobile and web development, NoSQL, IoT, Windows 10 and Windows Phone development and a few more things. Basically, all the technologies that I like and also the once I work on daily basis. Moreover, I will also be writing about some books I’m reading mainly related to how to present and leadership.

Finally, I will try to keep these articles as much consumable as possible. If you want to know more about me, you can follow me on twitterlinkedin, and github.

See you later 🙂