Comment installer Docker sur Ubuntu 18.04 [Guide pour CE et EE]

En 2017, Docker a présenté deux versions différentes de sa plate-forme: Docker-CE et Docker-EE. Mais connaissez-vous leurs différences?

dessin

Docker CE (Community Edition) est le moteur Docker classique OSS (Open Source Software). Inclut la plate-forme Docker complète et est idéal pour les développeurs et les équipes de bricolage qui commencent à créer des applications de conteneur.

Si vous êtes un développeur passionné comme moi, vous utilisez probablement Docker depuis un certain temps. Et je dirais que c'est probablement la version avec laquelle vous avez travaillé, simplement parce que c'est gratuit!

dessin

Docker EE, en revanche, est une version premium de CE. Il est livré avec toutes les fonctionnalités CE ainsi que de nombreuses fonctionnalités de niveau entreprise.

Tout ce qui vient avec la prime n'est pas gratuit, non? Cela passe donc d'un plan de base de 750 $ / mois à un plan avancé de 2000 $ / mois. Quoi qu'il en soit, les prix sont à la hauteur de ce que vous attendez des produits d'entreprise.

Veuillez contacter leur équipe commerciale pour vérifier les prix les plus récents.

Docker CE vs EE - les détails

Faisons une comparaison rapide entre les intérêts de Docker EE et de Docker CE au fil du temps:

Maintenant Docker EE vs Docker CE vs Docker:

D'après mon expérience, les utilisateurs qui recherchent uniquement Docker recherchent l'édition CE. Cela nous montre que Docker EE est beaucoup moins utilisé. Mais je suis certain qu'il existe des cas d'utilisation robustes où il est logique de l'utiliser.

Comme je suis un passionné de l'open source, toute mon expérience vient de l'utilisation de l'édition Docker CE, donc écrire cet article a été une merveilleuse expérience de jouer avec Docker EE.

Après cette brève introduction, mettons la main à la pâte.

dessin

Préparer la machine Ubuntu 18.04

Dans un premier temps, nous préparerons le sol en exécutant certaines commandes courantes.

Toutes les commandes seront exécutées sur une nouvelle machine Ubuntu 18.04, et cette fois j'ai choisi Google Cloud Platform comme environnement de démonstration.

Créer la machine virtuelle

Commençons par créer une nouvelle VM à l'aide de l'image Ubuntu 18.04:

gcloud compute instances create ubuntu-fcc-demo \ --zone=us-central1-c \ --machine-type=n1-standard-1 \ --image=ubuntu-minimal-1804-bionic-v20200703a \ --image-project=ubuntu-os-cloud \ --boot-disk-size=10GB \ --boot-disk-type=pd-standard

Maintenant, connectez-vous en utilisant ssh:

gcloud compute ssh ubuntu-fcc-demo --zone=us-central1-c

Configurez les dépendances communes:

sudo apt-get update sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common

Installez Docker CE sur Ubuntu 18.04

Installer depuis //get.docker.com

Le script d'installation vous permet d'installer rapidement les dernières versions de Docker-CE sur les distributions Linux prises en charge. Je ne recommande pas de dépendre de ce script pour le déploiement sur les systèmes de production. Depuis docker-install:

curl -sSL //get.docker.com/ | sh

La beauté de cette commande est qu'elle vérifiera votre distribution Linux et exécutera les bonnes instructions pour que Docker CE fonctionne pour vous.

Vous pouvez tester que tout va bien en exécutant:

sudo docker run hello-world # output Hello from Docker! This message shows that your installation appears to be working correctly.
dessin

Installer à partir du référentiel Docker

Celui-ci a plus d'étapes, mais c'est l'approche recommandée par les documents officiels de Docker (nous vérifions même leur empreinte digitale de clé GPG).

Tout d'abord, ajoutez la clé GPG officielle de Docker:

curl -fsSL //download.docker.com/linux/ubuntu/gpg \ | sudo apt-key add -

Vérifiez ensuite l'empreinte digitale de la clé:

sudo apt-key fingerprint 0EBFCD88

Recherchez l'empreinte digitale 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88. Cela garantit que la clé n'a pas été tempérée avec.

Ensuite, configurez un référentiel stable docker :

sudo add-apt-repository \ "deb [arch=amd64] //download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"

La   $(lsb_release -cs)commande renvoie la distribution Ubuntu. Dans notre cas, nous avons utilisé bionic.

Maintenant, installez Docker Engine:

 sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io

Et testez que tout va bien en exécutant:

sudo docker run hello-world # output Hello from Docker! This message shows that your installation appears to be working correctly.
dessin

Instructions basées sur docs.docker.com.

Installez Docker EE sur Ubuntu 18.04

Install using Mirantis Launchpad CLI

To work with Docker EE you need a trial/purchased version. Docker disabled the option to get a trial subscription on their website, and now you need to contact their sales team to get a trial account.

Looking around I found out that, since Mirantis acquired Docker Enterprise, the way to get a Docker EE trial account has changed. You need to go to the Mirantis website and, after applying, you can download it right away.

At the time of this writing the installer is currently beta software. If there's a different way to install Docker EE, please get in touch. I would love to improve this article!

The Mirantis Launchpad CLI tool ("launchpad") is the new, better way to evaluate and experience Docker Enterprise (check out launchpad GitHub).

Download Launchpad CLI

Start by Downloading Launchpad. For Ubuntu 18.04 I used the launchpad-darwin-x64 version.

If you didn't download it from the Virtual Machine, here's a command to upload it to it:

gcloud compute scp launchpad-linux-x64 ubuntu-fcc-demo:~/launchpad \ --zone=us-central1-c

Next, verify the installation:

# Give it writting permission chmod +x launchpad # Verify the installation ./launchpad version # output version: 0.12.0 commit: 4492884

Then register your user:

launchpad register

The information provided via registration is used to assign evaluation licenses and for providing assistance for the usage of the product.

Next, set up your  cluster.yaml config.

This step was the one that took the most time for me. You need to set up 3 machines:

  • Admin machine: The one where you are executing the launchpad command.
  • Worker machine: Will be running your workloads.
  • Manager machine: Contains the admin dashboard, where you have access to many configs and metrics.

They did a great job with the Go launchpad binary. The tricky parts are within the infrastructure setup. Fortunately they already have some terraform scripts to help with it.

Since at the time of this writing there was no option for GCP, I had to setup the infrastructure manually. The Admin machine connects to the Worker and Manager nodes to setup many steps, so make sure you have the ssh keys correctly set up.

The ssh keys step took me some time to figure out, and I even opened an issue in their repo, but then I quickly solved it. So if you have a similar issue, make sure you check it out.

There's a really detailed documentation about each attribute you can use in the config file.

Now it's time to bootstrap your cluster.

Once you have the cluster.yaml config set up, you can run the apply command:

launchpad --debug apply

You should see something like this:

Running phase: Install Docker EE Engine on the hosts

This is where I can say that they did a really good job abstracting all the setup steps.

There are 37 steps that the Go launchpad binary executes.

At the end you should see a message like this:

INFO[0021] ==> Running phase: UCP cluster info INFO[0021] Cluster is now configured. You can access your cluster admin UI at: //34.71.157.231 \ INFO[0021] You can also download the admin client bundle with the following command: launchpad download-bundle --username  --password  

Now, to test that everything is OK, go into the cluster admin UI:

After logging in, you are presented the cluster admin UI:

dessin

I played a little with some of its features, and overall they are great. They provide easy to usage Access Controls and Certified Docker images.

These instructions are based on this getting-started guide.

Wrapping up

In this article we saw how to set up Docker on Ubuntu 18.04 for both CE and EE versions.

Et depuis que Mirantis a acquis Docker Enterprise, nous avons découvert que Launchpad est le dernier moyen pour les clients souhaitant essayer les licences Docker Enterprise.

Dans l'ensemble, l'expérience du développeur / déploiement est vraiment bonne, car presque toutes les étapes pour préparer un environnement pour Docker EE sont automatisées. Et Docker semble chercher à automatiser de plus en plus ce processus, donc c'est vraiment sympa!

* Illustrations par Icons 8 de Icons8

Si vous avez trouvé cela utile, ou si vous souhaitez contester ou étendre quelque chose soulevé ici, n'hésitez pas à me contacter sur Twitter ou Linkedin. Connectons-nous!