Course code: M7D-SPLC02
Download System Programming for Linux Containers course description (PDF)
This course provides a deep understanding of the Linux technologies (namely, set-UID/set-GID programs, capabilities, namespaces, cgroups, and seccomp) used to implement container, virtualization, and sandboxing systems. (These are the technologies used to build systems such as Docker, LXC, Firejail, and Flatpak.) The course also provides an understanding of the core APIs used to build system-level applications that run on such systems. Detailed explanations and carefully designed practical exercises provide participants with the knowledge needed both to troubleshoot container and sandboxing systems and to write complex applications that run on those systems. (The course does not cover administering container systems such as Docker and LXC, but by completion of the course participants will have a good understanding of various aspects of the underlying implementation and operation of such systems.)
Note that this course is similar to the 4-day Linux Security and Isolation APIs course, but with the addition of an initial day that covers a range of fundamental system programming topics.
The course employs a lecture+lab format.
The audience for this course includes designers and developers who are building, troubleshooting, and administering system-level applications for Linux-based container systems.
In order to get the most out of the course, participants should have:
The content of the course is applicable in a range of compiled programming languages, such as C, C++, Rust, and D and scripting languages such as Python, and participants are welcome to use their preferred language in the lab sessions.
Note: previous system programming experience is not required.
A significant part of the course is spent on practical exercises. The lab sessions also provide participants with the opportunity to obtain one-to-one assistance from the trainer on the course material and exercises.
Course participants will receive two course books
consisting of around 500 pages that include
all of the slides used in the course.
Some notable features of the course books are the following:
In addition to the course book, participants will receive a copy of The Linux Programming Interface, in either ebook or printed form (or, when possible, both).
The following samples gives some idea of the course content and style of the course materials:
For onsite courses at your location, please email training@man7.org regarding availability and pricing.
Date | Location | Maximum participants | |
19-23 April 2021 |
Online: UTC-4 timezone; either (TBD) 09:00-17:00 EDT or 10:00-18:00 EDT |
12 | Registration |
26-30 April 2021 | Online: UTC+2 timezone (CEST) | 12 | Registration |
8-12 November 2021 | Online: UTC+1 timezone (CET) | 12 | Registration |
21-25 March 2022 |
Online: UTC-4 timezone; either (TBD) 09:00-17:00 EDT or 10:00-18:00 EDT |
12 | Registration |
For public 5-day online courses, the per-attendee price is €2900 reduced to €2800 when booked (and either paid or a company purchase order is supplied) at least 4 weeks before the start of the course. (In addition, German VAT is charged for participants attending from German locations; for attendees elsewhere in the European Union, VAT may be payable locally.)
For public in-person 5-day courses in Munich, GERMANY, the per-attendee price is €3200 + 19% German VAT (MWSt).
For public in-person courses in San Francisco, the per-attendee price is US$3700 plus applicable local taxes.
The course price includes the cost of training materials as well as lunch and refreshments. Discounts are available for multiple attendees from the same company or organization; please inquire at training@man7.org for details.
Michael Kerrisk has a unique set of qualifications and experience that
ensure that course participants receive training of a very high standard:
For more information about the trainer, as well as many reasons why you might want to consider choosing man7.org training courses, please see reasons to choose man7.org training,
For further inquiries about the course, please contact us via one of the following methods:
If you would like to be added to a mailing list to receive notifications of public training courses that are scheduled in the future, send a mail (noting your location) to training@man7.org. Likely future locations are Europe and USA West Coast, but other locations may also be possible, especially if they can be scheduled to coincide with an interesting conference.