Migrated today from Proxmox 6.4 to 7.1-8. I wanted to migrade my Promxox root (Hardware Raid 1) to ZFS Software Raid1 Mirror, so I installed from ISO from scratch.
I have 3 Unprivileged LXCs with Docker nested and about 25 Containers.
In each of these LXCs, the Docker system directory
/var/lib/docker
point to ZFS Vols, formatted as XFS, as mountpoints in the LXC (I basically followed
this, also in this
ansible notebook).
Migration worked flawlessly.
Check storage driver in LXC:
Code:
docker info | grep -A 7 "Storage Driver:"
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: true
Native Overlay Diff: false
userxattr: true
Logging Driver: json-file
Cgroup Driver: systemd
Cgroup Version: 2
I did not need to import from Backups, could directly start LXCs from the ZFS backed storage,
as described here.
In summary, this was a really smooth ride from 6.4 to 7.1.
I decided for the ZFS Vol approach, because there is very little documentation on
fuse-overlayfs
and how reliable it is.
With XFS backed by ZFS, the results seemed more predictable and I need reliability for my docker containers (note that this is entirely subjective and I haven't tested
fuse-overlayfs
at all).
The two approaches can be exchanged, so I might test
fuseoverlay-fs
on a
/var/lib/docker
later..
Also note the
Native Overlay Diff: false
- I am not sure whether this is a default effect or bound to the specific approach that I used. In either case, it means that docker builds may be a little bit slower. If you use this approach for building many docker images (e.g. Gitlab CI/Gitlab Runners etc.), then you may look into this further - in my case, I use Docker for stable services, so nothing to mind.
Lastly, I migrated my LXCs from Debian to Ubuntu, since there is a discussion about some Kernel options that Debian did not activate by default, which could affect the Docker service. I haven't tested or compared if the same approach would work with Debian LXCs, but I will do this and report.
Just to give you some examples, here's a list of Docker Services that I host (stable for 2 years) within proxmox unprivileged LXCs:
- Gitlab CE
- Funkwhale
- Iris/Mopidy/Mosquitto/Snapcast
- Invidious
- Grafana
- Miniflux, RSS-Bridge
- Postgres
- Mailcow Dockerized
- ...
I am not suggesting that this is good for enterprise context, but works perfectly fine in a private or freelance situation.your