0
votes

Secrets Docker dans un volume Docker

J'essaie de configurer une instance Jenkins basée sur Docker. Essentiellement, j'exécute le Jenkins / Jenkins: lts image sous forme de conteneur et montez un volume de données pour persister les données Jenkins créera.

Maintenant, ce que je voudrais faire est de partager le SSH de l'hôte clés avec cette instance Jenkins. C'est probablement due à mes connaissances limitées de Docker, mais mon problème est que je ne sais pas comment je peux monter des fichiers / répertoires supplémentaires à mon volume et que Jenkins nécessite que je mettais des touches SSH dans var / jenkins_home / .ssh .

J'ai essayé de créer naïvement les répertoires de Dockerfile, puis de les monter avec Docker-Compose. Comme vous pouviez vous attendre, il a échoué, car le volume est celui contenant les données de répertoire de maison de Jenkins, pas le conteneur Jenkins lui-même.

J'ai ce qui suit Docker- compose.yml (ne fonctionne pas, pour les raisons mentionnées ci-dessus): xxx

ma question est: y a-t-il de toute façon que je pourrais faire ce secret dans mon volume de données?


0 commentaires

3 Réponses :


0
votes

Montez le secret comme étant donné et essayer.

 secrets:
  - source: host_ssh_key
    target: /var/jenkins_home/.ssh/id_rsa
    mode:   0600


1 commentaires

Ne marche pas. Plus de détails ici: github.com/docker/commose/issues/4994 . En bref, il semble que des secrets ne fonctionneront tout simplement pas correctement avec Docker-Compose, seulement Swarm Docker. Genre de stupide si vous me demandez ... oh bien.



0
votes

On ne peut pas être fait. Les secrets ne travailleront qu'avec docker essaim; Docker-compose est incapable d'utiliser des secrets.

Plus de détails dans Ce problème GITUB .


0 commentaires

0
votes

Je sais que c'est un fil assez vieux, mais beaucoup de gens sont bloqués sur cela, y compris de moi et la réponse n'est tout simplement pas vraie. Vous pouvez en effet utiliser des secrets avec Docker-Composez sans utiliser d'essaim à condition que c'est une machine locale ou que le fichier secrets est monté sur l'hôte. Ne pas dire que cela est sécurisé ou souhaitable, cela peut être fait. L'une des meilleures explications de plusieurs manières est possible, c'est ce blog;

Utilisation de Secrets Docker pendant le développement

ci-dessous est un exemple de parties d'un fichier de composition de docker utilisé pour ajouter une clé API à une application de ressort. La clé est ensuite disponible sur / Run / Secrets / CAPTCHA-API-KEY dans le conteneur Docker. Docker Compose "Façages" en liant littéralement le fichier comme montage qui peut ensuite être consulté de quelque manière que ce soit. Ce n'est pas sécurisé car dans le fichier est toujours là, visible pour tous avec accès / exécuté / secrets, mais il est définitivement faisable en tant que travail autour. Idéal pour les serveurs de deviser, mais ne le ferait pas dans la production; xxx

éditer: En outre, on peut simplement exécuter un essaim à un nœud qui est juste un petit peu plus sur les ressources et utiliser des secrets comme ils sont destinés. À condition que les images soient déjà construites, "Docker Stack Déploy MyDocker-composefile.yml mystackname" sera la plupart de la même chose que le vieil Docker Compose. Notez que le fichier YML doit être écrit dans une spécification 3 ou plus.

Voici une écriture courte mais concise sur composer vs essaim; La différence entre Docker Compose et Docker Stack < / p>


0 commentaires