<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Snap - Ubuntu | Derek Armstrong — Software Engineer · AI · Infrastructure</title><link>https://derekarmstrong.dev/tags/snap---ubuntu/</link><atom:link href="https://derekarmstrong.dev/tags/snap---ubuntu/index.xml" rel="self" type="application/rss+xml"/><description>Snap - Ubuntu</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Wed, 04 Sep 2024 00:00:00 +0000</lastBuildDate><image><url>https://derekarmstrong.dev/media/sharing.png</url><title>Snap - Ubuntu</title><link>https://derekarmstrong.dev/tags/snap---ubuntu/</link></image><item><title>Comparing Docker.io and Snap Docker on Ubuntu</title><link>https://derekarmstrong.dev/blog/comparing-dockerio-and-snap-docker-on-ubuntu/</link><pubDate>Wed, 04 Sep 2024 00:00:00 +0000</pubDate><guid>https://derekarmstrong.dev/blog/comparing-dockerio-and-snap-docker-on-ubuntu/</guid><description>&lt;p&gt;Docker is a game-changer for developers and DevOps folks. It lets you package applications into containers, making them super portable and easy to manage. But when it comes to installing Docker on Ubuntu, you have a couple of options:
and snap docker. Let&amp;rsquo;s take a look at both to see what fits your needs and project!&lt;/p&gt;
&lt;h3 id="overview-of-dockerio-and-snap-docker-in-ubuntu"&gt;Overview of
and snap docker in Ubuntu&lt;/h3&gt;
&lt;p&gt;First up, we have
. This is the classic way of installing Docker using the APT package manager. You just run &lt;code&gt;sudo apt install&lt;/code&gt;
, and boom, Docker is ready to roll. It&amp;rsquo;s like ordering your favorite pizza and having it delivered right to your door.&lt;/p&gt;
&lt;p&gt;Then there&amp;rsquo;s &lt;strong&gt;snap docker&lt;/strong&gt;. Snap is a package management system that makes it easy to install and update software. You can get Docker via Snap by running &lt;code&gt;sudo snap install docker&lt;/code&gt;. It&amp;rsquo;s a more modern approach and has some cool features, but it also comes with a few quirks. Think of it as getting a gourmet pizza with some unique toppings – exciting, but maybe not for everyone.&lt;/p&gt;
&lt;h3 id="comparison-of-dockerio-and-snap-docker-in-terms-of-file-access-permissions"&gt;Comparison of
and snap docker in terms of file access permissions&lt;/h3&gt;
&lt;p&gt;Here&amp;rsquo;s where things get interesting. One of the key differences between
and snap docker is how they handle file access permissions.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
: This version of Docker has more traditional file access permissions. It can access files outside of your home directory if needed. This is handy for certain use cases where you need Docker to interact with system files or directories. Imagine having a master key that lets you into any room in the house.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;snap docker&lt;/strong&gt;: Snap packages are designed with security in mind, so they come with stricter confinement. Snap docker is limited to accessing files within the &lt;code&gt;$HOME&lt;/code&gt; directory. This means it can&amp;rsquo;t poke around in system directories, which can be a good thing for security but might be a limitation for some advanced use cases. Think of it as having a key that only lets you into your bedroom – safe, but a bit restrictive.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="implications-for-devops-and-security-professionals"&gt;Implications for DevOps and security professionals&lt;/h3&gt;
&lt;p&gt;For DevOps and security pros, the choice between
and snap docker can have significant implications.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Security&lt;/strong&gt;: Snap docker&amp;rsquo;s confinement model adds an extra layer of security by restricting file access. This can help prevent malicious containers from messing with your system files. If security is a top priority, snap docker might be the way to go. It&amp;rsquo;s like having a security guard at your door, making sure only the right people get in.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Flexibility&lt;/strong&gt;: On the flip side,
offers more flexibility. If your workflows require Docker to access files outside the home directory,
is the better choice. It&amp;rsquo;s more aligned with traditional Docker setups and might be easier to integrate into existing systems. Think of it as having the freedom to roam around your entire house without restrictions.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="key-takeaways"&gt;Key Takeaways&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;docker.io&lt;/code&gt; (APT) gives you unrestricted file access — necessary when containers need to interact with system directories or bind-mount outside your home folder.&lt;/li&gt;
&lt;li&gt;Snap Docker runs in a confined sandbox limited to &lt;code&gt;$HOME&lt;/code&gt;. Better security for isolated work, but a dealbreaker for workflows that need broader access.&lt;/li&gt;
&lt;li&gt;For most DevOps setups and CI/CD pipelines, &lt;code&gt;docker.io&lt;/code&gt; is the practical choice. Snap Docker fits personal or highly restricted environments.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="next"&gt;Next&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
— why Docker matters for local development and infrastructure&lt;/li&gt;
&lt;li&gt;
— the production infrastructure using container management&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>