Certificat CA dans Docker

Introduction

Il peut être nécessaire de charger un certificat dans le conteneur Docker et de lui faire confiance. Dans l’exemple ci-dessous, un sous-répertoire selfsigned a été créé dans le répertoire où docker-compose.yml a été placé, contenant le certificat et le script associé. Un fichier avec le contenu suivant doit être créé dans ce répertoire. Dans l’exemple, le fichier est nommé trust_selfsigned.sh. Le certificat à copier porte le nom de fichier CAcert.pem

Script

#!/bin/bash

cp /opt/selfsigned/CAcert.pem /etc/pki/ca-trust/source/anchors/
update-ca-trust
echo "Self-signed CA certificate has been added to OS trust store" (Le certificat auto-signé de l'autorité de certification a été ajouté au magasin de confiance du système d'exploitation)

Ensuite, dans docker-compose.yml le script et le certificat doivent être montés

Monter le script et le code

services :
  relution :
    environnement :
      ...
      - RELUTION_PRERUN_SCRIPT=/opt/selfsigned/trust_selfsigned.sh
    ...
    volumes :
      - './application.yml:/opt/relution/application.yml'
      - './selfsigned:/opt/selfsigned'

Sortie de la commande curl

La fonction peut être testée avec un CURL.

[root@d4b846425890 relution]# curl -I https://selfsigned.server.relution.io
HTTP/1.1 302 Found
Date : Tue, 21 Sep 2021 12:37:10 GMT
Serveur : Apache/2.4.38 (Univention)
Emplacement : https://selfsigned.server.relution.io/portal/
Content-Type : text/html ; charset=iso-8859-1