Files
docker-configs/linkwarden/data/archives/6/94.html

42 lines
35 KiB
HTML
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- Saved from local source at 2024-12-27T19:00:36Z using monolith v2.8.3 -->
<!DOCTYPE html><html lang="fr-fr" dir="ltr" data-scheme="light"><head><meta http-equiv="Content-Security-Policy" content="default-src 'unsafe-eval' 'unsafe-inline' data:; font-src 'none'; script-src 'none';"></meta><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="description" content="Introduction Jai trouvé plusieurs tutos pour installer Docker (engine) à lintérieur dun container LXC sous Proxmox VE pour ensuite lancer des containers Docker dedans. Le souci cest que vous devez vous logger dans le container LXC avant de pouvoir interagir avec vos containers Docker.\nOn peut aussi installer Docker directement sur Proxmox VE mais ce nest pas trop conseillé et on na pas la facilité dusage de LXC avec la GUI de Proxmox.\n"><title>Lancer des containers Docker avec Proxmox VE (et LXC)</title>
<link rel="canonical" href="https://blog.zwindler.fr/2022/11/07/containers-docker-dans-proxmox-avec-lxc/"><link rel="stylesheet" href="https://blog.zwindler.fr/scss/style.min.663803bebe609202d5b39d848f2d7c2dc8b598a2d879efa079fa88893d29c49c.css"><meta property="og:title" content="Lancer des containers Docker avec Proxmox VE (et LXC)"><meta property="og:description" content="Introduction Jai trouvé plusieurs tutos pour installer Docker (engine) à lintérieur dun container LXC sous Proxmox VE pour ensuite lancer des containers Docker dedans. Le souci cest que vous devez vous logger dans le container LXC avant de pouvoir interagir avec vos containers Docker.\nOn peut aussi installer Docker directement sur Proxmox VE mais ce nest pas trop conseillé et on na pas la facilité dusage de LXC avec la GUI de Proxmox.\n"><meta property="og:url" content="https://blog.zwindler.fr/2022/11/07/containers-docker-dans-proxmox-avec-lxc/"><meta property="og:site_name" content="Zwindler's Reflection"><meta property="og:type" content="article"><meta property="article:section" content="Post"><meta property="article:tag" content="LXC"><meta property="article:tag" content="docker"><meta property="article:tag" content="Proxmox VE"><meta property="article:tag" content="QEMU"><meta property="article:published_time" content="2022-11-07T06:30:00+02:00"><meta property="article:modified_time" content="2022-11-07T06:30:00+02:00"><meta property="og:image" content="https://blog.zwindler.fr/2019/10/proxmox.png"><meta name="twitter:title" content="Lancer des containers Docker avec Proxmox VE (et LXC)"><meta name="twitter:description" content="Introduction Jai trouvé plusieurs tutos pour installer Docker (engine) à lintérieur dun container LXC sous Proxmox VE pour ensuite lancer des containers Docker dedans. Le souci cest que vous devez vous logger dans le container LXC avant de pouvoir interagir avec vos containers Docker.\nOn peut aussi installer Docker directement sur Proxmox VE mais ce nest pas trop conseillé et on na pas la facilité dusage de LXC avec la GUI de Proxmox.\n"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:image" content="https://blog.zwindler.fr/2019/10/proxmox.png"><link rel="shortcut icon" href="https://blog.zwindler.fr/misc/nyanonymous_rond.png"><style>:root{--article-font-family:"Luciole";--base-font-family:"Luciole";--code-font-family:"Luciole";--sys-font-family:"Luciole";--zh-font-family:"Luciole"}</style><script></script><link href="https://blog.zwindler.fr/fonts/Luciole-Regular.css" type="text/css" rel="stylesheet"><base href="https://blog.zwindler.fr/2022/11/07/containers-docker-dans-proxmox-avec-lxc/"></base></head><body class="article-page"><script></script><script></script><div class="container main-container flex on-phone--column extended"><aside class="sidebar left-sidebar sticky"><button class="hamburger hamburger--spin" type="button" id="toggle-menu" aria-label="Afficher le menu">
<span class="hamburger-box"><span class="hamburger-inner"></span></span></button><header><figure class="site-avatar"><a href="https://blog.zwindler.fr/"><img src="https://blog.zwindler.fr/Denis_200x200_hu3819465452945713344.png" width="300" height="300" class="site-logo" loading="lazy" alt="Avatar"></a></figure><div class="site-meta"><h1 class="site-name"><a href="https://blog.zwindler.fr/">Zwindler's Reflection</a></h1><h2 class="site-description">Blog d'un startuper 👨‍💻 punk à chat 🐱</h2></div></header><ol class="menu-social"><li><a href="https://github.com/zwindler/zwindler" target="_blank" title="GitHub" rel="me"><svg class="icon icon-tabler icon-tabler-brand-github" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M9 19c-4.3 1.4-4.3-2.5-6-3m12 5v-3.5c0-1 .1-1.4-.5-2 2.8-.3 5.5-1.4 5.5-6a4.6 4.6.0 00-1.3-3.2 4.2 4.2.0 00-.1-3.2s-1.1-.3-3.5 1.3a12.3 12.3.0 00-6.2.0C6.5 2.8 5.4 3.1 5.4 3.1a4.2 4.2.0 00-.1 3.2A4.6 4.6.0 004 9.5c0 4.6 2.7 5.7 5.5 6-.6.6-.6 1.2-.5 2V21"></path></svg></a></li></ol><ol class="menu" id="main-menu"><li><a href="https://blog.zwindler.fr/"><svg class="icon icon-tabler icon-tabler-home" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><polyline points="5 12 3 12 12 3 21 12 19 12"></polyline><path d="M5 12v7a2 2 0 002 2h10a2 2 0 002-2v-7"></path><path d="M9 21v-6a2 2 0 012-2h2a2 2 0 012 2v6"></path></svg>
<span>Accueil</span></a></li><li><a href="https://blog.zwindler.fr/archives/"><svg class="icon icon-tabler icon-tabler-archive" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><rect x="3" y="4" width="18" height="4" rx="2"></rect><path d="M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8"></path><line x1="10" y1="12" x2="14" y2="12"></line></svg>
<span>Archives</span></a></li><li><a href="https://blog.zwindler.fr/recherche/"><svg class="icon icon-tabler icon-tabler-search" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><circle cx="10" cy="10" r="7"></circle><line x1="21" y1="21" x2="15" y2="15"></line></svg>
<span>Recherche</span></a></li><li><a href="https://blog.zwindler.fr/whoami-%C3%A0-propos/"><svg class="icon icon-tabler icon-tabler-user" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><circle cx="12" cy="7" r="4"></circle><path d="M6 21v-2a4 4 0 014-4h4a4 4 0 014 4v2"></path></svg>
<span>$&gt; whoami (à propos)</span></a></li><li><a href="https://blog.zwindler.fr/conf%C3%A9rences/"><svg class="icon icon-tabler icon-tabler-messages" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><path d="M21 14l-3-3h-7a1 1 0 01-1-1V4a1 1 0 011-1h9a1 1 0 011 1v10"></path><path d="M14 15v2a1 1 0 01-1 1H6l-3 3V11a1 1 0 011-1h2"></path></svg>
<span>Conférences</span></a></li><li><a href="https://blog.zwindler.fr/ai-manifesto/"><svg id="Layer_1" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 122.88 93.04" style="enable-background:new 0 0 122.88 93.04"><g><path d="M7.09 43.87h7.11v-1.65c0-2.2.44-4.3 1.24-6.22.83-1.99 2.04-3.79 3.55-5.29 1.5-1.5 3.3-2.72 5.29-3.55 1.92-.8 4.02-1.24 6.22-1.24h28.29v-.14V15.65c-.46-.17-.9-.38-1.32-.62-.59-.35-1.13-.77-1.61-1.25-.74-.74-1.34-1.63-1.75-2.62-.39-.95-.61-2-.61-3.08.0-1.09.22-2.13.61-3.08.41-.99 1.01-1.88 1.75-2.62.74-.74 1.63-1.34 2.62-1.75.95-.4 2-.61 3.08-.61s2.13.22 3.08.61c.99.41 1.88 1.01 2.62 1.75.74.74 1.34 1.63 1.75 2.62.39.95.61 2 .61 3.08.0 1.09-.22 2.13-.61 3.08-.41.99-1.01 1.88-1.75 2.62l-.04.04c-.47.46-1 .87-1.57 1.21-.42.25-.86.46-1.32.62v10.13.14h28.29c2.2.0 4.3.44 6.22 1.24 2 .83 3.79 2.04 5.29 3.55 1.5 1.5 2.72 3.3 3.55 5.29.8 1.92 1.24 4.02 1.24 6.22v1.65h6.86c.95.0 1.87.19 2.71.54.87.36 1.65.89 2.3 1.54l.04.04c.64.65 1.15 1.41 1.5 2.26.35.84.54 1.75.54 2.71v18.92c0 .95-.19 1.87-.54 2.71-.36.86-.89 1.65-1.54 2.3-1.28 1.28-3.06 2.08-5.01 2.08h-6.87c-.03 2.11-.47 4.14-1.24 5.99-.83 2-2.04 3.79-3.55 5.29-1.5 1.5-3.3 2.72-5.29 3.55-1.92.8-4.02 1.24-6.22 1.24H30.5c-2.2.0-4.3-.44-6.22-1.24-2-.83-3.79-2.04-5.29-3.55-1.5-1.5-2.72-3.3-3.55-5.29-.77-1.85-1.21-3.88-1.24-5.99H7.09c-.95.0-1.87-.19-2.71-.54-.87-.36-1.65-.89-2.3-1.54l-.04-.04C1.4 74.2.89 73.44.54 72.59.19 71.75.0 70.83.0 69.88V50.96c0-.95.19-1.87.54-2.71.36-.87.89-1.65 1.54-2.3.65-.65 1.43-1.18 2.3-1.54C5.22 44.06 6.13 43.87 7.09 43.87zM47 74.3c-.14-.11-.26-.23-.37-.37-.33-.4-.5-.86-.51-1.33s.14-.94.45-1.35c.11-.14.23-.27.38-.39.52-.43 1.21-.66 1.89-.67s1.36.19 1.9.6c1.86 1.43 3.7 2.47 5.52 3.16 1.8.68 3.58 1 5.34.98 1.77-.02 3.56-.39 5.39-1.08 1.85-.7 3.71-1.75 5.6-3.1.56-.4 1.25-.58 1.93-.55s1.36.27 1.87.72c.13.12.25.25.36.4.3.42.44.9.41 1.37s-.22.93-.56 1.32c-.12.13-.26.26-.42.37-2.37 1.71-4.75 3.01-7.16 3.9-2.42.89-4.87 1.36-7.35 1.39-2.49.03-4.95-.39-7.4-1.28-2.43-.88-4.85-2.23-7.23-4.06L47 74.3zM40.77 43.72c.6.0 1.2.06 1.77.18.58.12 1.15.29 1.7.52.56.23 1.09.51 1.58.84.48.32.93.68 1.33 1.08l.06.05c.42.42.8.88 1.13 1.38l.02.03c.32.48.6 1 .82 1.55.23.55.4 1.12.52 1.7.11.58.18 1.17.18 1.77s-.06 1.2-.18 1.77c-.12.58-.29 1.15-.52 1.71-.23.56-.51 1.09-.84 1.58-.34.51-.72.97-1.13 1.38-.83.83-1.84 1.51-2.97 1.97-.55.23-1.12.4-1.71.52-.58.11-1.17.17-1.77.17s-1.2-.06-1.77-.17c-.58-.12-1.15-.29-1.71-.52-.56-.23-1.09-.51-1.58-.84-.51-.34-.97-.72-1.38-1.13-.42-.42-.8-.88-1.13-1.38l-.02-.03c-.32-.48-.6-1-.82-1.55-.23-.55-.4-1.12-.52-1.7-.11-.58-.17-1.17-.17-1.77s.06-1.2.17-1.77c.12-.58.29-1.15.52-1.7.23-.56.51-1.09.84-1.58.34-.51.72-.97 1.13-1.38.42-.42.88-.8 1.38-1.13l.03-.02c.48-.32 1-.6 1.55-.82.55-.23 1.12-.4 1.7-.52C39.57 43.78 40.17 43.72 40.77 43.72zM42.73 48.1c-.3-.12-.62-.22-.95-.29-.32-.06-.66-.1-1.01-.1s-.69.03-1.01.1c-.34.07-.66.16-.95.29-.31.13-.6.28-.88.47-.27.18-.53.4-.78.65s-.46.51-.65.78c-.19.28-.34.57-.47.87-.12.3-.22.62-.29.95-.06.32-.1.66-.1 1.01s.03.69.1 1.01c.07.34.16.66.29.95.13.31.28.6.47.87.18.27.4.53.65.78s.51.46.78.65c.27.18.57.34.88.47l.03.02c.29.12.59.21.92.27.32.06.66.1 1.01.1s.69-.03 1.01-.1c.34-.07.65-.16.95-.28.31-.13.6-.29.88-.47.27-.18.53-.4.78-.65s.46-.51.65-.78c.19-.28.34-.57.47-.87.12-.3.22-.62.29-.95.06-.32.1-.66.1-1.01s-.03-.69-.1-1.01c-.07-.34-.16-.66-.29-.95-.13-.31-.28-.6-.47-.88s-.4-.54-.64-.78l-.05-.05c-.23-.22-.47-.42-.73-.59C43.34 48.38 43.04 48.22 42.73 48.1zm39.62-4.38c.6.0 1.2.06 1.77.18.58.12 1.15.29 1.7.52.56.23 1.09.51 1.58.84.47.32.91.67 1.31 1.07.02.02.05.04.07.06.42.42.8.88 1.13 1.38l.02.03c.32.48.6 1 .82 1.55.23.55.4 1.12.52 1.7.11.58.17 1.17.17 1.77s-.06 1.2-.17 1.77c-.12.58-.29 1.15-.52 1.71-.23.56-.51 1.09-.84 1.58-.34.51-.72.97-1.13 1.38-.42.42-.88.8-1.38 1.13l-.03.02c-.49.32-1 .6-1.55.82-.55.23-1.12.4-1.71.52-.58.11-1.17.17-1.77.17s-1.2-.06-1.77-.17c-.58-.12-1.15-.29-1.71-.52-.57-.24-1.1-.52-1.58-.84l-.05-.04c-.48-.33-.93-.69-1.33-1.09-.42-.42-.8-.88-1.13-1.38l-.02-.03c-.32-.48-.6-1-.82-1.55-.23-.55-.4-1.12-.52-1.7-.11-.58-.18-1.17-.18-1.77s.06-1.2.18-1.77c.12-.58.29-1.15.52-1.7.23-.56.51-1.09.84-1.58.34-.51.72-.97 1.13-1.38.41-.41.88-.79 1.38-1.13.49-.33 1.02-.61 1.58-.85.55-.23 1.12-.4 1.7-.52C81.16 43.78 81.75 43.72 82.35 43.72zm1.97 4.38c-.3-.12-.62-.22-.95-.29-.32-.06-.66-.1-1.01-.1-.35.0-.69.03-1.01.1-.34.07-.66.16-.95.29-.31.13-.6.28-.88.47-.27.18-.53.4-.78.65s-.46.51-.65.78c-.19.28-.34.57-.47.87-.12.3-.22.62-.29.95-.06.32-.1.66-.1 1.01s.03.69.1 1.01c.07.34.16.66.29.95.13.31.28.6.47.87.18.27.4.53.65.78s.51.46.78.65c.27.18.57.34.88.47l.03.02c.29.12.59.21.92.27.32.06.66.1 1.01.1.35.0.69-.03 1.01-.1.34-.07.65-.16.95-.28.31-.13.6-.29.88-.47.28-.19.54-.4.78-.64v0c.25-.25.46-.51.65-.78.19-.28.34-.57.47-.87.12-.3.22-.62.29-.95.06-.32.1-.66.1-1.01s-.03-.69-.1-1.01c-.07-.34-.16-.66-.29-.95-.13-.31-.28-.6-.47-.88s-.4-.54-.64-.78l-.05-.05c-.23-.22-.47-.42-.73-.59C84.92 48.38 84.63 48.22 84.32 48.1zM18.19 45.87v30.87c0 1.66.33 3.24.93 4.69.63 1.5 1.54 2.86 2.68 4s2.5 2.06 4 2.68c1.44.6 3.03.93 4.69.93h62.13c1.66.0 3.24-.33 4.69-.93 1.5-.63 2.86-1.54 4-2.68s2.06-2.5 2.68-4c.6-1.44.93-3.03.93-4.69V42.22c0-1.66-.33-3.25-.93-4.69-.63-1.5-1.54-2.86-2.68-4s-2.5-2.06-4-2.68c-1.44-.6-3.03-.93-4.69-.93H30.5c-1.66.0-3.24.33-4.69.93-1.5.63-2.86 1.54-4 2.68s-2.06 2.5-2.68 4c-.6 1.44-.93 3.03-.93 4.69v3.65H18.19zM14.2 47.86H7.09c-.42.0-.82.08-1.18.23-.38.16-.72.39-1.01.68l-.04.03c-.27.28-.49.61-.64.97-.15.36-.23.76-.23 1.18v18.92c0 .42.08.82.23 1.18.16.38.39.72.68 1.01.56.56 1.33.91 2.18.91h7.11V47.86H14.2zm101.59.0h-6.86v25.11h6.86c.42.0.82-.08 1.18-.23.38-.16.72-.39 1.01-.68s.52-.63.68-1.01c.15-.36.23-.76.23-1.18V50.96c0-.42-.08-.82-.23-1.18-.16-.38-.39-.72-.68-1.01-.29-.29-.63-.52-1.01-.68C116.61 47.95 116.21 47.86 115.79 47.86z"></path></g></svg>
<span>AI manifesto</span></a></li><li><a href="https://blog.zwindler.fr/mentions-l%C3%A9gales/"><svg class="icon icon-tabler icon-tabler-user" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="m2.2526 5.7943V18.79c3.249-2.03 6.498-2.03 9.7474.0 3.249-2.03 6.498-2.03 9.747.0V5.7943c-3.249-2.0306-6.498-2.0306-9.747.0-3.2793-1.9405-6.8503-1.7762-9.7474.0zm8.1224 1.726v8.0207C8.3081 14.851 6.4129 14.674 4.537 15.389V7.1651c2.287-1.0085 4.48-.5243 5.838.3552zm9.088-.3552v8.2239c-2.297-.718-4.023-.457-5.839.152V7.5203c1.866-1.0392 3.67-1.3169 5.839-.3552z" id="rect3027"></path></svg>
<span>Mentions légales</span></a></li><li class="menu-bottom-section"><ol class="menu"><li id="dark-mode-toggle"><svg class="icon icon-tabler icon-tabler-toggle-left" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><circle cx="8" cy="12" r="2"></circle><rect x="2" y="6" width="20" height="12" rx="6"></rect></svg>
<svg class="icon icon-tabler icon-tabler-toggle-right" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><circle cx="16" cy="12" r="2"></circle><rect x="2" y="6" width="20" height="12" rx="6"></rect></svg>
<span>Mode sombre</span></li></ol></li></ol></aside><aside class="sidebar right-sidebar sticky"><form action="https://blog.zwindler.fr/recherche/" class="search-form widget"><p><label>Rechercher</label>
<input name="keyword" required="" placeholder="Cherchez un article, une publication, etc.">
<button title="Rechercher"><svg class="icon icon-tabler icon-tabler-search" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><circle cx="10" cy="10" r="7"></circle><line x1="21" y1="21" x2="15" y2="15"></line></svg></button></p></form><section class="widget archives"><div class="widget-icon"><svg class="icon icon-tabler icon-tabler-hash" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><line x1="5" y1="9" x2="19" y2="9"></line><line x1="5" y1="15" x2="19" y2="15"></line><line x1="11" y1="4" x2="7" y2="20"></line><line x1="17" y1="4" x2="13" y2="20"></line></svg></div><h2 class="widget-title section-title">Table des matières</h2><div class="widget--toc"><nav id="TableOfContents"><ol><li><a href="#introduction">Introduction</a></li><li><a href="#contexte">Contexte</a></li><li><a href="#cest-bien-mais-pas-suffisant">Cest bien, mais pas suffisant</a></li><li><a href="#lxc-supporte-les-images-oci">LXC supporte les images OCI</a></li><li><a href="#bon-quand-est-ce-quon-commence-">Bon, quand est-ce quon commence ?</a></li><li><a href="#bonus">Bonus</a></li><li><a href="#source">Source</a></li></ol></nav></div></section></aside><main class="main full-width"><article class="has-image main-article"><header class="article-header"><div class="article-image"><a href="https://blog.zwindler.fr/2022/11/07/containers-docker-dans-proxmox-avec-lxc/"><img src="https://blog.zwindler.fr/2019/10/proxmox.png" loading="lazy" alt="Featured image of post Lancer des containers Docker avec Proxmox VE (et LXC)"></a></div><div class="article-details"><header class="article-category"><a href="https://blog.zwindler.fr/categories/syst%C3%A8me/">Système
</a><a href="https://blog.zwindler.fr/categories/virtualisation/" style="background-color:#2a9d8f;color:#fff">Virtualisation</a></header><h2 class="article-title"><a href="https://blog.zwindler.fr/2022/11/07/containers-docker-dans-proxmox-avec-lxc/">Lancer des containers Docker avec Proxmox VE (et LXC)</a></h2><div><h3>Ecrit par
~ <a href="https://blog.zwindler.fr/authors/zwindler/">zwindler</a>
~</h3></div><footer class="article-time"><div><svg class="icon icon-tabler icon-tabler-calendar-time" width="56" height="56" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><path d="M11.795 21H5a2 2 0 01-2-2V7a2 2 0 012-2h12a2 2 0 012 2v4"></path><circle cx="18" cy="18" r="4"></circle><path d="M15 3v4"></path><path d="M7 3v4"></path><path d="M3 11h16"></path><path d="M18 16.496V18l1 1"></path></svg>
<time class="article-time--published">07 Nov 2022</time></div><div><svg class="icon icon-tabler icon-tabler-clock" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><circle cx="12" cy="12" r="9"></circle><polyline points="12 7 12 12 15 15"></polyline></svg>
<time class="article-time--reading">5 minutes de lecture</time></div></footer></div></header><section class="article-content"><h2 id="introduction">Introduction</h2><p>Jai trouvé plusieurs tutos pour installer Docker (engine) <strong>à lintérieur</strong> dun container LXC sous Proxmox VE pour ensuite lancer des containers Docker dedans. Le souci cest que vous devez vous logger <strong>dans</strong> le container LXC avant de pouvoir interagir avec vos containers Docker.</p><p>On peut aussi installer Docker directement sur Proxmox VE mais ce nest pas trop conseillé et on na pas la facilité dusage de LXC avec la GUI de Proxmox.</p><p>Et en fait, il se trouve quon peut lancer des images Docker <strong>comme lOS</strong> dun container LXC et ainsi avoir des Docker pilotés par Proxmox. On aura donc pas un comportement 100% identique à si vous aviez fait un <code>docker run</code> sur votre machine.</p><p>Cependant, on gagnera un échange un container totalement identique à vos autres containers LXC de votre cluster (avec toutes les fonctions associées) mais lancé avec une image Docker.</p><p>Mais dabord je vous propose de revenir un peu en arrière avant de vous montrer comment…</p><h2 id="contexte">Contexte</h2><p>Vous le savez, je fais du Proxmox VE depuis un moment. Proxmox VE est une super distribution clé en main et production ready de virtualisation de serveurs (cest même de lhyperconvergé si on active la partie Ceph).</p><p>Il y a plein de petites choses que jaime avec Proxmox VE, et lune delle est quon peut créer des containers Linux avec LXC plutôt que des machines virtuelles QEMU. <a class="link" href="https://blog.zwindler.fr/2022/10/22/proxmox-tips-tricks/">Javais fait un article pour en parler</a>.</p><p>A lusage (sauf paramétrage kernel spécifique) le container LXC se comporte de manière strictement identique à une VM dans Proxmox, mais pour une fraction des ressources ! On a un OS, on installe des applications dessus, comme une VM.</p><p><img src="https://blog.zwindler.fr/2022/11/nginx.png" loading="lazy"></p><blockquote><p>Un frontal nginx pour plusieurs applications. Le container LXC complet ne consomme que quelques Mo</p></blockquote><p>Certes cest beaucoup moins bien isolé quune vraie VM (car cest un container, on est isolé des autres processus, mais on tourne sur le kernel de lhyperviseur directement).</p><p>Mais avec si peu de besoins en ressources, je peux héberger de nombreuses petites applications dans des contextes différents avec de très petites machines physiques (des Atom 4Go de RAM à 6€ par mois chez OneProviders) ce qui serait impossible avec une vraie VM.</p><h2 id="cest-bien-mais-pas-suffisant">Cest bien, mais pas suffisant</h2><p>Cependant, LXC nest pas la techno de containerisation la plus connue/hype. Depuis des années sur le forum, à chaque fois que des gens demande le support de Docker dans Proxmox VE, on les envoie balader. Pas toujours très gentiment dailleurs…</p><p>Pourtant, il y a plusieurs raisons pour avoir envie de lancer des containers Docker sur son infra Proxmox :</p><ul><li>Dabord, Docker nest pas autant des workloads stateless et/ou éphémères quon le croit. Beaucoup dapplications containerisées auraient toute leur place sur un cluster de virtualisation.</li><li>Ensuite parce que beaucoup déditeurs de logiciels sont devenus faignants. Certains ne gèrent plus les processus dinstallation (ou alors juste sur un OS) et fournissent juste une image Docker quils maintiennent mise à jour.</li></ul><p>On doit donc se contenter de VMs dans Proxmox pour lancer des containers Docker (cf mon point du début).</p><h2 id="lxc-supporte-les-images-oci">LXC supporte les images OCI</h2><p>Coup de théâtre. Il y a quelques jours, jai découvert que LXC, le moteur de containerisation de Proxmox VE, était compatible avec le format OCI.</p><ul><li><a class="link" href="https://www.buzzwrd.me/index.php/2021/03/10/creating-lxc-containers-from-docker-and-oci-images/" target="_blank" rel="noopener">buzzwrd.me - Creating LXC containers from docker and OCI images</a></li></ul><p>Pour ceux qui ne connaissent pas OCI, il sagit dune organisation visant à créer un standard pour unifie la façon de stocker les containers.</p><blockquote><p>The Open Container Initiative is an open governance structure for the express purpose of creating open industry standards around container formats and runtimes.
<a class="link" href="https://opencontainers.org/" target="_blank" rel="noopener">opencontainers.org/</a></p></blockquote><p>Et Docker respecte ce format : on peut donc théoriquement lancer depuis LXC des containers dont limage de base est une image Docker.</p><blockquote><p>Je suis profondément choqué
(Réf “Jean François Coppé” pour ceux qui nont pas le mème)</p></blockquote><h2 id="bon-quand-est-ce-quon-commence-">Bon, quand est-ce quon commence ?</h2><p>Disclaimer: ce qui suit est de la bidouille. Rien nest supporté et je ne le conseille pas en production. Il est probable quil y ait aussi des limitations (notamment pour ce qui est stockage).</p><p>Dabord, il manque quelques dépendances pour que la fonction OCI de LXC soit utilisable sous Proxmox VE :</p><pre tabindex="0"><code>sudo apt install skopeo umoci jq
</code></pre><p>Ensuite, par défaut, les containers LXC sattachent à un bridge linux qui sappelle <code>lxcbr0</code>. Cependant ce bridge nexiste probablement pas sur votre installation de Proxmox VE (pas installé par défaut).</p><p>En <em>quick and dirty</em>, on peut juste remplacer le nom par défaut, même si idéalement il faudrait trouver le flag dans la CLI pour changer le bridge. En fonction de comment vous avez configuré le réseau dans votre serveur Proxmox VE, vous allez probablement utiliser <code>vmbr0</code> ou <code>vmbr1</code> :</p><pre tabindex="0"><code>sed -i 's/lxcbr0/vmbr1/g' /etc/lxc/default.conf
</code></pre><p>Maintenant quon a tout, on peut lancer nos containers LXC à partir dimages docker. Ici je lance limage officielle <code>alpine:latest</code>, mais jaurais pu prendre nimporte quelle autre :</p><pre tabindex="0"><code>lxc-create 500 -t oci -- --url docker://alpine:latest
</code></pre><p>Jai créé un container appelé “500” (car les VMs et les containers LXC dans proxmox VE sont appelés avec des nombres). Limage est téléchargée puis le container créé :</p><p><img src="https://blog.zwindler.fr/2022/11/lxc_docker_pull.png" loading="lazy"></p><p>On peut maintenant le démarrer (avec <code>lxc-execute</code> on lance le container et ouvrir un prompt directement dedans, mais on a aussi <code>lxc-start</code> et <code>lxc-attach</code>)</p><pre tabindex="0"><code>lxc-execute 500
</code></pre><p><img src="https://blog.zwindler.fr/2022/11/alpine.png" loading="lazy"></p><p>Tel quel, Proxmox VE ne sait pas que notre container existe et il napparaitra pas dans lUI. Mais ça fonctionne ;-).</p><h2 id="bonus">Bonus</h2><p>On peut même tricher et faire croire à Proxmox que cest un container LXC quil a créé lui-même en créant un fichier <code>500.conf</code>, dans le dossier <code>/etc/pve/lxc/</code></p><p>Les seules lignes obligatoires sont les suivantes :</p><ul><li>arch (amd64 sauf si vous êtes sur ARM)</li><li>cores (la limite de CPUs à imposer au container)</li><li>hostname</li><li>memory (la limite de RAM à imposer au container)</li><li>ostype</li><li>rootfs</li></ul><p><img src="https://blog.zwindler.fr/2022/11/lxc_config.png" loading="lazy"></p><p>Une fois le fichier créé, automatiquement le container apparait dans la liste des VMs de lhôte. On peut le démarrer et ça fonctionne :)</p><p><img src="https://blog.zwindler.fr/2022/11/docker_lxc_running.png" loading="lazy"></p><p>Le container pourra être démarré, arrêté, etc. Le tout depuis la GUI de Proxmox VE :)</p><p>Have fun!</p><h2 id="source">Source</h2><ul><li><a class="link" href="https://pve.proxmox.com/wiki/Linux_Container" target="_blank" rel="noopener">Proxmox VE - Linux Container</a></li><li><a class="link" href="https://thehomelab.wiki/books/promox-ve/page/setup-and-install-docker-in-a-promox-7-lxc-conainer" target="_blank" rel="noopener">Setup and Install Docker in a Promox 7 LXC Conainer</a></li><li><a class="link" href="https://www.buzzwrd.me/index.php/2021/03/10/creating-lxc-containers-from-docker-and-oci-images/" target="_blank" rel="noopener">buzzwrd.me - Creating LXC containers from docker and OCI images</a></li></ul></section><footer class="article-footer"><section class="article-tags"><a href="https://blog.zwindler.fr/tags/lxc/">LXC</a>
<a href="https://blog.zwindler.fr/tags/docker/">Docker</a>
<a href="https://blog.zwindler.fr/tags/proxmox-ve/">Proxmox VE</a>
<a href="https://blog.zwindler.fr/tags/qemu/">QEMU</a></section><section class="article-copyright"><svg class="icon icon-tabler icon-tabler-copyright" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentcolor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"></path><circle cx="12" cy="12" r="9"></circle><path d="M14.5 9a3.5 4 0 100 6"></path></svg>
<span>Licensed under CC BY-SA 4.0</span></section><hr><p><b>Vous aimez ce blog ou cet article ? Partagez-le avec vos amis !</b> &nbsp;
<a class="resp-sharing-button__link" href="http://twitter.com/share?url=https%3a%2f%2fblog.zwindler.fr%2f2022%2f11%2f07%2fcontainers-docker-dans-proxmox-avec-lxc%2f&amp;text=Lancer%20des%20containers%20Docker%20avec%20Proxmox%20VE%20%28et%20LXC%29&amp;via=zwindler" target="_blank" rel="noopener" aria-label="Share on Twitter"><img src="https://blog.zwindler.fr/misc/twitter.png" alt="Twitter">
</a><a class="resp-sharing-button__link" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3a%2f%2fblog.zwindler.fr%2f2022%2f11%2f07%2fcontainers-docker-dans-proxmox-avec-lxc%2f&amp;title=Lancer%20des%20containers%20Docker%20avec%20Proxmox%20VE%20%28et%20LXC%29&amp;summary=Lancer%20des%20containers%20Docker%20avec%20Proxmox%20VE%20%28et%20LXC%29&amp;source=https%3a%2f%2fblog.zwindler.fr%2f2022%2f11%2f07%2fcontainers-docker-dans-proxmox-avec-lxc%2f" target="_blank" rel="noopener" aria-label="Share on LinkedIn"><img src="https://blog.zwindler.fr/misc/linkedin.png" alt="Linkedin">
</a><a class="resp-sharing-button__link" href="mailto:?subject=Lancer%20des%20containers%20Docker%20avec%20Proxmox%20VE%20%28et%20LXC%29.&amp;body=Lancer%20des%20containers%20Docker%20avec%20Proxmox%20VE%20%28et%20LXC%29%2c%20by%20Zwindler%27s%20Reflection%0a%3cnil%3e%0a%0ahttps%3a%2f%2fblog.zwindler.fr%2f2022%2f11%2f07%2fcontainers-docker-dans-proxmox-avec-lxc%2f%0a" target="_self" rel="noopener" aria-label="Share by E-Mail"><img src="https://blog.zwindler.fr/misc/mail.png" alt="email">
</a><a class="resp-sharing-button__link" href="http://www.facebook.com/sharer.php?u=https%3a%2f%2fblog.zwindler.fr%2f2022%2f11%2f07%2fcontainers-docker-dans-proxmox-avec-lxc%2f" target="_blank" rel="noopener" aria-label="Share on Facebook"><img src="https://blog.zwindler.fr/misc/fb.png" alt="Facebook"></a></p><p><b>Vous pouvez également vous abonner à la mailing list des articles ici</b></p><div id="mc_embed_signup"><form action="https://zwindler.us15.list-manage.com/subscribe/post?u=e2f4dbf554bab46b9f2508b52&amp;id=4306f8f058" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate=""><div id="mc_embed_signup_scroll"><div class="mc-field-group"><input type="email" placeholder="adresse e-mail" name="EMAIL" class="required email" id="mce-EMAIL"><input type="submit" value="S'abonner" name="subscribe" id="mc-embedded-subscribe" class="button"></div><div id="mce-responses" class="clear"><div class="response" id="mce-error-response" style="display:none"></div><div class="response" id="mce-success-response" style="display:none"></div></div><div style="position:absolute;left:-5000px" aria-hidden="true"><input type="text" name="b_e2f4dbf554bab46b9f2508b52_4306f8f058" tabindex="-1"></div></div></form></div><p>L'intégralité du contenu appartenant à Denis Germain (alias zwindler) présent sur ce blog, incluant les textes, le code, les images, les schémas et les supports de talks de conf, sont distribués sous la licence CC BY-SA 4.0.</p><p>Les autres contenus (thème du blog, police de caractères, logos d'entreprises, articles invités...) restent soumis à leur propre licence ou à défaut, au droit d'auteur. Plus d'informations dans les <a href="https://blog.zwindler.fr/mentions-l%C3%A9gales/#propri%C3%A9t%C3%A9-intellectuelle-et-contrefa%C3%A7ons">Mentions Légales</a></p></footer><script data-goatcounter="https://blogzwindler.goatcounter.com/count" async=""></script></article><aside class="related-content--wrapper"><h2 class="section-title">Contenus liés</h2><div class="related-content"><div class="flex article-list--tile"><article class="has-image"><a href="https://blog.zwindler.fr/2015/11/21/migration-centos-kvm-vers-proxmox/"><div class="article-image"><img src="https://blog.zwindler.fr/2015/10/Logo-ProxmoxVE.png" loading="lazy" data-key="" data-hash="/2015/10/Logo-ProxmoxVE.png"></div><div class="article-details"><h2 class="article-title">Migration CentOS + KVM vers Proxmox VE</h2></div></a></article><article class="has-image"><a href="https://blog.zwindler.fr/2024/09/28/proxmox-bad-scheduler/"><div class="article-image"><img src="https://blog.zwindler.fr/2024/09/bad_scheduler.jpg" loading="lazy" data-key="" data-hash="/2024/09/bad_scheduler.jpg"></div><div class="article-details"><h2 class="article-title">Proxmox 8.2.5 : bad scheduler ! Bad !</h2></div></a></article><article class="has-image"><a href="https://blog.zwindler.fr/2022/11/14/je-deconseille-nginx-ingresscontroller-en-production/"><div class="article-image"><img src="https://blog.zwindler.fr/2017/06/kubernetes2.png" loading="lazy" data-key="" data-hash="/2017/06/kubernetes2.png"></div><div class="article-details"><h2 class="article-title">Je déconseille nginx en tant qu'ingressController en production</h2></div></a></article><article class="has-image"><a href="https://blog.zwindler.fr/2022/10/22/proxmox-tips-tricks/"><div class="article-image"><img src="https://blog.zwindler.fr/2019/10/proxmox.png" loading="lazy" data-key="" data-hash="/2019/10/proxmox.png"></div><div class="article-details"><h2 class="article-title">Proxmox - Tips and tricks</h2></div></a></article><article class="has-image"><a href="https://blog.zwindler.fr/2019/11/19/changement-de-provider-mon-hyperviseur-sur-un-dedie-hetzner/"><div class="article-image"><img src="https://blog.zwindler.fr/2019/11/Hetzner_DCP_Luftbild.jpg" loading="lazy" data-key="" data-hash="/2019/11/Hetzner_DCP_Luftbild.jpg"></div><div class="article-details"><h2 class="article-title">Changement de provider, mon hyperviseur sur un dédié Hetzner</h2></div></a></article></div></div></aside><footer class="site-footer"><section class="copyright">©
2010 -
2024 Licensed under CC BY-SA 4.0</section><section class="powerby">Généré avec <a href="https://gohugo.io/" target="_blank" rel="noopener">Hugo</a><br>Thème <b><a href="https://github.com/CaiJimmy/hugo-theme-stack" target="_blank" rel="noopener" data-version="3.29.0">Stack</a></b> conçu par <a href="https://jimmycai.com" target="_blank" rel="noopener">Jimmy</a></section></footer><div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"><div class="pswp__bg"></div><div class="pswp__scroll-wrap"><div class="pswp__container"><div class="pswp__item"></div><div class="pswp__item"></div><div class="pswp__item"></div></div><div class="pswp__ui pswp__ui--hidden"><div class="pswp__top-bar"><div class="pswp__counter"></div><button class="pswp__button pswp__button--close" title="Close (Esc)"></button>
<button class="pswp__button pswp__button--share" title="Share"></button>
<button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button>
<button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button><div class="pswp__preloader"><div class="pswp__preloader__icn"><div class="pswp__preloader__cut"><div class="pswp__preloader__donut"></div></div></div></div></div><div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"><div class="pswp__share-tooltip"></div></div><button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)">
</button>
<button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"></button><div class="pswp__caption"><div class="pswp__caption__center"></div></div></div></div></div><script crossorigin="anonymous" defer=""></script><script crossorigin="anonymous" defer=""></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/default-skin/default-skin.min.css" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe.min.css" crossorigin="anonymous"></main></div><script crossorigin="anonymous"></script><script type="text/javascript" defer=""></script></body></html>