<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>docker-compose &#8211; SMsoft &#8211; informatica e dintorni</title>
	<atom:link href="https://blog.smsoft.it/tag/docker-compose/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.smsoft.it</link>
	<description>consigli settimanali su MacOS, GNU/Linux ed Open Source</description>
	<lastBuildDate>Mon, 20 Jul 2026 15:58:31 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=88993</generator>
	<item>
		<title>Debian 13: Installare docker e docker compose</title>
		<link>https://blog.smsoft.it/2026/05/05/debian-13-installare-docker-e-docker-compose/</link>
					<comments>https://blog.smsoft.it/2026/05/05/debian-13-installare-docker-e-docker-compose/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 05 May 2026 08:30:00 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[docker-compose]]></category>
		<category><![CDATA[portainer.io]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=7034</guid>

					<description><![CDATA[Vediamo come procedere all&#8217;installazione veloce di docker e docker compose su debian 13 Trixie ma funziona anche con Debian 12 e Debian 11. Partiamo con docker: Rimuoviamo eventuali pacchetti installati prima: Installiamo la chiave GPG Aggiungiamo il repository ad APT: Effettuiamo l&#8217;installazione vera e propria dell&#8217;ultima versione disponibile: Nota: per installare una versione specifica, al ... <a title="Debian 13: Installare docker e docker compose" class="read-more" href="https://blog.smsoft.it/2026/05/05/debian-13-installare-docker-e-docker-compose/" aria-label="Per saperne di più su Debian 13: Installare docker e docker compose">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Vediamo come procedere all&#8217;installazione veloce di <strong>docker</strong> e <strong>docker compose</strong> su <strong>debian 13 Trixie</strong> ma funziona anche con Debian 12 e Debian 11. </p>



<p class="wp-block-paragraph">Partiamo con <strong>docker</strong>:</p>



<pre class="wp-block-code"><code>apt-get update
apt-get install apt-transport-https ca-certificates curl gnupg lsb-release</code></pre>



<p class="wp-block-paragraph">Rimuoviamo eventuali pacchetti installati prima:</p>



<pre class="wp-block-code"><code>apt remove $(dpkg --get-selections docker.io docker-compose docker-doc podman-docker containerd runc | cut -f1)</code></pre>



<p class="wp-block-paragraph">Installiamo la chiave GPG</p>



<pre class="wp-block-code"><code>curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc</code></pre>



<p class="wp-block-paragraph">Aggiungiamo il repository ad APT:</p>



<pre class="wp-block-code"><code>tee /etc/apt/sources.list.d/docker.sources &lt;&lt;EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release &amp;&amp; echo "$VERSION_CODENAME")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF</code></pre>



<p class="wp-block-paragraph">Effettuiamo l&#8217;installazione vera e propria dell&#8217;ultima versione disponibile:</p>



<pre class="wp-block-code"><code>apt-get update
apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin</code></pre>



<p class="wp-block-paragraph"><strong>Nota</strong>: per installare una <strong>versione</strong> specifica, <strong>al posto dell&#8217;ultimo</strong> comando, facciamo:</p>



<pre class="wp-block-code"><code>apt list --all-versions docker-ce

VERSION_STRING=5:29.6.1-1~debian.12~bookworm
apt install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin</code></pre>



<p class="wp-block-paragraph">Ora verifichiamo se tutto è andato a buon fine:</p>



<pre class="wp-block-code"><code>systemctl status docker
systemctl start docker</code></pre>



<p class="wp-block-paragraph">e proviamo ad avviare un&#8217;immagine di esempio</p>



<pre class="wp-block-code"><code>docker run hello-world</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><strong>Nota</strong>: per disinstallare docker:</p>



<pre class="wp-block-code"><code>apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
rm -rf /var/lib/docker
rm -rf /var/lib/containerd</code></pre>



<p class="wp-block-paragraph">e rimuoviamo anche il riferimento al repository ed alla firma:</p>



<pre class="wp-block-code"><code>rm /etc/apt/sources.list.d/docker.sources
rm /etc/apt/keyrings/docker.asc</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Infine, se vi interessa un sistema visuale per la gestione delle istanze docker, posso consigliarvi <a rel="noreferrer noopener" href="https://www.portainer.io/" target="_blank">portainer</a> che potete recuperare da <a rel="noreferrer noopener" href="https://github.com/portainer/portainer" target="_blank">github</a>. Per l&#8217;installazione di default:</p>



<pre class="wp-block-code"><code>docker volume create portainer_data
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest</code></pre>



<p class="wp-block-paragraph">Nota: se la macchina in questione è dietro un proxy, potreste ricevere il seguente errore:</p>



<pre class="wp-block-code"><code>docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).</code></pre>



<p class="wp-block-paragraph">Questo sicuramente è legato al fatto che docker non riesce ad utilizzare il proxy. Su Debian consiglio quanto segue:</p>



<pre class="wp-block-code"><code>mkdir /etc/systemd/system/docker.service.d</code></pre>



<p class="wp-block-paragraph">editare il file <strong>/etc/systemd/system/docker.service.d/http-proxy.conf</strong> ed inserire i parametri del proxy, es:</p>



<pre class="wp-block-code"><code>&#91;Service]
Environment="HTTP_PROXY=http://proxyHost:proxyPort"
Environment="HTTPS_PROXY=http://proxyHost:proxyPort"
Environment="NO_PROXY=localhost,127.0.0.1"</code></pre>



<p class="wp-block-paragraph">Ricaricare l&#8217;unità di systemd:</p>



<pre class="wp-block-code"><code>systemctl daemon-reload</code></pre>



<p class="wp-block-paragraph">Verificare che le impostazioni siano state correttamente lette:</p>



<pre class="wp-block-code"><code>systemctl show --property Environment docker</code></pre>



<p class="wp-block-paragraph">riavviare il servizio docker, eseguire entrambe i comandi:</p>



<pre class="wp-block-code"><code>systemctl restart docker
<meta http-equiv="content-type" content="text/html; charset=utf-8">service docker restart</code></pre>



<p class="wp-block-paragraph">E poi ripetere l&#8217;installazione di portainer, passando anche qui il proxy:</p>



<pre class="wp-block-code"><code>docker run -d -p 8000:8000 -p 9443:9443 -e "HTTPS_PROXY=http://proxyHost:proxyPort" --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest</code></pre>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><em><strong>Voglio ricordare che è possibile passare il proxy su docker in altri due modi:</strong></em></h2>



<p class="wp-block-paragraph">Inserire nel file <strong><code>/etc/default/docker</code></strong> le informazioni del proxy, come segue:</p>



<pre class="wp-block-code"><code>export http_proxy='http://proxyHost:proxyPort'
export https_proxy='http://proxyHost:proxyPort'
export no_proxy=localhost,127.0.0.1</code></pre>



<p class="wp-block-paragraph">oppure creare il file <strong><code>~/.docker/config.json</code></strong> ed inserire quanto segue:</p>



<pre class="wp-block-code"><code>{
"proxies": {
      "defaults": {
        "httpProxy":"http://proxyHost:proxyPort",
        "httpsProxy":"http://proxyHost:proxyPort",
        "noProxy":"localhost,127.0.0.1"
      }
    }
}</code></pre>



<p class="wp-block-paragraph">In ogni caso, ricordatevi di riavviare il servizio con:</p>



<pre class="wp-block-code"><code>service docker restart</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Per verificare le impostazioni passate alle macchine guest, basterà eseguire questo comando:</p>



<pre class="wp-block-code"><code>docker container run --rm busybox env</code></pre>



<p class="wp-block-paragraph">enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2026/05/05/debian-13-installare-docker-e-docker-compose/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>docker-compose: aggiungere una entry nel file hosts del guest</title>
		<link>https://blog.smsoft.it/2025/06/24/docker-compose-aggiungere-una-entry-nel-file-hosts-del-guest/</link>
					<comments>https://blog.smsoft.it/2025/06/24/docker-compose-aggiungere-una-entry-nel-file-hosts-del-guest/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 24 Jun 2025 08:30:00 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[docker-compose]]></category>
		<category><![CDATA[hosts]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=6788</guid>

					<description><![CDATA[Se utilizzate docker-compose ed avete bisogno di aggiungere una entry al file /etc/hosts del guest, si può fare utilizzando il TAG extra_hosts, ad esempio: riavviando l&#8217;istanza docker, si potra verificare che la entry sia stata effettivamente aggiunta andando a guardare il file hosts. Si recupera il file hosts con: e poi se ne legge il ... <a title="docker-compose: aggiungere una entry nel file hosts del guest" class="read-more" href="https://blog.smsoft.it/2025/06/24/docker-compose-aggiungere-una-entry-nel-file-hosts-del-guest/" aria-label="Per saperne di più su docker-compose: aggiungere una entry nel file hosts del guest">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Se utilizzate <strong>docker-compose</strong> ed avete bisogno di aggiungere una entry al file <strong>/etc/hosts</strong> del guest, si può fare utilizzando il TAG <strong>extra_hosts</strong>, ad esempio:</p>



<pre class="wp-block-code"><code>services:
  watchtower:
    image: nickfedor/watchtower
    container_name: watchtower
    environment:
      WATCHTOWER_CLEANUP: "true"
    extra_hosts:
      - "test.mysite.it:10.10.10.10"
</code></pre>



<p class="wp-block-paragraph">riavviando l&#8217;istanza docker, si potra verificare che la entry sia stata effettivamente aggiunta andando a guardare il file hosts. Si recupera il file hosts con:</p>



<pre class="wp-block-code"><code>docker container inspect watchtower --format '{{ .HostsPath }}'</code></pre>



<p class="wp-block-paragraph">e poi se ne legge il contenuto.</p>



<p class="wp-block-paragraph">enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2025/06/24/docker-compose-aggiungere-una-entry-nel-file-hosts-del-guest/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Risalire al file docker-compose.yml a partire da un container in esecuzione</title>
		<link>https://blog.smsoft.it/2025/04/01/risalire-al-file-docker-compose-yml-a-partire-da-un-container-in-esecuzione/</link>
					<comments>https://blog.smsoft.it/2025/04/01/risalire-al-file-docker-compose-yml-a-partire-da-un-container-in-esecuzione/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 01 Apr 2025 08:30:00 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[docker-compose]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=6691</guid>

					<description><![CDATA[Forse vi à capitato qualche volta di accedere ad un VPS e trovare una serie di container docker in esecuzione, tutti lanciati tramite docker-compose ma non c&#8217;è documentazione per capire dove siano i file docker-compose.yml La procedura più semplice è questa. Recuperare l&#8217;elenco dei docker in esecuzione: ed avremo una lista tipo: prendere il CONTAINER ... <a title="Risalire al file docker-compose.yml a partire da un container in esecuzione" class="read-more" href="https://blog.smsoft.it/2025/04/01/risalire-al-file-docker-compose-yml-a-partire-da-un-container-in-esecuzione/" aria-label="Per saperne di più su Risalire al file docker-compose.yml a partire da un container in esecuzione">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Forse vi à capitato qualche volta di accedere ad un VPS e trovare una serie di container docker in esecuzione, tutti lanciati tramite docker-compose ma non c&#8217;è documentazione per capire dove siano i file docker-compose.yml </p>



<p class="wp-block-paragraph">La procedura più semplice è questa. Recuperare l&#8217;elenco dei docker in esecuzione:</p>



<pre class="wp-block-code"><code>docker ps</code></pre>



<p class="wp-block-paragraph">ed avremo una lista tipo:</p>



<pre class="wp-block-code"><code>CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2e227efd6ec9 quay.io/soketi/soketi:1.0-16-alpine "node /app/bin/serve…" 3 days ago Up 3 days 0.0.0.0:6001->6001/tcp, &#91;::]:6001->6001/tcp, 0.0.0.0:9601->9601/tcp, &#91;::]:9601->9601/tcp soketi
048ec95f4cb9 postgres:16-alpine "docker-entrypoint.s…" 3 days ago Up 3 days (healthy) 5432/tcp llmsavastano-postgres-1</code></pre>



<p class="wp-block-paragraph">prendere il <strong>CONTAINER ID</strong>, es 2e227efd6ec9, e poi:</p>



<pre class="wp-block-code"><code>docker inspect 2e227efd6ec9 | grep config_files</code></pre>



<p class="wp-block-paragraph">ed avremo:</p>



<pre class="wp-block-code"><code>"com.docker.compose.project.config_files": "/home/tech/socketi/docker-compose.yml",</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">enjoy!</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2025/04/01/risalire-al-file-docker-compose-yml-a-partire-da-un-container-in-esecuzione/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Comandi utili per docker e docker compose</title>
		<link>https://blog.smsoft.it/2025/03/11/comandi-utili-per-docker-e-docker-compose/</link>
					<comments>https://blog.smsoft.it/2025/03/11/comandi-utili-per-docker-e-docker-compose/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 11 Mar 2025 09:30:00 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[docker-compose]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=6658</guid>

					<description><![CDATA[Non mi soffermo sull&#8217;utilità e la fase di installazione di Docker, eventualmente in futuro dedicherò un apposito post a queste cose. Oggi volevo solo riepilogare alcuni comandi utili per chi utilizza docker e docker compose: Avvio i container nel docker compose e sgancio la console: Spengo i container specificate nel DockerFile, rimuovo i container e ... <a title="Comandi utili per docker e docker compose" class="read-more" href="https://blog.smsoft.it/2025/03/11/comandi-utili-per-docker-e-docker-compose/" aria-label="Per saperne di più su Comandi utili per docker e docker compose">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Non mi soffermo sull&#8217;utilità e la fase di installazione di Docker, eventualmente in futuro dedicherò un apposito post a queste cose. Oggi volevo solo riepilogare alcuni comandi utili per chi utilizza docker e docker compose:</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Avvio i container nel docker compose e sgancio la console:</p>



<pre class="wp-block-code"><code>docker compose up -d</code></pre>



<p class="wp-block-paragraph">Spengo i container specificate nel DockerFile, rimuovo i container e le reti create:</p>



<pre class="wp-block-code"><code>docker compose down</code></pre>



<p class="wp-block-paragraph">Spengo i container nel DockerFile senza però cancellarli:</p>



<pre class="wp-block-code"><code>docker compose stop</code></pre>



<p class="wp-block-paragraph">Avvio i container nel DockerFile senza ricrearli:</p>



<pre class="wp-block-code"><code>docker compose start</code></pre>



<p class="wp-block-paragraph">Spengo (o accendo con star) un container in particolare:</p>



<pre class="wp-block-code"><code>docker compose stop NOME_CONTAINER</code></pre>



<p class="wp-block-paragraph">Mostro i container relativi al DockerFile:</p>



<pre class="wp-block-code"><code>docker compose ps</code></pre>



<p class="wp-block-paragraph">Dopo la modifica del Dockerfile docker-compose-yml:</p>



<pre class="wp-block-code"><code>docker compose stop &amp;&amp; docker compose up -d --no-deps --build</code></pre>



<p class="wp-block-paragraph">Rimuovo anche i volumi associati alle macchine nel docker-compose:</p>



<pre class="wp-block-code"><code>docker compose down --volumes</code></pre>



<p class="wp-block-paragraph">Rimuovo anche le immagini scaricate/costruite dal docker-compose:</p>



<pre class="wp-block-code"><code>docker compose down --rmi all</code></pre>



<p class="wp-block-paragraph">Guardo i log di docker-compose effettuando un tail, ovvero continua ad aggiornarli:</p>



<pre class="wp-block-code"><code>docker compose logs -f</code></pre>



<p class="wp-block-paragraph">Mostra i log di un container in parlitocolare:</p>



<pre class="wp-block-code"><code>docker compose logs NOME_CONTAINER</code></pre>



<p class="wp-block-paragraph">Mi collego ad un container da CLI:</p>



<pre class="wp-block-code"><code>docker exec -it NOME_CONTAINER /bin/sh</code></pre>



<p class="wp-block-paragraph">Cancello le risorse (container/image/network) non usate da nessun docker attivo:</p>



<pre class="wp-block-code"><code>docker system prune</code></pre>



<p class="wp-block-paragraph">Cancello i log dei vari docker:</p>



<pre class="wp-block-code"><code>truncate -s 0 /var/lib/docker/containers/*/*-json.log</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Aggiornare le immagini dei container definiti nel docker-compose:</p>



<pre class="wp-block-preformatted">docker compose pull</pre>



<p class="wp-block-paragraph">enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2025/03/11/comandi-utili-per-docker-e-docker-compose/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Debian: Installare docker e docker-compose</title>
		<link>https://blog.smsoft.it/2022/09/13/debian-installare-docker-e-docker-compose/</link>
					<comments>https://blog.smsoft.it/2022/09/13/debian-installare-docker-e-docker-compose/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 13 Sep 2022 08:30:00 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[docker-compose]]></category>
		<category><![CDATA[portainer.io]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=5585</guid>

					<description><![CDATA[Oggi una serie di comandi per l&#8217;installazione veloce di docker e docker-compose su debian. La procedura è per Debian 11, ma più o meno dovrebbe funzionare anche per le altre versioni vicino a questa. Partiamo con docker: Installiamo la chiave GPG Aggiungiamo il repository ad APT: Effettuiamo l&#8217;installazione vera e propria dell&#8217;ultima versione disponibile: Nota: ... <a title="Debian: Installare docker e docker-compose" class="read-more" href="https://blog.smsoft.it/2022/09/13/debian-installare-docker-e-docker-compose/" aria-label="Per saperne di più su Debian: Installare docker e docker-compose">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Oggi una serie di comandi per l&#8217;installazione veloce di <strong>docker</strong> e <strong>docker-compose</strong> su <strong>debian</strong>. La procedura è per <strong>Debian 11</strong>, ma più o meno dovrebbe funzionare anche per le altre versioni vicino a questa.</p>



<p class="wp-block-paragraph">Partiamo con <strong>docker</strong>:</p>



<pre class="wp-block-code"><code>apt-get update
apt-get install apt-transport-https ca-certificates curl gnupg lsb-release</code></pre>



<p class="wp-block-paragraph">Installiamo la chiave GPG</p>



<pre class="wp-block-code"><code>curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg </code></pre>



<p class="wp-block-paragraph">Aggiungiamo il repository ad APT:</p>



<pre class="wp-block-code"><code>echo "deb &#91;arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
  $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list &gt; /dev/null</code></pre>



<p class="wp-block-paragraph">Effettuiamo l&#8217;installazione vera e propria dell&#8217;ultima versione disponibile:</p>



<pre class="wp-block-code"><code>apt-get update
apt-get install docker-ce docker-ce-cli containerd.io</code></pre>



<p class="wp-block-paragraph"><strong>Nota</strong>: per installare una <strong>versione</strong> specifica, <strong>al posto dell&#8217;ultimo</strong> comando, facciamo:</p>



<pre class="wp-block-code"><code>apt-get install docker-ce=&lt;VERSIONE&gt; docker-ce-cli=&lt;VERSIONE&gt; containerd.io</code></pre>



<p class="wp-block-paragraph">Ora passiamo a <strong>docker-compose</strong>. Scarichiamo manualmente l&#8217;ultima versione (es ora la <strong>2.14.0</strong> <a href="https://docs.docker.com/compose/install/other/" target="_blank" rel="noreferrer noopener">rif</a>)</p>



<pre class="wp-block-code"><code>curl -SL https://github.com/docker/compose/releases/download/v2.14.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose</code></pre>



<p class="wp-block-paragraph">Sistemiamo i permessi del file:</p>



<pre class="wp-block-code"><code>chmod +x /usr/local/bin/docker-compose</code></pre>



<p class="wp-block-paragraph">Se il file non dovesse essere in quell posizione, alcune verioni lo caricano in <strong>/usr/libexec/docker/cli-plugins/docker-compose</strong>  e quindi facciamo:</p>



<pre class="wp-block-code"><code>ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose</code></pre>



<p class="wp-block-paragraph">Verifichiamo il funzionamento con:</p>



<pre class="wp-block-code"><code>docker-compose --version</code></pre>



<p class="wp-block-paragraph">Se non dovesse funzionare, possiamo fare un link simbolico in /usr/bin/</p>



<pre class="wp-block-code"><code>ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><strong>Nota</strong>: per disinstallare docker:</p>



<pre class="wp-block-code"><code>apt-get purge docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd</code></pre>



<p class="wp-block-paragraph">per disinstallare docker-compose:</p>



<pre class="wp-block-code"><code>rm /usr/local/bin/docker-compose
rm /usr/bin/docker-compose</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Infine, se vi interessa un sistema visuale per la gestione delle istanze docker, posso consigliarvi <a rel="noreferrer noopener" href="https://www.portainer.io/" target="_blank">portainer</a> che potete recuperare da <a rel="noreferrer noopener" href="https://github.com/portainer/portainer" target="_blank">github</a>. Per l&#8217;installazione di default:</p>



<pre class="wp-block-code"><code>docker volume create portainer_data
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest</code></pre>



<p class="wp-block-paragraph">Nota: se la macchina in questione è dietro un proxy, potreste ricevere il seguente errore:</p>



<pre class="wp-block-code"><code>docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).</code></pre>



<p class="wp-block-paragraph">Questo sicuramente è legato al fatto che docker non riesce ad utilizzare il proxy. Su Debian consiglio quanto segue:</p>



<pre class="wp-block-code"><code>mkdir /etc/systemd/system/docker.service.d</code></pre>



<p class="wp-block-paragraph">editare il file <strong>/etc/systemd/system/docker.service.d/http-proxy.conf</strong> ed inserire i parametri del proxy, es:</p>



<pre class="wp-block-code"><code>&#91;Service]
Environment="HTTP_PROXY=http://proxyHost:proxyPort"
Environment="HTTPS_PROXY=http://proxyHost:proxyPort"
Environment="NO_PROXY=localhost,127.0.0.1"</code></pre>



<p class="wp-block-paragraph">Ricaricare l&#8217;unità di systemd:</p>



<pre class="wp-block-code"><code>systemctl daemon-reload</code></pre>



<p class="wp-block-paragraph">Verificare che le impostazioni siano state correttamente lette:</p>



<pre class="wp-block-code"><code>systemctl show --property Environment docker</code></pre>



<p class="wp-block-paragraph">riavviare il servizio docker, eseguire entrambe i comandi:</p>



<pre class="wp-block-code"><code>systemctl restart docker
<meta http-equiv="content-type" content="text/html; charset=utf-8">service docker restart</code></pre>



<p class="wp-block-paragraph">E poi ripetere l&#8217;installazione di portainer, passando anche qui il proxy:</p>



<pre class="wp-block-code"><code>docker run -d -p 8000:8000 -p 9443:9443 -e "HTTPS_PROXY=http://proxyHost:proxyPort" --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest</code></pre>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><em><strong>Voglio ricordare che è possibile passare il proxy su docker in altri due modi:</strong></em></h2>



<p class="wp-block-paragraph">Inserire nel file <strong><code>/etc/default/docker</code></strong> le informazioni del proxy, come segue:</p>



<pre class="wp-block-code"><code>export http_proxy='http://proxyHost:proxyPort'
export https_proxy='http://proxyHost:proxyPort'
export no_proxy=localhost,127.0.0.1</code></pre>



<p class="wp-block-paragraph">oppure creare il file <strong><code>~/.docker/config.json</code></strong> ed inserire quanto segue:</p>



<pre class="wp-block-code"><code>{
"proxies": {
      "defaults": {
        "httpProxy":"http://proxyHost:proxyPort",
        "httpsProxy":"http://proxyHost:proxyPort",
        "noProxy":"localhost,127.0.0.1"
      }
    }
}</code></pre>



<p class="wp-block-paragraph">In ogni caso, ricordatevi di riavviare il servizio con:</p>



<pre class="wp-block-code"><code>service docker restart</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Per verificare le impostazioni passate alle macchine guest, basterà eseguire questo comando:</p>



<pre class="wp-block-code"><code>docker container run --rm busybox env</code></pre>



<p class="wp-block-paragraph">enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2022/09/13/debian-installare-docker-e-docker-compose/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
