{"id":1362,"date":"2024-07-23T12:38:34","date_gmt":"2024-07-23T12:38:34","guid":{"rendered":"https:\/\/dockerpros.com\/?post_type=glossary&#038;p=1362"},"modified":"2024-07-23T12:38:34","modified_gmt":"2024-07-23T12:38:34","slug":"dockerfile-ssh","status":"publish","type":"glossary","link":"https:\/\/dockerpros.com\/fr\/wiki\/dockerfile-ssh\/","title":{"rendered":"Dockerfile \u2013ssh"},"content":{"rendered":"<h1>Comprendre Dockerfile \u2013ssh : Un guide avanc\u00e9\n\nLorsque vous travaillez avec Docker, vous avez peut-\u00eatre rencontr\u00e9 l'option \u2013ssh dans les Dockerfiles. Cette fonctionnalit\u00e9 puissante permet d'acc\u00e9der de mani\u00e8re s\u00e9curis\u00e9e aux cl\u00e9s SSH de l'h\u00f4te pendant le processus de construction, ce qui permet des op\u00e9rations telles que le clonage de d\u00e9p\u00f4ts priv\u00e9s ou l'acc\u00e8s \u00e0 des ressources s\u00e9curis\u00e9es. Dans ce guide, nous explorerons les subtilit\u00e9s de l'utilisation de \u2013ssh dans les Dockerfiles, en fournissant des exemples pratiques et des meilleures pratiques.\n\nQu'est-ce que Dockerfile \u2013ssh ?\n\nL'option \u2013ssh dans les Dockerfiles est une fonctionnalit\u00e9 introduite dans Docker 18.09 qui permet de transmettre les cl\u00e9s SSH de l'h\u00f4te au conteneur de construction. Cela est particuli\u00e8rement utile lorsque vous devez acc\u00e9der \u00e0 des d\u00e9p\u00f4ts Git priv\u00e9s ou \u00e0 d'autres ressources s\u00e9curis\u00e9es pendant le processus de construction de l'image Docker.\n\nSyntaxe de base\n\nPour utiliser l'option \u2013ssh, vous devez d'abord l'activer au niveau de la construction, puis l'utiliser dans votre Dockerfile. Voici un exemple simple :\n\n```bash\ndocker build --ssh default .\n```\n\nDans votre Dockerfile, vous pouvez ensuite utiliser la variable d'environnement SSH_AUTH_SOCK pour acc\u00e9der \u00e0 l'agent SSH :\n\n```dockerfile\nFROM alpine\nRUN apk add --no-cache openssh-client\nRUN mkdir -p -m 0600 ~\/.ssh &amp;&amp; ssh-keyscan github.com &gt;&gt; ~\/.ssh\/known_hosts\nRUN --mount=type=ssh git clone git@github.com:username\/repo.git\n```\n\nExemples pratiques\n\n1. Clonage d'un d\u00e9p\u00f4t Git priv\u00e9\n\n```dockerfile\nFROM node:14\nRUN apk add --no-cache openssh-client\nRUN mkdir -p -m 0600 ~\/.ssh &amp;&amp; ssh-keyscan github.com &gt;&gt; ~\/.ssh\/known_hosts\nRUN --mount=type=ssh git clone git@github.com:username\/private-repo.git\nWORKDIR \/app\nRUN npm install\n```\n\n2. Installation de d\u00e9pendances priv\u00e9es\n\n```dockerfile\nFROM python:3.8\nRUN apk add --no-cache openssh-client\nRUN mkdir -p -m 0600 ~\/.ssh &amp;&amp; ssh-keyscan github.com &gt;&gt; ~\/.ssh\/known_hosts\nRUN --mount=type=ssh pip install git+ssh:\/\/git@github.com\/username\/private-package.git\n```\n\n3. Acc\u00e8s \u00e0 un serveur priv\u00e9 pendant la construction\n\n```dockerfile\nFROM ubuntu:20.04\nRUN apk add --no-cache openssh-client\nRUN mkdir -p -m 0600 ~\/.ssh &amp;&amp; ssh-keyscan example.com &gt;&gt; ~\/.ssh\/known_hosts\nRUN --mount=type=ssh scp user@example.com:\/path\/to\/file \/local\/path\n```\n\nMeilleures pratiques\n\n1. S\u00e9curit\u00e9 : N'oubliez pas que les cl\u00e9s SSH sont temporairement disponibles pendant le processus de construction. Assurez-vous que votre Dockerfile ne contient aucune information sensible.\n\n2. Nettoyage : Supprimez toujours les cl\u00e9s SSH et autres informations sensibles apr\u00e8s la construction pour \u00e9viter qu'elles ne se retrouvent dans l'image finale.\n\n3. Efficacit\u00e9 : Utilisez le cache de construction de Docker de mani\u00e8re efficace en organisant vos instructions RUN de mani\u00e8re \u00e0 minimiser les reconstructions inutiles.\n\n4. Gestion des erreurs : Mettez en place une gestion appropri\u00e9e des erreurs pour les op\u00e9rations SSH afin de garantir que votre processus de construction \u00e9choue gracieusement en cas de probl\u00e8mes de connectivit\u00e9.\n\nD\u00e9pannage\n\n1. Si vous rencontrez des erreurs li\u00e9es \u00e0 SSH, assurez-vous que votre agent SSH est en cours d'ex\u00e9cution et que vos cl\u00e9s sont correctement ajout\u00e9es.\n\n2. V\u00e9rifiez que l'h\u00f4te Docker a acc\u00e8s aux cl\u00e9s SSH n\u00e9cessaires.\n\n3. Assurez-vous que les autorisations des fichiers et r\u00e9pertoires SSH sont correctement d\u00e9finies (g\u00e9n\u00e9ralement 600 pour les fichiers priv\u00e9s).\n\nConclusion\n\nL'option \u2013ssh dans les Dockerfiles est un outil puissant pour acc\u00e9der de mani\u00e8re s\u00e9curis\u00e9e aux ressources pendant le processus de construction. En comprenant son utilisation et en suivant les meilleures pratiques, vous pouvez rationaliser votre flux de travail de d\u00e9veloppement et g\u00e9rer de mani\u00e8re s\u00e9curis\u00e9e les d\u00e9pendances priv\u00e9es dans vos images Docker.\n\nN'oubliez pas de toujours privil\u00e9gier la s\u00e9curit\u00e9 et de tester minutieusement vos constructions pour garantir un processus de d\u00e9veloppement fluide et s\u00e9curis\u00e9.<\/h1>\n<p>Dans le domaine du d\u00e9veloppement logiciel moderne, Docker s'est impos\u00e9 comme un outil de premier plan pour la conteneurisation, permettant aux d\u00e9veloppeurs de cr\u00e9er, exp\u00e9dier et <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/run\/\" target=\"_blank\">run<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" refers to a command in various programming languages and operating systems to execute a specified program or script. It initiates processes, providing a controlled environment for task execution.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> applications in isolated environments. One of the advanced features introduced in Docker BuildKit is the <code>--ssh<\/code> option pour les Dockerfiles. Cette fonctionnalit\u00e9 puissante facilite la gestion s\u00e9curis\u00e9e et efficace des cl\u00e9s SSH pendant le processus de construction, permettant aux d\u00e9veloppeurs d'acc\u00e9der \u00e0 des d\u00e9p\u00f4ts priv\u00e9s et \u00e0 d'autres ressources s\u00e9curis\u00e9es sans compromettre les donn\u00e9es sensibles. Cet article explore en d\u00e9tail <code>--ssh<\/code> caract\u00e9ristique des Dockerfiles, en explorant ses m\u00e9canismes, ses cas d'utilisation, ses meilleures pratiques et ses implications en mati\u00e8re de s\u00e9curit\u00e9.<\/p>\n<h2>Qu'est-ce que Docker BuildKit ?<\/h2>\n<p>Avant de discuter de <code>--ssh<\/code> option, il est essentiel de comprendre Docker BuildKit. Introduit comme fonctionnalit\u00e9 exp\u00e9rimentale dans Docker 18.09, BuildKit est un sous-syst\u00e8me de construction moderne qui am\u00e9liore le <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\" target=\"_blank\">image<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Une image est une repr\u00e9sentation visuelle d'un objet ou d'une sc\u00e8ne, g\u00e9n\u00e9ralement compos\u00e9e de pixels dans les formats num\u00e9riques. Elle peut transmettre des informations, susciter des \u00e9motions et faciliter la communication \u00e0 travers diff\u00e9rents m\u00e9dias.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> processus de construction. Il prend en charge les constructions parall\u00e8les, la gestion du cache et divers contextes de construction, ce qui contribue \u00e0 des constructions plus rapides et plus efficaces. Le <code>--ssh<\/code> option is one of the many benefits of using BuildKit, allowing for improved security and flexibility.<\/p>\n<h2>Enabling Docker BuildKit<\/h2>\n<p>To utilize the <code>--ssh<\/code> Pour utiliser cette fonctionnalit\u00e9, vous devez activer Docker BuildKit. Vous pouvez le faire en d\u00e9finissant une variable d'environnement ou en utilisant la ligne de commande Docker. Voici comment activer BuildKit via la ligne de commande :<\/p>\n<pre><code class=\"language-bash\">DOCKER_BUILDKIT=1 docker build .<\/code><\/pre>\n<p>Alternatively, you can <span class=\"glossaryai-tooltip glossary-term-674\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/add\/\" target=\"_blank\">add<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">La commande ADD dans Docker est une instruction utilis\u00e9e dans les Dockerfiles pour copier des fichiers et des r\u00e9pertoires depuis une machine h\u00f4te vers une image Docker pendant le processus de construction. Elle facilite non seulement le transfert de fichiers locaux, mais offre \u00e9galement des fonctionnalit\u00e9s suppl\u00e9mentaires, telles que l'extraction automatique de fichiers compress\u00e9s et le t\u00e9l\u00e9chargement de fichiers distants via HTTP ou HTTPS.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/add\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> the following line to your Docker configuration file (typically located at <code>\/etc\/docker\/daemon.json<\/code>):<\/p>\n<pre><code class=\"language-json\">{\n  \"fonctionnalit\u00e9s\": {\n    \"buildkit\": true\n  }\n}<\/code><\/pre>\n<p>After making changes, restart the Docker <span class=\"glossaryai-tooltip glossary-term-667\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/daemon\/\" target=\"_blank\">d\u00e9mon<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un d\u00e9mon est un processus d'arri\u00e8re-plan en informatique qui s'ex\u00e9cute de mani\u00e8re autonome, effectuant des t\u00e2ches sans intervention de l'utilisateur. Il g\u00e8re g\u00e9n\u00e9ralement des fonctions au niveau du syst\u00e8me ou de l'application, am\u00e9liorant ainsi l'efficacit\u00e9.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/daemon\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> to apply the new configuration.<\/p>\n<h2>Comprendre l'option \u2013ssh<\/h2>\n<p>The <code>--ssh<\/code> option allows users to forward SSH agent connections to the build process. This functionality is crucial when your Docker <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\" target=\"_blank\">image<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Une image est une repr\u00e9sentation visuelle d'un objet ou d'une sc\u00e8ne, g\u00e9n\u00e9ralement compos\u00e9e de pixels dans les formats num\u00e9riques. Elle peut transmettre des informations, susciter des \u00e9motions et faciliter la communication \u00e0 travers diff\u00e9rents m\u00e9dias.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> requires access to private repositories, APIs, or servers that necessitate SSH authentication. By using <code>--ssh<\/code>, you can ensure that your SSH keys remain secure, as they are not embedded in the final <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\" target=\"_blank\">image<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Une image est une repr\u00e9sentation visuelle d'un objet ou d'une sc\u00e8ne, g\u00e9n\u00e9ralement compos\u00e9e de pixels dans les formats num\u00e9riques. Elle peut transmettre des informations, susciter des \u00e9motions et faciliter la communication \u00e0 travers diff\u00e9rents m\u00e9dias.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>, thus reducing the risk of leaking sensitive credentials.<\/p>\n<h3>Syntax<\/h3>\n<p>La syntaxe de base pour utiliser le <code>--ssh<\/code> option in a Docker build command is as follows:<\/p>\n<pre><code class=\"language-bash\">docker build --ssh default=~\/.ssh\/id_rsa .<\/code><\/pre>\n<p>Dans cet exemple, <code>par d\u00e9faut<\/code> est un alias pour la cl\u00e9 SSH, et le chemin sp\u00e9cifie l'emplacement de la cl\u00e9 priv\u00e9e sur votre machine h\u00f4te.<\/p>\n<h3>Syntaxe Dockerfile<\/h3>\n<p>Inside the <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A Dockerfile is a script containing a series of instructions to automate the creation of Docker images. It specifies the base image, application dependencies, and configuration, facilitating consistent deployment across environments.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>, vous pouvez utiliser le <code><span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/run\/\" target=\"_blank\">RUN<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" refers to a command in various programming languages and operating systems to execute a specified program or script. It initiates processes, providing a controlled environment for task execution.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span><\/code> commande avec le <code>--monter<\/code> drapeau pour acc\u00e9der \u00e0 la cl\u00e9 SSH pendant le processus de construction. Voici un exemple :<\/p>\n<pre><code class=\"language-dockerfile\"># syntax=docker\/dockerfile:1.2\n\nFROM alpine:latest\n\n# Use the SSH key for private operations\n<span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/run\/\" target=\"_blank\">RUN<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" refers to a command in various programming languages and operating systems to execute a specified program or script. It initiates processes, providing a controlled environment for task execution.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> --mount=type=ssh git clone git@github.com:your-private-repo.git<\/code><\/pre>\n<h3>Acc\u00e8s s\u00e9curis\u00e9 aux d\u00e9p\u00f4ts priv\u00e9s<\/h3>\n<p>Un cas d'utilisation courant pour le <code>--ssh<\/code> l'option permet d'acc\u00e9der \u00e0 des d\u00e9p\u00f4ts Git priv\u00e9s pendant le processus de construction. Cela vous permet de cloner ou de r\u00e9cup\u00e9rer du code de mani\u00e8re s\u00e9curis\u00e9e sans exposer votre cl\u00e9 SSH priv\u00e9e dans le <span class=\"glossaryai-tooltip glossary-term-739\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image-layers\/\" target=\"_blank\">couches d'image<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Les calques sont des composants fondamentaux dans les logiciels de conception et d'\u00e9dition graphique, permettant une manipulation non destructive des \u00e9l\u00e9ments. Chaque calque peut contenir diff\u00e9rentes images, effets ou r\u00e9glages, offrant un contr\u00f4le pr\u00e9cis sur la composition et les effets visuels.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image-layers\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>. Here\u2019s how you can achieve this:<\/p>\n<ol>\n<li>\n<p><strong>Clonez un <span class=\"glossaryai-tooltip glossary-term-659\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/repository\/\" target=\"_blank\">D\u00e9p\u00f4t<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A repository is a centralized location where data, code, or documents are stored, managed, and maintained. It facilitates version control, collaboration, and efficient resource sharing among users.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/repository\/\">More \u00bb<\/a><\/span><\/span><span class=\"gai-tooltip-video-wrapper\"><span class=\"gai-tooltip-video\" data-src=\"https:\/\/www.youtube.com\/embed\/_OXj8BGxNPY?rel=0&#038;modestbranding=1\"><\/span><\/span><\/span><\/span><\/span><\/strong>Vous pouvez utiliser le <code><span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/run\/\" target=\"_blank\">RUN<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" refers to a command in various programming languages and operating systems to execute a specified program or script. It initiates processes, providing a controlled environment for task execution.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span><\/code> commande avec le <code>--monter<\/code> directive to clone a private <span class=\"glossaryai-tooltip glossary-term-659\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/repository\/\" target=\"_blank\">repository<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A repository is a centralized location where data, code, or documents are stored, managed, and maintained. It facilitates version control, collaboration, and efficient resource sharing among users.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/repository\/\">More \u00bb<\/a><\/span><\/span><span class=\"gai-tooltip-video-wrapper\"><span class=\"gai-tooltip-video\" data-src=\"https:\/\/www.youtube.com\/embed\/_OXj8BGxNPY?rel=0&#038;modestbranding=1\"><\/span><\/span><\/span><\/span><\/span> directly:<\/p>\n<pre><code class=\"language-dockerfile\"># syntax=docker\/dockerfile:1.2\n\nFROM alpine:latest\n\n<span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/run\/\" target=\"_blank\">RUN<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" refers to a command in various programming languages and operating systems to execute a specified program or script. It initiates processes, providing a controlled environment for task execution.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> --mount=type=ssh git clone git@github.com:your-private-repo.git<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>Using Multiple SSH Keys<\/strong>: If you have multiple keys or need to specify different identities, you can set additional SSH options in your <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A Dockerfile is a script containing a series of instructions to automate the creation of Docker images. It specifies the base image, application dependencies, and configuration, facilitating consistent deployment across environments.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>:<\/p>\n<pre><code class=\"language-dockerfile\"># syntax=docker\/dockerfile:1.2\n\nFROM alpine:latest\n\n<span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/run\/\" target=\"_blank\">RUN<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" refers to a command in various programming languages and operating systems to execute a specified program or script. It initiates processes, providing a controlled environment for task execution.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> --mount=type=ssh,id=my_id git clone git@github.com:your-private-repo.git<\/code><\/pre>\n<\/li>\n<\/ol>\n<p>Dans cet exemple, <code>mon_id<\/code> refers to an SSH key added in the Docker build command using <code>--ssh<\/code>.<\/p>\n<h2>Bonnes pratiques pour utiliser SSH<\/h2>\n<p>Lors de l'utilisation du <code>--ssh<\/code> option, il est essentiel de respecter les bonnes pratiques pour maximiser la s\u00e9curit\u00e9 et l'efficacit\u00e9 :<\/p>\n<h3>1. Limiter l'exposition des cl\u00e9s SSH<\/h3>\n<p>Assurez-vous que seules les cl\u00e9s SSH n\u00e9cessaires sont transmises au processus de build. Utilisez des autorisations minimales et \u00e9vitez d'ajouter des cl\u00e9s non requises pour la construction. <\/p>\n<h3>2. Use Aliases for Keys<\/h3>\n<p>Utilisez des alias pour diff\u00e9rencier plusieurs cl\u00e9s SSH. Cette pratique peut aider \u00e0 clarifier quelle cl\u00e9 est utilis\u00e9e pour quelle op\u00e9ration, am\u00e9liorant ainsi la s\u00e9curit\u00e9 et r\u00e9duisant le risque d'exposition accidentelle.<\/p>\n<h3>3. Separate Build Contexts<\/h3>\n<p>Lorsque vous travaillez avec plusieurs services ou microservices, envisagez de s\u00e9parer les contextes de construction. Cette approche garantit que les cl\u00e9s SSH et les donn\u00e9es sensibles n\u00e9cessaires \u00e0 un <span class=\"glossaryai-tooltip glossary-term-681\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/service\/\" target=\"_blank\">service<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Le service fait r\u00e9f\u00e9rence \u00e0 l'acte de fournir une assistance ou un soutien pour r\u00e9pondre \u00e0 des besoins ou des exigences sp\u00e9cifiques. Dans divers domaines, il englobe le service client, le support technique et les services professionnels, en mettant l'accent sur l'efficacit\u00e9 et la satisfaction de l'utilisateur.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/service\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> ne fuient pas dans le contexte de construction d'un autre service.<\/p>\n<h3>4. Regularly Rotate SSH Keys<\/h3>\n<p>To enhance security, periodically rotate your SSH keys. This practice should be part of your overall security hygiene and can help prevent unauthorized access.<\/p>\n<h3>5. Leverage Build Caching<\/h3>\n<p>Utilize Docker&#8217;s caching mechanism to speed up builds. By correctly structuring your <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A Dockerfile is a script containing a series of instructions to automate the creation of Docker images. It specifies the base image, application dependencies, and configuration, facilitating consistent deployment across environments.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>, you can cache layers and avoid unnecessary rebuilds, making your CI\/CD pipeline more efficient.<\/p>\n<h2>Security Considerations<\/h2>\n<p>Bien que le <code>--ssh<\/code> Cette option am\u00e9liore consid\u00e9rablement la s\u00e9curit\u00e9 de la construction, il est crucial de rester attentif aux risques potentiels :<\/p>\n<h3>1. Avoid Hardcoding Secrets<\/h3>\n<p>Never hardcode sensitive information, including SSH keys, directly into your <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A Dockerfile is a script containing a series of instructions to automate the creation of Docker images. It specifies the base image, application dependencies, and configuration, facilitating consistent deployment across environments.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>. This practice could lead to accidental exposure through <span class=\"glossaryai-tooltip glossary-term-739\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image-layers\/\" target=\"_blank\">couches d'image<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Les calques sont des composants fondamentaux dans les logiciels de conception et d'\u00e9dition graphique, permettant une manipulation non destructive des \u00e9l\u00e9ments. Chaque calque peut contenir diff\u00e9rentes images, effets ou r\u00e9glages, offrant un contr\u00f4le pr\u00e9cis sur la composition et les effets visuels.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image-layers\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> during Docker <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\" target=\"_blank\">image<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Une image est une repr\u00e9sentation visuelle d'un objet ou d'une sc\u00e8ne, g\u00e9n\u00e9ralement compos\u00e9e de pixels dans les formats num\u00e9riques. Elle peut transmettre des informations, susciter des \u00e9motions et faciliter la communication \u00e0 travers diff\u00e9rents m\u00e9dias.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> distribution.<\/p>\n<h3>2. Limiter l'acc\u00e8s \u00e0 l'environnement de construction<\/h3>\n<p>Restreignez l'acc\u00e8s \u00e0 l'environnement de construction au seul personnel de confiance. En limitant l'acc\u00e8s, vous r\u00e9duisez le risque que des utilisateurs malveillants n'exploitent le processus de construction pour acc\u00e9der \u00e0 des donn\u00e9es sensibles.<\/p>\n<h3>3. Surveiller les journaux de construction<\/h3>\n<p>Regularly review build logs for any suspicious activities or unauthorized access attempts. Monitoring helps in identifying potential security breaches early.<\/p>\n<h3>4. Utilisez les constructions multi-\u00e9tapes<\/h3>\n<p>Consider using multi-stage builds to keep your images lightweight and secure. By copying only the necessary artifacts from one stage to another, you can prevent extra files, including SSH keys, from being included in the final <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\" target=\"_blank\">image<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Une image est une repr\u00e9sentation visuelle d'un objet ou d'une sc\u00e8ne, g\u00e9n\u00e9ralement compos\u00e9e de pixels dans les formats num\u00e9riques. Elle peut transmettre des informations, susciter des \u00e9motions et faciliter la communication \u00e0 travers diff\u00e9rents m\u00e9dias.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>.<\/p>\n<pre><code class=\"language-dockerfile\"># syntax=docker\/dockerfile:1.2\n\nFROM alpine:latest AS builder\n\n# Clone the <span class=\"glossaryai-tooltip glossary-term-659\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/repository\/\" target=\"_blank\">repository<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A repository is a centralized location where data, code, or documents are stored, managed, and maintained. It facilitates version control, collaboration, and efficient resource sharing among users.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/repository\/\">More \u00bb<\/a><\/span><\/span><span class=\"gai-tooltip-video-wrapper\"><span class=\"gai-tooltip-video\" data-src=\"https:\/\/www.youtube.com\/embed\/_OXj8BGxNPY?rel=0&#038;modestbranding=1\"><\/span><\/span><\/span><\/span><\/span> using SSH\n<span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/run\/\" target=\"_blank\">RUN<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" refers to a command in various programming languages and operating systems to execute a specified program or script. It initiates processes, providing a controlled environment for task execution.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> --mount=type=ssh git clone git@github.com:your-private-repo.git\n\nFROM alpine:latest\n\n# <span class=\"glossaryai-tooltip glossary-term-673\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/copy\/\" target=\"_blank\">Copier<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">COPY is a command in computer programming and data management that facilitates the duplication of files or data from one location to another, ensuring data integrity and accessibility.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/copy\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> only necessary files from the builder stage\n<span class=\"glossaryai-tooltip glossary-term-673\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/copy\/\" target=\"_blank\">COPIE<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">COPY is a command in computer programming and data management that facilitates the duplication of files or data from one location to another, ensuring data integrity and accessibility.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/copy\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> --from=builder \/path\/to\/artifact \/app\/<\/code><\/pre>\n<h2>Troubleshooting Common Issues<\/h2>\n<p>While using the <code>--ssh<\/code> Cette option peut rationaliser votre processus de build, mais vous pourriez rencontrer certains d\u00e9fis. Voici quelques probl\u00e8mes courants et des solutions potentielles :<\/p>\n<h3>1. SSH Agent Not Running<\/h3>\n<p>If you receive an error indicating that the SSH agent is not running, start the SSH agent and <span class=\"glossaryai-tooltip glossary-term-674\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/add\/\" target=\"_blank\">add<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">La commande ADD dans Docker est une instruction utilis\u00e9e dans les Dockerfiles pour copier des fichiers et des r\u00e9pertoires depuis une machine h\u00f4te vers une image Docker pendant le processus de construction. Elle facilite non seulement le transfert de fichiers locaux, mais offre \u00e9galement des fonctionnalit\u00e9s suppl\u00e9mentaires, telles que l'extraction automatique de fichiers compress\u00e9s et le t\u00e9l\u00e9chargement de fichiers distants via HTTP ou HTTPS.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/add\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> your keys:<\/p>\n<pre><code class=\"language-bash\">eval \"$(ssh-agent -s)\"\nssh-add ~\/.ssh\/id_rsa<\/code><\/pre>\n<h3>2. Permission Denied Errors<\/h3>\n<p>If you encounter permission denied errors when attempting to clone a <span class=\"glossaryai-tooltip glossary-term-659\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/repository\/\" target=\"_blank\">repository<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A repository is a centralized location where data, code, or documents are stored, managed, and maintained. It facilitates version control, collaboration, and efficient resource sharing among users.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/repository\/\">More \u00bb<\/a><\/span><\/span><span class=\"gai-tooltip-video-wrapper\"><span class=\"gai-tooltip-video\" data-src=\"https:\/\/www.youtube.com\/embed\/_OXj8BGxNPY?rel=0&#038;modestbranding=1\"><\/span><\/span><\/span><\/span><\/span>, ensure that your SSH keys have the correct permissions:<\/p>\n<pre><code class=\"language-bash\">chmod 600 ~\/.ssh\/id_rsa<\/code><\/pre>\n<h3>3. \u00c9chec de la construction en raison de probl\u00e8mes de connexion SSH<\/h3>\n<p>If the build fails due to SSH connection issues, ensure that your firewall or <span class=\"glossaryai-tooltip glossary-term-661\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/network\/\" target=\"_blank\">r\u00e9seau<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A network, in computing, refers to a collection of interconnected devices that communicate and share resources. It enables data exchange, facilitates collaboration, and enhances operational efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/network\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> settings allow outgoing SSH connections. Additionally, verify that the SSH key being used has access to the <span class=\"glossaryai-tooltip glossary-term-659\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/repository\/\" target=\"_blank\">repository<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A repository is a centralized location where data, code, or documents are stored, managed, and maintained. It facilitates version control, collaboration, and efficient resource sharing among users.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/repository\/\">More \u00bb<\/a><\/span><\/span><span class=\"gai-tooltip-video-wrapper\"><span class=\"gai-tooltip-video\" data-src=\"https:\/\/www.youtube.com\/embed\/_OXj8BGxNPY?rel=0&#038;modestbranding=1\"><\/span><\/span><\/span><\/span><\/span>.<\/p>\n<h2>Conclusion<\/h2>\n<p>The <code>--ssh<\/code> option in Docker BuildKit has revolutionized the way developers handle sensitive data during the <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\" target=\"_blank\">image<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Une image est une repr\u00e9sentation visuelle d'un objet ou d'une sc\u00e8ne, g\u00e9n\u00e9ralement compos\u00e9e de pixels dans les formats num\u00e9riques. Elle peut transmettre des informations, susciter des \u00e9motions et faciliter la communication \u00e0 travers diff\u00e9rents m\u00e9dias.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> build process. By enabling secure access to private repositories and APIs without exposing SSH keys, this feature enhances both security and efficiency. By following best practices and remaining vigilant about security implications, developers can leverage the power of Docker to streamline their workflows while keeping their credentials safe. As the demand for containerized applications continues to grow, mastering the <code>--ssh<\/code> sera une comp\u00e9tence cruciale pour tout ing\u00e9nieur DevOps ou d\u00e9veloppeur travaillant avec Docker.<\/p>","protected":false},"excerpt":{"rendered":"<p>The `\u2013ssh` flag in <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A Dockerfile is a script containing a series of instructions to automate the creation of Docker images. It specifies the base image, application dependencies, and configuration, facilitating consistent deployment across environments.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> allows secure access to SSH keys during the build process. This feature enhances security by preventing the exposure of private keys in the final <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\" target=\"_blank\">image<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Une image est une repr\u00e9sentation visuelle d'un objet ou d'une sc\u00e8ne, g\u00e9n\u00e9ralement compos\u00e9e de pixels dans les formats num\u00e9riques. Elle peut transmettre des informations, susciter des \u00e9motions et faciliter la communication \u00e0 travers diff\u00e9rents m\u00e9dias.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/fr\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>.<\/p>","protected":false},"author":1,"featured_media":2037,"parent":0,"template":"","glossary-cat":[],"class_list":["post-1362","glossary","type-glossary","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Dockerfile -ssh - Dockerpros<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dockerpros.com\/fr\/wiki\/dockerfile-ssh\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dockerfile -ssh - Dockerpros\" \/>\n<meta property=\"og:description\" content=\"The `--ssh` flag in Dockerfile allows secure access to SSH keys during the build process. This feature enhances security by preventing the exposure of private keys in the final image.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dockerpros.com\/fr\/wiki\/dockerfile-ssh\/\" \/>\n<meta property=\"og:site_name\" content=\"Dockerpros\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/dockerfile-ssh_1362.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dockerpros.com\/wiki\/dockerfile-ssh\/\",\"url\":\"https:\/\/dockerpros.com\/wiki\/dockerfile-ssh\/\",\"name\":\"Dockerfile -ssh - Dockerpros\",\"isPartOf\":{\"@id\":\"https:\/\/dockerpros.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/dockerpros.com\/wiki\/dockerfile-ssh\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/wiki\/dockerfile-ssh\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/dockerfile-ssh_1362.jpg\",\"datePublished\":\"2024-07-23T12:38:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/dockerpros.com\/wiki\/dockerfile-ssh\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dockerpros.com\/wiki\/dockerfile-ssh\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/dockerpros.com\/wiki\/dockerfile-ssh\/#primaryimage\",\"url\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/dockerfile-ssh_1362.jpg\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/dockerfile-ssh_1362.jpg\",\"width\":800,\"height\":600,\"caption\":\"dockerfile-ssh-2\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/dockerpros.com\/wiki\/dockerfile-ssh\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/dockerpros.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Glossary\",\"item\":\"https:\/\/dockerpros.com\/fr\/wiki\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Dockerfile &#8211;ssh\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/dockerpros.com\/#website\",\"url\":\"https:\/\/dockerpros.com\/\",\"name\":\"Dockerpros\",\"description\":\"DockerPros \u2013 Your Ultimate Docker Resource Hub\",\"publisher\":{\"@id\":\"https:\/\/dockerpros.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/dockerpros.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/dockerpros.com\/#organization\",\"name\":\"Dockerpros\",\"url\":\"https:\/\/dockerpros.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png\",\"width\":532,\"height\":114,\"caption\":\"Dockerpros\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Dockerfile -ssh - Dockerpros","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dockerpros.com\/fr\/wiki\/dockerfile-ssh\/","og_locale":"fr_FR","og_type":"article","og_title":"Dockerfile -ssh - Dockerpros","og_description":"The `--ssh` flag in Dockerfile allows secure access to SSH keys during the build process. This feature enhances security by preventing the exposure of private keys in the final image.","og_url":"https:\/\/dockerpros.com\/fr\/wiki\/dockerfile-ssh\/","og_site_name":"Dockerpros","og_image":[{"width":800,"height":600,"url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/dockerfile-ssh_1362.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/dockerpros.com\/wiki\/dockerfile-ssh\/","url":"https:\/\/dockerpros.com\/wiki\/dockerfile-ssh\/","name":"Dockerfile -ssh - Dockerpros","isPartOf":{"@id":"https:\/\/dockerpros.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dockerpros.com\/wiki\/dockerfile-ssh\/#primaryimage"},"image":{"@id":"https:\/\/dockerpros.com\/wiki\/dockerfile-ssh\/#primaryimage"},"thumbnailUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/dockerfile-ssh_1362.jpg","datePublished":"2024-07-23T12:38:34+00:00","breadcrumb":{"@id":"https:\/\/dockerpros.com\/wiki\/dockerfile-ssh\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dockerpros.com\/wiki\/dockerfile-ssh\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/dockerpros.com\/wiki\/dockerfile-ssh\/#primaryimage","url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/dockerfile-ssh_1362.jpg","contentUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/dockerfile-ssh_1362.jpg","width":800,"height":600,"caption":"dockerfile-ssh-2"},{"@type":"BreadcrumbList","@id":"https:\/\/dockerpros.com\/wiki\/dockerfile-ssh\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dockerpros.com\/"},{"@type":"ListItem","position":2,"name":"Glossary","item":"https:\/\/dockerpros.com\/fr\/wiki\/"},{"@type":"ListItem","position":3,"name":"Dockerfile &#8211;ssh"}]},{"@type":"WebSite","@id":"https:\/\/dockerpros.com\/#website","url":"https:\/\/dockerpros.com\/","name":"Dockerpros","description":"DockerPros \u2013 Votre centre de ressources Docker incontournable","publisher":{"@id":"https:\/\/dockerpros.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dockerpros.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/dockerpros.com\/#organization","name":"Dockerpros","url":"https:\/\/dockerpros.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/","url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png","contentUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png","width":532,"height":114,"caption":"Dockerpros"},"image":{"@id":"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/glossary\/1362","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/glossary"}],"about":[{"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/types\/glossary"}],"author":[{"embeddable":true,"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":0,"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/glossary\/1362\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/media\/2037"}],"wp:attachment":[{"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/media?parent=1362"}],"wp:term":[{"taxonomy":"glossary-cat","embeddable":true,"href":"https:\/\/dockerpros.com\/fr\/wp-json\/wp\/v2\/glossary-cat?post=1362"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}