Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
docker_notes:init [2025-06-08 Sun wk23 09:42] baumkpdocker_notes:init [2025-09-06 Sat wk36 10:15] (current) – [References] baumkp
Line 1: Line 1:
-{{tag>Alpine linux docker init s6 s6-rc}}+{{tag>Alpine linux docker init s6 s6-rc alias}}
 ======Docker init Systems====== ======Docker init Systems======
 There are a number of init systems used on docker containers, many are the defaults that ship with the standard Linux distributions, e.g. systemd which is particularly popular on the larger comprehensive distributions.\\   There are a number of init systems used on docker containers, many are the defaults that ship with the standard Linux distributions, e.g. systemd which is particularly popular on the larger comprehensive distributions.\\  
 +++++tldr;|
 There is a lot of argument in the init world, SystemD seems to have taken over the init system in most "modern" Linux distributions.  It seems to break the Unix philosophy of do one thing well, and does many things, although it is broken into modules.  Perhaps more concerning is when graphical / windowing systems such as Gnome rely upon SystemD calls making it break with other init systems.\\ There is a lot of argument in the init world, SystemD seems to have taken over the init system in most "modern" Linux distributions.  It seems to break the Unix philosophy of do one thing well, and does many things, although it is broken into modules.  Perhaps more concerning is when graphical / windowing systems such as Gnome rely upon SystemD calls making it break with other init systems.\\
 Some Unix (Linux focus) init systems: Some Unix (Linux focus) init systems:
Line 31: Line 32:
  
 There are other init systems out there that I have not looked into, including a number of legacy init systems that are no longer supported.  There are other init systems out there that I have not looked into, including a number of legacy init systems that are no longer supported. 
 +++++
 =====s6 supervision rc system===== =====s6 supervision rc system=====
 I decided to build this container image based upon Alpine Linux using the [[https://www.skarnet.org/software/s6/index.html|S6]] init system. The Skarnet.org is the S6 authors web site and main repository. I decided to build this container image based upon Alpine Linux using the [[https://www.skarnet.org/software/s6/index.html|S6]] init system. The Skarnet.org is the S6 authors web site and main repository.
Line 104: Line 105:
   *[[https://github.com/docker-library/official-images?tab=readme-ov-file#init|docker library #init]]   *[[https://github.com/docker-library/official-images?tab=readme-ov-file#init|docker library #init]]
   *[[https://www.baeldung.com/ops/docker-init-parameter|How to Use –init Parameter in Docker Run Command]]   *[[https://www.baeldung.com/ops/docker-init-parameter|How to Use –init Parameter in Docker Run Command]]
 +
 +=====alias in S6 init=====
 +I like the alias command to change some default CLI command flags, in particular ls => ls -la, which I normally call ll.  I had no success using the alias command in S6 init scripts. I found the following solution, by using the s6 pre_start_script to add a link ''ll.sh'' script in to the ''/bin'' directory.
 +
 +<code bash>#get my favourite alias working in Alpine sh has been a pain
 +/bin/ln -s /app/scripts/ll.sh /bin/ll</code>
 +
 +Where ''ll.sh'' is:
 +<code bash>#!/bin/sh
 +exec ls -la "$@"</code>
 =====References===== =====References=====
-  *[[https://github.com/just-containers/s6-overlay| just-containers/s6-overlay]] (**Version 3.2.1.0** as of 2025-05-07, last checked 2025-05-21), note only a minor change since previous version+  *[[https://github.com/just-containers/s6-overlay| just-containers/s6-overlay]] (**Version 3.2.1.0** as of 2025-05-07, last checked 2025-09-06), note only a minor change since previous version
   *[[https://skarnet.org/software/s6-rc/s6-rc-compile.html|The s6-rc-compile program]] Describes the functionality of the S6-rc system   *[[https://skarnet.org/software/s6-rc/s6-rc-compile.html|The s6-rc-compile program]] Describes the functionality of the S6-rc system
   *[[https://forum.level1techs.com/t/easy-to-follow-beginner-guide-on-s6-starter-pack/178411|Easy to follow Beginner Guide on s6 Starter Pack]]   *[[https://forum.level1techs.com/t/easy-to-follow-beginner-guide-on-s6-starter-pack/178411|Easy to follow Beginner Guide on s6 Starter Pack]]