0
votes

Volumes de montage en tant qu'utilisateur non root dans le conteneur Docker

Je veux monter un volume dans le conteneur Docker en tant qu'utilisateur non root. J'utilise les éléments suivants (K8S.YAML) -

volumeMounts:
        - name: volume-to-be-mounted
          mountPath: /location
volumes:
        - name:  volume-to-be-mounted
          hostPath:
            path: path
            type: DirectoryOrCreate


2 commentaires

Je m'attendrais à ce que le contenu de configmap soit en lecture seule (bien que vous ne trouvez pas une déclaration à cet effet dans la documentation). Juste tant que l'utilisateur actif peut lire les fichiers là-bas, cela compte-t-il réellement quel utilisateur les possède?


Je veux écrire dans cet endroit spécifique. Supprimera la carte de configuration de la question.


3 Réponses :


2
votes

Vous pouvez envisager d'exécuter un conteneur init en tant qu'utilisateur racine. Demandez au conteneur et à un conteneur principal partagent le même volume. Du conteneur init met à jour la propriété du volume


2 commentaires

La modification de la propriété du conteneur init ne sera reflétée que dans le conteneur init et non le conteneur d'application. J'ai essayé - Utilisateur de Chown -R: dossier utilisateur


Êtes-vous sûr que le volume est partagé entre les deux conteneurs?



1
votes

Si vous utilisez KubeNettes, vous pouvez utiliser un contexte de sécurité et définissez la valeur fsgroup code>.

Exemple de la DOCS P>

apiVersion: v1
kind: Pod
metadata:
  name: security-context-demo
spec:
  securityContext:
    runAsUser: 1000
    fsGroup: 2000
  volumes:
  - name: sec-ctx-vol
    emptyDir: {}
  containers:
  - name: sec-ctx-demo
    image: gcr.io/google-samples/node-hello:1.0
    volumeMounts:
    - name: sec-ctx-vol
      mountPath: /data/demo
    securityContext:
      allowPrivilegeEscalation: false


0 commentaires

1
votes

Vous voulez monter le même volume sur un autre conteneur (dans la même pod).
Je ne pense pas que tu puisses faire ça.
La définition de la POD est la suivante: une pod (comme dans une gousse de baleines ou de pois) est un groupe d'un ou plusieurs conteneurs (tels que des conteneurs Docker), avec un stockage / réseau partagé et une spécification pour courir les conteneurs.
Plus detail: https://kubernet.io/docs/concepts/workloads/pods/ POD /


0 commentaires