Effectuez l’étape 2 de la Linux configuration du ServiceNow® navigateur sans en-tête pour ATF : configurez le serveur Docker pour authentifier toutes les demandes.

Avant de commencer

Terminez l’étape 1 : Générer des certificats pour la configuration du navigateur sans en-tête pour Linux

Cette tâche : Après avoir créé vos clés client et serveur comme indiqué à l’étape 1, vous configurez maintenant le serveur Docker pour authentifier toutes les requêtes à l’aide de ces clés et exposer l’API Docker sur le port 2376.

Rôle requis : administrateur sur votre ServiceNow instance et administrateur local sur l’ordinateur hôte.

Procédure

  1. Configurez Docker pour utiliser les certificats que vous avez générés à l’étape 1.
    1. Recherchez ou créez le fichier /etc/docker/daemon.json. Vous pouvez exécuter : touch /etc/docker/daemon.json
    2. Modifiez le fichier daemon.json et ajoutez les valeurs JSON suivantes. Assurez-vous de remplacer vos certificats par les chemins d’accès corrects :
      {
      "debug": true,
      "tlscacert": "<path to your certificates>/ca.pem",
      "tlscert": "<path to your certificates>/server-cert.pem",
      "tlskey": "<path to your certificates>/server-key.pem",
      "tlsverify": true
      }
      
    Pour en savoir plus, consultez Configurer le démon Docker.
  2. Configurez Docker pour exposer l’API distante sur un port (le port 2376 est suggéré).
    Vous pouvez configurer Docker pour accepter les connexions distantes avec le fichier docker.service systemd unit pour les distributions Linux utilisant systemd, telles que les versions récentes de RedHat, CentOS, Ubuntu et SLES, ou avec le fichier daemon.json, qui est suggéré pour les distributions Linux qui n’utilisent pas systemd.

    Si vous utilisez systemd (systemctl) :

    1. Utilisez la commande sudo systemctl edit docker.service pour ouvrir un fichier de remplacement pour docker.service dans un éditeur de texte.
    2. Ajoutez ou modifiez les lignes suivantes, en remplaçant votre propre port si vous n’utilisez pas 2376.
      [Service]
      ExecStart=
      ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376
    3. Enregistrez le fichier.
    4. Rechargez la configuration systemctl.

      sudo systemctl daemon-reload

    5. Redémarrer Docker

      sudo systemctl redémarrer docker.service

  3. Pour activer l’accès à Docker pour l’utilisateur actuel via une ligne de commande, copiez les certificats dans le répertoire de base Docker de l’utilisateur :
    • mkdir -pv ~/.docker
    • cp ca.pem ~/.docker
    • CP clé-client.pem ~/.docker/clé.pem
    • cp client-cert.pem ~/.docker/cert.pem
  4. Définissez DOCKER_HOST et DOCKER_TLS_VERIFY variables d’environnement pour votre utilisateur :
    • echo « export DOCKER_HOST=tcp ://${SERVERIP} :2376 DOCKER_TLS_VERIFY=1 » >> ~/.bash_profile
    • source ~/.bash_profile

    Pour en savoir plus, consultez Gérer Docker en tant qu’utilisateur non racine.