Your submission was sent successfully! Close

Jump to main content
  1. Blog
  2. Article

Vergil Yotov
on 17 May 2023

Docker vs Snaps: a side by side comparison


The Docker project was initiated by dotCloud, a platform-as-a-service (PaaS) company that created Docker to run their internal infrastructure. Slowly, Docker became more successful than any of their other products, so dotCloud rebranded as Docker Inc. Docker provides easy-to-use tooling and grew into an entire ecosystem for container management. Many developers have learned to use it as part of their toolkit for packaging and distributing applications to the cloud, or for development and testing stages more broadly. 

Snaps were introduced by Canonical, the publisher of Ubuntu, as a way to package and distribute Linux applications. There was a growing need to ease the deployment of applications that run across different Linux flavours, versions and even types of compute. Snaps improved the overall system security and the software update lifecycle, including infrastructure for over-the-air updates and automatic rollbacks. The idea behind snaps is to decouple the Linux application from the operating system it runs on, while still providing secure access to host resources through dedicated interfaces and reusing as much as it’s practical from a minimal stable release of Ubuntu.  

In sum, while Docker containers were mostly focused on covering the cloud use case and developer workflow, snaps aimed to reinvent the way Linux applications are packaged and distributed.

This resulted in Docker providing a quick and efficient way to containerise cloud services, while snaps became great for the distribution of Linux applications. 

As far as Linux applications are concerned, both could be packaged in either a Docker image or a snap. They both run natively on Linux and require a compatibility layer to run on Windows or macOS.

The infographic below provides a quick side by side comparison of the two technologies, their purpose and essential features for IoT deployments. To learn more about this topic, you can also download our whitepaper on considerations for using Docker containers in IoT and learn how to migrate your docker project to snaps.

Related posts


Giuseppe Barbieri
23 March 2023

Snapping out of Docker: a robotics guide for migrating Docker to Snap

Robotics Article

In this blog post, we are going to see when and how to migrate a ROS application currently deployed with Docker to Snap. This topic is also covered on our documentation website. We will use the web-based joystick application developed by Husarion, (GitHub – husarion/webui-ros-joystick) as an example. This application is used to send veloc ...


Felicia Jia
19 September 2023

Canonical partners with AMD to enable Ubuntu on AMD Kria™ K24 SOMs

IoT Article

Canonical has partnered with AMD (since from when it was still Xilinx) for many years and we jointly deliver optimised/certified Ubuntu on multiple AMD device families, e.g. AMD Zynq™ UltraScale+™ evaluation boards and AMD Kria™ K26 SOMs (system-on-module). Canonical is pleased to announce Ubuntu is now enabled on AMD’s new Kria™ KD240 an ...


Canonical
12 September 2023

이제 인텔 SoC에서 일반적으로 사용 가능한 최적화된 실시간 우분투

IoT Article

Canonical이 TSN 및 인텔 TCC를 지원하는 인텔 코어 프로세서에서 실시간 우분투를 제공 2023년 7월 26일, 런던: Canonical은 오늘 인텔 코어 프로세서에 최적화된 실시간 우분투를 이용할 수 있음을 발표했습니다. 이 솔루션을 통해 기업은 통신회사 워크로드에서 생명을 구하는 의료 장비 및 공장용 자동화 시스템에 이르기까지 광범위한 사용 사례에 인텔 실리콘에 최적화된 리눅스의 성능을 이용할 수 있습니다. Canonical의 ...