Skip to content

Commit d65013c

Browse files
authored
Merge pull request #541 from cgwalters/clarify-mutability
docs: Clarify mutability at build vs runtime
2 parents 1f0c19a + 3ee7cef commit d65013c

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

docs/src/building/guidance.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,15 @@ Let's however restate a base goal of this project:
2020
Every tool and technique for creating application base images
2121
should apply to the host Linux OS as much as possible.
2222

23+
## Understanding mutability
24+
25+
When run as a container (particularly as part of a build), bootc-compatible
26+
images have all parts of the filesystem (e.g. `/usr` in particular) as fully
27+
mutable state, and writing there is encouraged (see below).
28+
29+
When "deployed" to a physical or virtual machine, the container image
30+
files are read-only by default; for more, see [filesystem](../filesystem.md).
31+
2332
## Installing software
2433

2534
For package management tools like `apt`, `dnf`, `zypper` etc.

docs/src/filesystem.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,15 @@ enabled = true
1616

1717
This will ensure that the entire `/` is a read-only filesystem.
1818

19+
## Understanding container build/runtime vs deployment
20+
21+
When run *as a container* (e.g. as part of a container build), the
22+
filesystem is fully mutable in order to allow derivation to work.
23+
For more on container builds, see [build guidance](building/guidance.md).
24+
25+
The rest of this document describes the state of the system when
26+
"deployed" to a physical or virtual machine, and managed by `bootc`.
27+
1928
## Understanding physical vs logical root with `/sysroot`
2029

2130
When the system is fully booted, it is into the equivalent of a `chroot`.

0 commit comments

Comments
 (0)