Cloud Hosting

How to: Getting started with Windows Containers and Docker


This article is a basic primer on how to use Windows Server 2016 with Containers and Docker on the Atlantic.Net Cloud. Docker popularized containers first on Linux, but now with Windows 2016, Windows containers are now natively supported as well. This means you can build your application in a container and ship it across your development and production environments knowing that it will work and run the exact same way on every device.

In this tutorial, we will deploy a web page in an IIS container from a Microsoft-distributed IIS container image. Let’s get started with a quick tutorial!

Deploying an Atlantic.Net Cloud Server

First, we need to deploy a new Windows 2016 with Containers server from the Atlantic.Net Cloud.

  • Log in to cloud login
  • Click “+ Add Server.”
  • On the “Add a Server” page, enter the following:
  • Server Name: What you’d like your server’s name to be. For example, “Windows 2016 Docker.”
  • Location: The data center you want your server created in.
  • Type: Under the “Operating Systems” tab, select “Windows,” and then select “2016 Datacenter (with Containers/Docker).”
  • Term: Do you want month-to-month, on-demand pricing, or do you want a one or three year term commitment for this server?
  • Plan: We recommended at least a G2.2GB plan size for Windows-based servers, due to memory requirements.
  • Enable Backups: Do you want your server backed up by us daily?Docker selection
  • Click “Create Server” to begin the provisioning of the server. The next page will have your login credentials for the new server displayed. Please save these somewhere so you can use them to log in. Note: The credentials will also be emailed to you.

Logging in to Windows 2016

Once the server is done provisioning, you will need to log into Windows 2016. Click here to find out how to remotely log in.

Checking Your Docker Version

Ensure that Docker is actually installed by running the “docker version” command from the Windows command prompt (cmd.exe).

C:\Users\Administrator>docker version

 Version:      17.03.1-ee-3
 API version:  1.27
 Go version:   go1.7.5
 Git commit:   3fcee33
 Built:        Thu Mar 30 19:31:22 2017
 OS/Arch:      windows/amd64

 Version:      17.03.1-ee-3
 API version:  1.27 (minimum version 1.24)
 Go version:   go1.7.5
 Git commit:   3fcee33
 Built:        Thu Mar 30 19:31:22 2017
 OS/Arch:      windows/amd64
 Experimental: false

Running Your First IIS Container

The first step is to retrieve the Microsoft distributed IIS container. We could do this with the docker pull command (ie: docker pull microsoft/iis). However, in the interest of simplicity, we can skip this step and go straight to launching our first container. Docker will automatically pull down the necessary image (and any dependent images) if they don’t already exist locally.

Note: We are going to set some properties of the container when we run the command:

  • Name: The name of the container. In this case, we would specify the name by entering “–name myIIS.”
  • Ports: You can specify what ports you want open on the server. You do this by binding the internal ports of your container to an external port so it is accessible publicly. In this case, we are binding port 80 (the web port) of the container to port 80 of our Cloud Server with “-p 80:80“.

Docker will automatically pull down the necessary image (and any dependent images) if they don’t already exist locally.

C:\Users\Administrator>docker run -d --name myIIS -p 80:80 microsoft/iis
Unable to find image 'microsoft/iis:latest' locally
latest: Pulling from microsoft/iis
3889bb8d808b: Pull complete
6d4d50238ed1: Pull complete
0606d7d474d1: Pull complete
672755d284cd: Pull complete
88f5b9741695: Pull complete
d53dd94c8474: Pull complete
Digest: sha256:bcbcb3b442bc5f0ab3b8b769b52584d98751861b5e438b866d59287cc8112f10
Status: Downloaded newer image for microsoft/iis:latest

Your container is now running, which you can check with the following command:

C:\Users\Administrator>docker ps -a
CONTAINER ID        IMAGE               COMMAND                   CREATED             STATUS              PORTS                NAMES
2614436cb74c        microsoft/iis       "C:\\ServiceMonitor..."   4 days ago          Up 4 days >80/tcp   myIIS

Next, we will login to the container and start a Windows command prompt (cmd.exe) in the container to enter interactive commands:

C:\Users\Administrator>docker exec -i myIIS cmd
Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.


Now that you are logged into the container, we are going to remove the default IIS web server start page so we can add our own index page:

del C:\inetpub\wwwroot\iisstart.htm

Now add your own content to the index.html page:

echo "Nice! My first container is displaying this text on my index page!" > C:\inetpub\wwwroot\index.html

Now open a browser and type in the IP address of your Cloud Server into the URL field. You should now see your index page:

iis container


Back in the CMD prompt, type exit to exit the interactive session of the container:



Building and Deploying a Docker Container with Your Changes

Now that the container is configured the way you want, you can save the container to a new container image for future use. First, we need to grab the name of the container from the “docker ps -a” command and stop the container:

C:\Users\Administrator>docker ps -a
CONTAINER ID        IMAGE               COMMAND                   CREATED             STATUS              PORTS                NAMES
2614436cb74c        microsoft/iis       "C:\\ServiceMonitor..."   4 days ago          Up 4 days >80/tcp   myIIS
C:\Users\Administrator>docker stop myIIS

Create the new container with “docker commit <current name> <new image name>“. In our case the current name is “myIIS“:

C:\Users\Administrator>docker commit myIIS configured-iis

Verify the new image has been created:

C:\Users\Administrator>docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
configured-iis      latest              4d08b0a5561e        44 seconds ago      10.5 GB
microsoft/iis       latest              9e66ceefdc5a        2 weeks ago         10.4 GB

The container we just created can now be deployed for future use:

docker run -d --name web01 -p 80:80 configured-iis

Now stop the new container and delete it:

C:\Users\Administrator>docker stop web01
C:\Users\Administrator>docker rm web01

Finishing Up

The above was just a basic tutorial.  You can also do interesting things like automating the build of container images using DockerFiles, pushing the images to a centralized repository, and creating redundancy and automatic failover by having multiple nodes setup in a Docker Swarm. Enjoy!

How to Enable User Quotas in cPanel/WHM

Derek Wiedenhoeft April 27, 2017 by under Cloud Hosting 0 Comments

This tutorial will explain how to enable user quotas on Atlantic.Net’s cPanel Cloud Servers. Before we get into the details, let’s do some housekeeping:

Verified on 4/28/17 for cPanel on CentOS 7.2 64-bit


    • Atlantic.Net Cloud Account

Click here to sign up for your free account!

    • SSH Program

Don’t have one? Follow the guides below for how to SSH:

From Windows
From Linux/Mac

    • Atlantic.Net cPanel Server

Follow this simple guide for how to quickly create a cPanel server:

Create cpanel

Connecting to Your cPanel Server

Now it’s time to connect to your server via SSH:

ssh [email protected][IP Address]

Once you connect to your external device, you’ll see the following which is the RSA negotiation between both devices to ensure you’re connecting to the right host:

The authenticity of host '69.28.xx.xx (69.28.xx.xx)' can't be established.
RSA key fingerprint is 75:98:a9:3d:f8:e7:48:bf:05:c9:1b:ea:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes

Check if Your System Has Quotas Enabled


Find the line that says


and if there is no quota enabled, it will say

/dev/sda1 on / type xfs (rw,relatime,attr2,inode64,noquota)

Edit the default Grub file

By editing the default Grub file, we can specify that the file system should have quotas enabled when the system boots up.

Edit the default Grub file with your favorite editor:

nano /etc/default/grub

Modify the following line from:



GRUB_CMDLINE_LINUX=" crashkernel=auto rhgb quiet rootflags=uquota,pquota"

Note: By default, our cPanel Cloud Servers do not have swap enabled. If you have enabled it, you can prepend before

The resulting file should look like this:

GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_CMDLINE_LINUX=" crashkernel=auto rhgb quiet rootflags=uquota,pquota"

Generate the New Grub Configuration File

Now that we have edited the default Grub file, we must use it to generate the Grub bootloader configuration file. First, let’s make a backup of our Grub configuration:

cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bakgrub2-mkconfig -o /boot/grub2/grub.cfg

If done correctly, the system will let you know you generated the file successfully.

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-327.10.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.10.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-17115f95ddd92d410be8cb803e2d845d
Found initrd image: /boot/initramfs-0-rescue-17115f95ddd92d410be8cb803e2d845d.img

Finishing Up

In order for the new changes to take effect, let’s reboot the system:

shutdown now

Allow a minute or two for the cPanel server to reboot. Once it has rebooted, SSH back into the server.

ssh [email protected][IP Address]

Let’s check mount again to see if quota shows up now:

/dev/sda1 on / type xfs (rw,relatime,attr2,inode64,usrquota,prjquota)

As we can now see, user quotas and project quotas are now enabled. You have successfully completed enabling quotas on your Atlantic.Net cPanel Cloud Server!

Your next step is to log in to your cPanel’s WHM to setup quotas: https://[your IP address]:2087. There should no longer be any notification about enabling quotas.

Note: If cPanel is telling you quotas are still not enabled for the filesystem, please run the following command in an SSH terminal:


Questions? Comments? Concerns? Let us know in the comments below or email us at [email protected]!

How to Install Apache on CentOS 7

Derek Wiedenhoeft March 10, 2017 by under Cloud Hosting 0 Comments
Verified and tested on March 3, 2017


Apache is a commonly used service that allows you to serve web pages from your Cloud server. It had robust support for many different technologies by adding modules. It has become commonplace in many web workflows, like LAMP (Linux, Apache, MySQL, and PHP).

In order to install Apache on CentOS 7, you will need to create an Atlantic.Net Cloud Server and select CentOS 7.x for the operating system. You can sign up for our service or spin up a server in our Atlantic.Net Cloud here.

Let’s Get Started – Installing Apache

The first thing we need to do is to make sure CentOS’s YUM package manager is up to date:

[[email protected] ~]# sudo yum update

Next, we need to install the httpd package, which is the Apache web server.

[[email protected] ~]# sudo yum install -y httpd

Note: -y signifies to automatically answer “yes” to if we want to install the httpd package and its dependencies. If you choose not to use this, you will be prompted to answer yes or no before it will install the packages.

Once Apache has finished installing, the httpd service will need to be started and enabled so it will run automatically when the server starts.

[[email protected] ~]# sudo systemctl start httpd
[[email protected] ~]# sudo systemctl enable httpd

We can check that the changes were successful by querying systemctl:

  • On the “Loaded” line, right after “/usr/lib/systemd/system/httpd.service;” it should now says “enabled,” meaning it will automatically start Apache when the server boots up.
  • The “Active” line will show “active (running)” if Apache was started successfully.
httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2017-03-10 20:03:41 UTC; 20s ago
     Docs: man:httpd(8)
 Main PID: 1101 (httpd)
   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─1101 /usr/sbin/httpd -DFOREGROUND
           ├─1102 /usr/sbin/httpd -DFOREGROUND
           ├─1103 /usr/sbin/httpd -DFOREGROUND
           ├─1104 /usr/sbin/httpd -DFOREGROUND
           ├─1105 /usr/sbin/httpd -DFOREGROUND
           └─1106 /usr/sbin/httpd -DFOREGROUND

Mar 10 20:03:41 atlanticnet systemd[1]: Starting The Apache HTTP Server...
Mar 10 20:03:41 atlanticnet systemd[1]: Started The Apache HTTP Server.

We can now check if Apache is accessible from the internet by going to a web browser and typing in the http://[your server's IP address]. This should bring up the Apache test page:

Apache test page

In order to add your own web pages, we will need to navigate to the directory that Apache is, by default, set up to look for HTML files:

[[email protected] conf]# cd /var/www/html

We are now in the directory where your first HTML file, index.html, will be located at. The index.html file is the default page a web server will access when typing in http://[your server's IP address] or http://[your].

Let’s create index.html with the nano text editor:

[[email protected] conf]# sudo nano index.html

Paste in the following HTML.

<h1>This is my new website.</h1>
<p> This is my first web page create running on Apache's web server!<p>

We will save the file with CTRL + O on the keyboard, and then selecting CTRL + X to exit nano.

Finally, go back to your web browser and once again type in http://[your server's IP address]. You should now see your test page:

Apache index page


You have successfully installed and tested the Apache web server!

Study: Cloud Beats Dedicated Systems on Availability

Adnan Raja October 16, 2016 by under Cloud Hosting 0 Comments

Availability is one of the biggest concerns of information technology chiefs. The NIH ran a study comparing availability of cloud and dedicated machines. Cloud won.

  • Availability Among Top Three CIO Concerns
  • Availability: Cloud Hosting vs. Dedicated Servers
  • Cloud for Fast Processing of Huge Datasets

Availability Among Top Three CIO Concerns

Unfortunately for CIOs, there are many aspects of their role that can be stressful. For a survey featured in CIO magazine in 2015, 276 CIOs and other top IT leaders discussed the elements that can give them the most trouble; and the top three were security, availability, and making the right hires.

Let’s look specifically at the issue of downtime; in other words, the need to optimize availability.

Read More

Why One CIO is Pleased with the Cloud

Adnan Raja September 24, 2016 by under Cloud Hosting 0 Comments

Like many other top IT executives in the public and private sectors, a CIO at the National Institutes of Health, Alastair Thomson, is guiding his agency’s staff toward the cloud.

  • Science is Getting Bigger
  • Big Data Fueling Push toward Cloud at NHLBI
  • The Power of Invisibility
  • Hello, I’m Available
  • Security as a Priority

Science is Getting Bigger

Science is ballooning. According to two bibliometric researchers, Ruediger Mutz of the Swiss Federal Institute of Technology and Lutz Bornmann of Germany’s Max Planck Society, the amount of published science is growing at 8-9% per year. “That equates to a doubling of global scientific output roughly every nine years,” explains the British journal Nature. “Bornmann and Mutz find that global scientific output has probably kept up this dizzying rate of increase since the end of World War II.”

Publication is of course not the only way science is growing, as CIOs at science-oriented organizations are reminded on an everyday basis by the scope of their projects. The data used for research used to be discussed in terms of megabytes, then gigabytes. Today, it’s typical for a project to be working at the level of terabytes or petabytes.

Read More

Vendors Bolstering Thin Clients to Account for Cloud-Hosted Desktops

Adnan Raja September 8, 2016 by under Cloud Hosting 0 Comments

Vendors such as IGEL Technology, HP, and Dell are boosting their support for cloud desktops to be used with their thin clients. This trend shows how manufacturers are having to keep pace as cloud becomes increasingly prevalent.

  • Thin Clients Move to Embrace Cloud
  • Thin Client OS Issues: Altra Federal Credit Union’s Experience
  • Thin & Zero Clients Expand Support of Protocols
  • Blast 2.0
  • Gartner: 38.4% IaaS Growth in 2016

Thin Clients Move to Embrace Cloud

In this increasingly cloud-based world, the makers of thin clients are modifying them so that their customers can seamlessly take advantage of cloud-hosted desktops and software.

The extent to which the business world has implemented desktops and software delivered through cloud hosting has expanded in recent years, with companies increasingly wanting to have third parties take care of managing the infrastructure. Meanwhile, the thin client market has been struggling, especially because low-end PCs have grown closer in cost. In order to stay in the game and get the attention of desktop virtualization companies, thin client heavy-hitters, including Dell, IGEL, and HP, have taken steps to support cloud-hosted desktops.

Read More

How to Achieve Operational Excellence in the Era of Cloud Hosting

Adnan Raja September 6, 2016 by under Cloud Hosting 0 Comments

In the age of cloud hosting, as it’s increasingly adopted by enterprises, chief information officers can struggle to maintain operational excellence. Here’s how to deliver consistency with OE as you adopt cloud.

  • Challenges of the Multiple-Vendor Cloud World
  • Knowing What You Mean by “Operational Excellence”
  • Partner with the Provider so You Can Achieve OE
  • Governance of the OE Plan
  • Protecting Your Partnerships
  • Choosing a Strong, Secure Cloud Hosting Partner

Challenges of the Multiple-Vendor Cloud World

In 2016, the business world is benefiting from an increasingly broad variety of cloud tools; and the extent to which they are being adopted continues to grow. For information chiefs in enterprises with sizable on-site app hosting infrastructures who are in the process of adopting cloud more aggressively, you are going to face some threats to the continuity of strong computing operations. In a multi-vendor hosting scenario (i.e., that of cloud), on-site ways to check systems, strategize for disaster recovery, process transactions, manage system modifications, and schedule tasks are a few examples of the many IT responsibilities that can become unexpectedly complicated. Leaders both in business and IT will often not think it’s necessary to pay as much attention to these elements in the expanding cloud climate. However, everything must be integrated in some manner, and with the multi-cloud or multi-vendor situation which is becoming so common, it’s challenging for the quality of operations of your IT services not to suffer.

Read More

Is Cloud Hosting the Future of Business?

Adnan Raja August 29, 2016 by under Cloud Hosting 0 Comments

It’s often difficult to tell if a technology is really taking hold, or if news of its trendiness is mostly industry chatter of businesses that are invested and trying to sell their biased perspective. Is cloud the future, or is it just hype?

  • What is Cloud Computing or Cloud Hosting?
  • How Fast is the Rise of Cloud, Especially IaaS?
  • Pros & Cons of Cloud
  • Strong Cloud Hosting for Your Business

When you search for “cloud computing” on Google, you get 74 million results. Compare that to “dedicated server,” which has only 569,000 results. That gives you a sense of the massiveness of this tech concept. Of course the cloud transcends the datacenter to be a major topic in consumer computing, such as iCloud storage, as well.

To what extent, though, does cloud go beyond being a trend? Is cloud hosting the future of business? Let’s look at what cloud computing is; forecasts on its growth; and pros and cons of this form of computing.

Read More

Computing as a Cloud-Hosted Utility Has Become a Mainstream Idea

Adnan Raja August 22, 2016 by under Cloud Hosting 0 Comments

Small and medium businesses are increasingly adopting cloud, according to a recent survey. In fact, it is almost ubiquitous, with 95% of SMBs now using cloud or planning to use it. As businesses are increasingly using these services, the notion of cloud as a utility is going mainstream.

  • Business Cloud on the Rise: Survey
  • Cloud Hosting as a Utility
  • Business & On-Demand Cloud Hosting

Business Cloud on the Rise: Survey

Almost 19 out of every 20 SMBs currently use a cloud service or are in the planning stages of adopting one, according to a recent survey. Many companies are transitioning to cloud hosting because they are frustrated with their providers of traditional web hosting services.

The poll, from industry research outfit, looked at 300 companies with fewer than 1000 employees. Nearly three-quarters of respondents (72%) said that they have switched hosting web providers since 2011. Fully 86% of businesses said that they had problems with their web host within the last twelve months.

Read More

Cloud: Public, Private, or Somewhere in Between?

Adnan Raja August 3, 2016 by under Cloud Hosting 0 Comments

Public and private clouds both have their advantages. To benefit from both of their strengths, many enterprises are choosing a hybrid cloud.

  • Public and Private Cloud
  • Why are Some Companies Choosing Hybrid?
  • Optimizing Agility
  • Maintaining Compliance
  • Facilitating Partnerships
  • Leveraging Real-Time Decisions
  • Moving Forward with Cloud

Cloud is generally considered a solution that can help businesses control their expenses while giving them the agility to innovate and outmaneuver their competition. The question many organizations have is which type of cloud makes the most sense: public, private, or hybrid. Let’s look at general understandings of the public and private categories and why many enterprises are choosing the compromise of a hybrid.

Public and Private Cloud

Total expenditure on cloud infrastructure is projected at $38.2 billion this year by IDC. This technology is only continuing to grow, so businesses have options – it’s just a matter of deciding which route to take. It used to be that organizations would determine which one of those models made sense primarily based on their industry. Finance companies would generally choose private cloud, for instance. By keeping their cloud in-house, they were able to retain full control of security parameters and know where data was at all times for easier compliance with regulations.

Read More

New York, NY

100 Delawanna Ave, Suite 1

Clifton, NJ 07014

United States

Dallas, TX

2323 Bryan Street,

Dallas, Texas 75201

United States

San Francisco, CA

2820 Northwestern Pkwy,

Santa Clara, CA 95051

United States

Orlando, FL

440 W Kennedy Blvd, Suite 3

Orlando, FL 32810

United States

London, UK

14 Liverpool Road, Slough,

Berkshire SL1 4QZ

United Kingdom

Toronto, Canada

20 Pullman Ct, Scarborough,

Ontario M1X 1E4