/ #Docker 

Shopping for Containers

Over the last six months the Docker Store, which was first introduced as a private beta nearly a year and a half ago in June 2016, has come on leaps and bounds.

It has quickly, but without much fanfare, become a one-stop shop for all things Docker, with both the documentation and home pages linking back to content now hosted on the store.

The store front-page

So what is the Docker Store?

In short, it is a marketplace for containers, plugins and also Docker itself there is a mixture of free and also paid content from both Docker themselves as well as third party providers.

As you can see from the screenshot above, there are currently four main sections.

Docker EE, you can find Docker Enterprise Edition installers for all supported platforms here, from Red Hat Enterprise Linux to Windows Server 2016, you will be able to find the installation media here, as well also the option to purchase a subscription.

Docker CE, if you are happy with the community edition of Docker then this is where you will find all of the various installers, included here are;

Containers, here is where the bulk of the store content is. Here you will find a mixture of free, licensed and subscription-based container images. We will look into this section in more detail in a moment.

Plugins, here you will find the container images used to power the Docker Engine managed plugin system. For example, if you wanted to install the Weave Net plugin into your Docker Swarm cluster you would run;

$ docker plugin install store/weaveworks/net-plugin:2.0.1

This would download the container which contains the plugin from https://store.docker.com/plugins/weave-net-plugin.

The Weave Net Docker plugin page on the Docker Store At the time of writing, all but one of the plugins listed it Docker Certified.

Docker Certified containers mean that the publisher of the container image has submitted to Docker for certification. This gives you, as the consumer of the container, assurances that the container image is fully compatible with Docker Enterprise Edition and also that it is built to accepted best practices.

Containers

As mentioned in the previous section, the bulk of the content on the Docker Store is, no surprises, containers.

The Docker Store is now the official home for all of the core containers curated by Docker themselves. While these containers are still available at the Docker Hub, they are slowly being moved to the Docker Store.

PHP on the Docker Hub As you can see from the screen above of the official image for PHP from the Docker Hub, there is a link to the Docker Store at the top of the page. The Docker Store page for PHP gives you the same view, all be it with a few additions;

PHP on the Docker Store You will notice that the Docker Store page has the price of $0.00 and also it highlights the fact that the image is an Offical Image.

The instructions for pulling the image are the same on both the Docker Hub and Docker Store;

$ docker pull php

Hopefully, they will update both the Nub and Store to use the commanddocker image pull, but that is just me wanting to use the new Docker client commands :)

Let’s take a look at another image, Couchbase on the Docker Hub looks like any other official image;

Couchbase on the Docker Hub However, it’s listing on the Docker Store gives a different story;

Couchbase on the Docker Store Here we can see the image is actually maintained by Couchbase Inc, who, from clicking on the link, we can tell a verified publisher. You will also notice that there are no commands likedocker pull listed on the store, instead, there is a Proceed to Checkout button, as this image is $0.00 let’s try checking it out.

Clicking on the Checkout button takes you to a page which asks for your name, company name, phone number and email address. Once filled in click on Get Content and you will be taken to your subscription page;

Couchbase subscription page Let’s try pulling the image from an un-authenticated Docker client by running;

$ docker pull store/couchbase/couchbase:3.1.5

Access denied !!! Logging in using the docker login command then trying to docker pull the image has a lot more success;

It works when logged in !!! From there I could for example run the following command to launch Couchbase;

$ docker container run -d store/couchbase/couchbase:3.1.5

As you can see, I have had to use the full image name and version to ensure that the image from the Docker Store will be used.

Please note, the commands above are not the best ones to launch a Couchbase container, they are purely for example. If you want to know how to run Couchbase in a container I recommend reviewing the offical documentation.

Another type of purchase from the Docker Store is a Developer Tier one, a good example of this is the Oracle Database Enterprise Edition container, to attach the subscription to your Docker Store account you need to agree to the following;

I agree that my use of each program in this Content, including any subsequent updates or upgrades, shall be governed by my existing Oracle license agreement for the program (subject to quantity and license type restrictions in my program license); or, if I don’t have an existing license agreement for the program, then by separate license terms, if any, stated in the program; or, if I don’t have an existing Oracle license agreement for a program and no separate license terms are stated, then by the terms of the Oracle license agreement [here](http://www.oracle.com/technetwork/licenses/standard-license-152015.html).

I don’t have access to an Oracle entitlement so I didn’t agree (don’t want Larry and his lawyers after me) if I had then the process for pulling would be exactly the same as the Couchbase example.

There is a lot of the additional content which you will not find in the Docker Hub on the Docker Store, I recommend browsing the Docker Store and see what are you missing out on.

Author

Russ Mckendrick

Buys way too many vinyl records, writes a lot about Docker & loves orchestration. Works at @node4ltd / @n4stack has written for @PacktPublishing