<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Docker on Martijn's Notes</title><link>https://vandenboom.online/fr/tags/docker/</link><description>Recent content in Docker on Martijn's Notes</description><generator>Hugo</generator><language>fr</language><copyright>Copyright © 2016-2026 van den &lt;span class='bold-rotate'&gt;B&lt;/span&gt;oom. All Rights Reserved.</copyright><lastBuildDate>Sun, 21 Jan 2024 15:00:19 +0800</lastBuildDate><atom:link href="https://vandenboom.online/fr/tags/docker/index.xml" rel="self" type="application/rss+xml"/><item><title>Déployer sur la plateforme d'applications DigitalOcean</title><link>https://vandenboom.online/fr/docs/deployment/digitalocean-app-platform/</link><pubDate>Sun, 21 Jan 2024 15:00:19 +0800</pubDate><guid>https://vandenboom.online/fr/docs/deployment/digitalocean-app-platform/</guid><description><![CDATA[<h2 id="exigences" data-numberify>Exigences<a class="anchor ms-1" href="#exigences"></a></h2>
<ul>
<li>Compte DigitalOcean</li>
</ul>

<h2 id="créer-un-fichier-docker" data-numberify>Créer un fichier Docker<a class="anchor ms-1" href="#créer-un-fichier-docker"></a></h2>
<p>Créez le <code>Dockerfile</code> à la racine de votre site.</p>
<blockquote>
<p>Notre <a href="https://github.com/razonyang/hugo-theme-bootstrap-skeleton" target="_blank" rel="noopener noreferrer">modèle de démarrage<i class="fas fa-external-link-square-alt ms-1"></i></a> inclut déjà le <code>Dockerfile</code>.</p>
</blockquote>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-dockerfile" data-lang="dockerfile"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="c">###############</span><span class="err">
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="c"># Build Stage #</span><span class="err">
</span></span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="c">###############</span><span class="err">
</span></span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="k">FROM</span><span class="w"> </span><span class="s">hugomods/hugo:exts</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="s">builder</span><span class="err">
</span></span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="k">COPY</span> . /src<span class="err">
</span></span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="k">ENV</span> <span class="nv">HUGO_ENV</span><span class="o">=</span>production
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="c"># Base URL</span><span class="err">
</span></span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="k">ARG</span> <span class="nv">HUGO_BASEURL</span><span class="o">=</span><span class="err">
</span></span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="k">ENV</span> <span class="nv">HUGO_BASEURL</span><span class="o">=</span><span class="si">${</span><span class="nv">HUGO_BASEURL</span><span class="si">}</span><span class="err">
</span></span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="c"># Module Proxy</span><span class="err">
</span></span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="k">ARG</span> <span class="nv">HUGO_MODULE_PROXY</span><span class="o">=</span><span class="err">
</span></span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="k">ENV</span> <span class="nv">HUGO_MODULE_PROXY</span><span class="o">=</span><span class="si">${</span><span class="nv">HUGO_MODULE_PROXY</span><span class="si">}</span><span class="err">
</span></span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="c"># NPM mirrors, such as https://registry.npmmirror.com</span><span class="err">
</span></span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="k">ARG</span> <span class="nv">NPM_CONFIG_REGISTRY</span><span class="o">=</span><span class="err">
</span></span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="k">ENV</span> <span class="nv">NPM_CONFIG_REGISTRY</span><span class="o">=</span><span class="si">${</span><span class="nv">NPM_CONFIG_REGISTRY</span><span class="si">}</span><span class="err">
</span></span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln">22</span><span class="cl"><span class="c"># Install dependencies</span><span class="err">
</span></span></span><span class="line"><span class="ln">23</span><span class="cl"><span class="k">RUN</span> npm ci<span class="err">
</span></span></span><span class="line"><span class="ln">24</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln">25</span><span class="cl"><span class="c"># Build site</span><span class="err">
</span></span></span><span class="line"><span class="ln">26</span><span class="cl"><span class="k">RUN</span> hugo --minify --gc --enableGitInfo<span class="err">
</span></span></span><span class="line"><span class="ln">27</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln">28</span><span class="cl"><span class="c"># Set the fallback 404 page if defaultContentLanguageInSubdir is enabled, please replace the `en` with your default language code.</span><span class="err">
</span></span></span><span class="line"><span class="ln">29</span><span class="cl"><span class="c"># RUN cp ./public/en/404.html ./public/404.html</span><span class="err">
</span></span></span><span class="line"><span class="ln">30</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln">31</span><span class="cl"><span class="c">###############</span><span class="err">
</span></span></span><span class="line"><span class="ln">32</span><span class="cl"><span class="c"># Final Stage #</span><span class="err">
</span></span></span><span class="line"><span class="ln">33</span><span class="cl"><span class="c">###############</span><span class="err">
</span></span></span><span class="line"><span class="ln">34</span><span class="cl"><span class="k">FROM</span><span class="w"> </span><span class="s">hugomods/hugo:nginx</span><span class="err">
</span></span></span><span class="line"><span class="ln">35</span><span class="cl"><span class="k">COPY</span> --from<span class="o">=</span>builder /src/public /site<span class="err">
</span></span></span></code></pre></div><ul>
<li>Le <code>/site</code> est le répertoire de sortie des fichiers statiques, qui seront utilisés ultérieurement.</li>
</ul>

<h2 id="créer-une-application" data-numberify>Créer une application<a class="anchor ms-1" href="#créer-une-application"></a></h2>
<p>Accédez à <em>DigitalOcean Dashboard</em> -&gt; <em>Left Panel</em> -&gt; <em>Apps</em> -&gt; <em>Create App</em>, puis remplissez le formulaire comme suit.</p>]]></description></item><item><title>Construire une image Docker</title><link>https://vandenboom.online/fr/docs/deployment/docker/</link><pubDate>Wed, 13 Jul 2022 10:30:29 +0800</pubDate><guid>https://vandenboom.online/fr/docs/deployment/docker/</guid><description><![CDATA[<p>Cet article détaillera comment créer une image Docker.</p>
<!--plus-->

<h2 id="principe" data-numberify>Principe<a class="anchor ms-1" href="#principe"></a></h2>
<ol>
<li>Utilisez Hugo pour créer le site et générer des fichiers statiques.</li>
<li>Utilisez Nginx comme serveur pour gérer les requêtes.</li>
</ol>

<h2 id="fichier-docker" data-numberify>Fichier Docker<a class="anchor ms-1" href="#fichier-docker"></a></h2>
<p>Créez un <code>Dockerfile</code> à la racine du site.</p>
<div class="highlight" title="Dockerfile"><pre tabindex="0" class="chroma"><code class="language-docker" data-lang="docker"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="c">###############</span><span class="err">
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="c"># Build Stage #</span><span class="err">
</span></span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="c">###############</span><span class="err">
</span></span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="k">FROM</span><span class="w"> </span><span class="s">razonyang/hugo</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="s">builder</span><span class="err">
</span></span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="k">WORKDIR</span><span class="w"> </span><span class="s">/src</span><span class="err">
</span></span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="k">COPY</span> . /src<span class="err">
</span></span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="k">ARG</span> <span class="nv">HUGO_ENV</span><span class="o">=</span>production
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="k">ENV</span> <span class="nv">HUGO_ENV</span><span class="o">=</span><span class="si">${</span><span class="nv">HUGO_ENV</span><span class="si">}</span><span class="err">
</span></span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="c"># Base URL</span><span class="err">
</span></span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="k">ARG</span> <span class="nv">HUGO_BASEURL</span><span class="o">=</span>/<span class="err">
</span></span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="k">ENV</span> <span class="nv">HUGO_BASEURL</span><span class="o">=</span><span class="si">${</span><span class="nv">HUGO_BASEURL</span><span class="si">}</span><span class="err">
</span></span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="c"># Module Proxy</span><span class="err">
</span></span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="k">ARG</span> <span class="nv">HUGO_MODULE_PROXY</span><span class="o">=</span><span class="err">
</span></span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="k">ENV</span> <span class="nv">HUGO_MODULE_PROXY</span><span class="o">=</span><span class="si">${</span><span class="nv">HUGO_MODULE_PROXY</span><span class="si">}</span><span class="err">
</span></span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="c"># NPM mirrors, such as https://registry.npmmirror.com</span><span class="err">
</span></span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="k">ARG</span> <span class="nv">NPM_CONFIG_REGISTRY</span><span class="o">=</span><span class="err">
</span></span></span><span class="line"><span class="ln">22</span><span class="cl"><span class="k">ENV</span> <span class="nv">NPM_CONFIG_REGISTRY</span><span class="o">=</span><span class="si">${</span><span class="nv">NPM_CONFIG_REGISTRY</span><span class="si">}</span><span class="err">
</span></span></span><span class="line"><span class="ln">23</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln">24</span><span class="cl"><span class="c"># Install dependencies</span><span class="err">
</span></span></span><span class="line"><span class="ln">25</span><span class="cl"><span class="k">RUN</span> npm install<span class="err">
</span></span></span><span class="line"><span class="ln">26</span><span class="cl"><span class="k">RUN</span> npm install -g @fullhuman/postcss-purgecss rtlcss<span class="err">
</span></span></span><span class="line"><span class="ln">27</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln">28</span><span class="cl"><span class="c"># Build site</span><span class="err">
</span></span></span><span class="line"><span class="ln">29</span><span class="cl"><span class="k">RUN</span> hugo --minify --gc --enableGitInfo<span class="err">
</span></span></span><span class="line"><span class="ln">30</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln">31</span><span class="cl"><span class="c"># Set the fallback 404 page if defaultContentLanguageInSubdir is enabled, please replace the `en` with your default language code.</span><span class="err">
</span></span></span><span class="line"><span class="ln">32</span><span class="cl"><span class="c"># RUN cp ./public/en/404.html ./public/404.html</span><span class="err">
</span></span></span><span class="line"><span class="ln">33</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln">34</span><span class="cl"><span class="c">###############</span><span class="err">
</span></span></span><span class="line"><span class="ln">35</span><span class="cl"><span class="c"># Final Stage #</span><span class="err">
</span></span></span><span class="line"><span class="ln">36</span><span class="cl"><span class="c">###############</span><span class="err">
</span></span></span><span class="line"><span class="ln">37</span><span class="cl"><span class="k">FROM</span><span class="w"> </span><span class="s">nginx</span><span class="err">
</span></span></span><span class="line"><span class="ln">38</span><span class="cl"><span class="k">COPY</span> --from<span class="o">=</span>builder /src/public /app<span class="err">
</span></span></span><span class="line"><span class="ln">39</span><span class="cl"><span class="k">COPY</span> deploy/nginx/default.conf /etc/nginx/conf.d/default.conf<span class="err">
</span></span></span></code></pre></div><ul>
<li>La construction comporte deux étapes, une étape de construction et une étape de publication. L&rsquo;étape de publication contient uniquement les fichiers statiques générés, en gardant la taille de l&rsquo;image Docker aussi petite que possible.</li>
<li>Si <code>defaultContentLanguageInSubdir</code> est activé, veuillez le décommenter et le modifier à la demande.</li>
<li>Le paramètre <code>HUGO_BASEURL</code> permet de spécifier le <code>baseURL</code> du site lors du build, et est généralement utilisé lorsque le <code>baseURL</code> est différent de la configuration, vous pouvez donc le supprimer vous-même si vous n&rsquo;en avez pas besoin.</li>
<li><code>HUGO_MODULE_PROXY</code> et <code>NPM_CONFIG_REGISTRY</code> sont des paramètres de construction facultatifs qui peuvent être supprimés s&rsquo;ils ne sont pas nécessaires.</li>
</ul>
<p>##Nginx</p>]]></description></item></channel></rss>