DEV Community

Andy Costanza
Andy Costanza

Posted on

Docker sur Arch Linux

Voici un petit guide de mise en route pour déployer une application Spring Boot dans un conteneur docker sur ArchLinux

Pré-requis

Les commandes ci-dessous sous exécutée sur ArchLinux.

Installation de docker et de ses autres outils

$ sudo pacman -Syu docker docker-compose docker-machine
$ sudo systemctl start docker
$ sudo systemctl enable docker
Enter fullscreen mode Exit fullscreen mode

Modification des droits d'accès de l'utilisateur

ATTENTION :

If you want to be able to run docker as a regular user, add your user to the docker user group.
Anyone added to the docker group is root equivalent. More information here and here.

$ sudo gpasswd -a ${USER} docker
$ sudo reboot
Enter fullscreen mode Exit fullscreen mode

Sous GNOME j'ai dû redémarrer la machine car un simple déconnexion de session n'a pas suffi.

Testons la configuration

Est-ce que Docker est bien configuré

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
Enter fullscreen mode Exit fullscreen mode

Si on vous demande un mot de passe c'est que vous avez merdé lors de l'ajout du groupe docker à votre utilisateur

Récupérons un simple projet Spring Boot, compilons le

$ mkdir Projets
$ cd Projets
$ git clone https://gitlab.com/docker-spring-cloud/docker-demo.git
$ cd docker-demo
$ ./mvnw install dockerfile:build
Enter fullscreen mode Exit fullscreen mode

Félicitation, vous venez de compiler et de "conteneuriser" votre première application Spring Boot

Démarrons le conteneur Docker

$ docker image ls
REPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE
andycostanzacom/docker-demo    latest              18c5d16986d9        2 hours ago         119MB
openjdk                        8-jdk-alpine        97bc1352afde        7 weeks ago         103MB
$ docker run -p 8080:8080 -t andycostanzacom/docker-demo
Enter fullscreen mode Exit fullscreen mode

Dans votre navigateur internet, ouvrez la page http://localhost:8080/hello et si la page vous répond "hello" c'est que tout va bien, vous venez d'appeler un endpoint Spring Boot dans un conteneur docker.

Trucs et astuces

Pour savoir quel conteneur est en cours de fonctionnement :

$ docker ps
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS              PORTS                    NAMES
43721a2aff5d        andycostanzacom/docker-demo   "java -cp app:app/li…"   8 seconds ago       Up 7 seconds        0.0.0.0:8080->8080/tcp   hungry_greider
Enter fullscreen mode Exit fullscreen mode

Pour arrêter un conteneur :

$ docker stop 43721a2aff5d
43721a2aff5d
Enter fullscreen mode Exit fullscreen mode

Ouais je sais, il pourrait être plus explicite que de renvoyer juste le Container ID!

Top comments (0)