25–27 Oct 2024
The Hague, Netherlands
Europe/Amsterdam timezone

Building secure and minimalistic Docker images for Data and ML with Rockcraft

Not scheduled
1h 30m
The Hague, Netherlands

The Hague, Netherlands

Churchillplein 10, 2517 JW Den Haag, Netherlands
Workshop (90 Minutes) Data, MLOps and AI/ML

Speakers

Mr Anas El Husseini
Zhijie Yang

Description

Abstract
Embark with us on a journey to the new era of container images. Learn about “rocks” and why there are enhanced versions of traditional Docker images, and explore how to use the tools in the rocks ecosystem.

We will kick off by introducing the concept of chiselled images—lean, minimalistic container images derived from Ubuntu LTS images. You’ll get hands-on experience with Chisel, learning to trim down Debian packages to include only essential binaries and libraries. With these chiselled slices, you will craft your own data and ML rocks using a straightforward YAML format.

Throughout the workshop, we will guide you step-by-step, ensuring you understand how to use Rockcraft’s features to build and manage your rocks. You will also compare your rock images with other popular counterpart images from public registries, seeing firsthand the benefits of this streamlined approach.

By the end of the session, you’ll not only have created a couple of functional container images but also tested them with some fun applications. Whether you’re new to containerization or an experienced developer, this workshop will equip you with the skills to create secure, efficient, and maintainable container images. The workshop includes a couple of live exercises where you will build Data and ML rock images.

What are you going to learn in this workshop
- What is a rock and how does it differ from a Docker image
- The rock toolkit: Rockcraft, Chisel, Skopeo, etc
- How to cut slices from debian packages using Chisel
- How to declare your rock and pack it with Rockcraft
- Exercise 1: create a rock for a data container
- Exercise 2: create a rock for an ML container

What to expect

The workshop will be an interactive session. Participants are expected to bring their laptops with them. People will be paired into groups of 2-4 persons to divide the workload among themselves while experimenting the different parts of the exercises.

Minimum requirements
The workshop is designed to accommodate participants with diverse skill levels. Nonetheless, to make the most of this workshop and be able to engage with the exercises, you should:

  • have an Ubuntu workstation or VM (a recent version is recommended, preferrably 24.04),
  • be comfortable around a Linux terminal,
  • have a basic understanding of shell scripting,
  • be familiar with deb packages and snaps.

Session author's bio

Anas El Husseini: Anas is a Lebanese enthusiastic computer lover since his early childhood. Throughout a long career of software development and teaching, he recently joined Canonical as a software engineer. With his obsession for programming and problem-solving, he is currently focusing on container technologies and developer tools with this small and amazing team. Outside the technical world, Anas is passionate about diverse hobbies and topics, including chess, puzzles, padel and history.


Zhijie Yang: Zhijie (aka James) works as an associate software engineer at Canonical since his graduation from the Technical University of Munich with a Master degree of Science in Informatics. He has 5+ years experience coding for academic projects. His main area of focus includes container technologies, deep learning, 3D computer vision, and robotic and autonomous systems.

Level of Difficulty Intermediate

Presentation materials