Exécution d'images Docker en tant qu'utilisateur non root (avant la version 9.1.14.0)
Avant HCL Commerce 9.1.14.0, les images Docker s'exécutaient avec les privilèges root par défaut. Vous pouvez modifier ce paramètre par défaut afin de vous assurer que l'accès complet à l'image et à son contenu sera refusé.
Before you begin
- Envisagez de procéder à une mise à niveau vers HCL Commerce 9.1.14.0 ou une version ultérieure afin de déployer des conteneurs HCL Commerce avec un utilisateur non root par défaut. Veillez à bien passer en revue les HCL Commerce utilisateurs et privilèges liés aux conteneurs afin d'identifier toute restriction ou limitation que vous devez prendre en compte avant d'apporter cette modification au déploiement de votre site.
- Assurez-vous qu'aucune de vos personnalisations n'utilise l'accès root. Par exemple, les utilisateurs non root n'ont pas l'autorisation de créer des répertoires sous le répertoire root du système. Par défaut, le fichier docker-compose.yml servant d'exemple utilise /search comme répertoire root d'index. Dans ce cas, utilisez un répertoire tel que /opt/search/.
About this task
Il existe deux façons de modifier le niveau de privilège des processus Docker. Le démon Docker lui-même s'exécute toujours comme root, mais vous pouvez exécuter le client Docker en tant qu'utilisateur dans le groupe d'utilisateurs docker. Pour les images HCL Commerce, l'approche préférée est de définir le niveau utilisateur dans vos fichiers Docker existants. Pour ce faire, utilisez l'option -u ou -user de la sous-commande docker run, ou la commande USER.
Procedure
- Créez un fichier Docker personnalisé pour l'image que vous souhaitez exécuter en mode non privilégié.
-
Fournissez l'accès aux répertoires et fichiers système nécessaires pour l'utilisateur qui exécutera l'image. Par exemple,
RUN useradd -u 1000 -r -g root -m -d /wcsuser -s /sbin/nologin -c "App user" wcsuser && \ chmod 755 /wcsuser && \ chown -R wcsuser:root /SETUP && \ chown -R wcsuser:root /opt && \ chown -R wcsuser:root /etc && \ chown -R wcsuser:root /profile && \ chmod -R 755 /SETUP && \ chown -R wcsuser:root /var/lib -
Exécutez la commandeUSER pour indiquer au processus Docker quel utilisateur exécutera l'image. Par exemple,
USER wcsuser - Générez le nouveau conteneur Docker. Pour plus d'informations, voir https://docs.docker.com/engine/reference/builder/.