In this blog post I want to show how you can secure docker swarm so that docker containers are not running in root context on the host system.

https://hostlab.tech/blog/securing-docker-swarm-rootless

#docker #dockerswarm #rootless #tutorial #opensource #nginx #ubuntu #swarm #dockersocket

Securing docker swarm (rootless) | HostLab Tech

In this blog post I want to show how you can secure docker swarm so that docker containers are not running in root context on the host system.

I'm still experimenting with #podman #rootless and can't find how to allow containers/pod to access #localhost

Context: one pod with 2 #containers, one needs access to localhost. Podman is 5.4 with pasta networking.
I tried adding "-T" or "host-gateway" options to pasta network on the pod but still no way.
Can't to find a single complete article on how to manage networking on pods, a lot of different information

Has anyone a solution to this problem? Is it simply possible?

#sysadmin #linux

Some years ago, I started using #Docker #rootless for my #selfhosting needs. I was quite happy with it, even if finding information about rootless mode has been quite difficult.
I mostly used #compose setups.

Some days ago, I looked at #podman to replace those setups with a more modern stack. Podman works well for single containers but not that much podman-compose: don't believe the articles telling you that it's automatic, it's not!

#containers #apps #linux #floss

I didn't expect #rootless #podman to be such a rabbit hole nightmare.

It appears to be impossible to get the permissions right for a mounted folder for which the user starting the container has reading rights on the host via being in the group the files belong to.

I thought that is just a very basic use case. Probably I will just use docker again.

Tried to decide if I should look into #pasta instead of #slirp4netns. Looked at their webpage and found a long list of features. Nice.

Looked for a man page for the pasta command, but it was nowhere to be found on the webpage. Instead I could watch a 10 minutes long video showing 3 terminal windows and a window with a scrolling text explaining what happens in the terminal windows.

That is a thanks, but no thanks from me.

#Linux #Networking #rootless #documentation

So, #Podman #rootless mit #IPv6 für den neuen Server läuft. Jetzt muss ich mir nur noch Gedanken zu den Domains machen. Gefällt mir alles noch nicht… #SelfHosting
Hey #Linux people. I have a file /etc/subuid for #rootless #podman. This works well.
But now: How can I get access to a file generated by such a child namespace outside the container? File owner is now one of the subuids not me.

Запуск GUI-приложений в Docker-контейнере.
1. На машине с
#Wayland и без #XOrg
2. Rootless-контейнер
#Docker
3. Тяжёлое мультимедиа
#Chromium

Запуск контейнера:

docker run --rm -it \ -e XDG_RUNTIME_DIR="/run/user/$(id -u)" \ -e DBUS_SESSION_BUS_ADDRESS=unix:path=$XDG_RUNTIME_DIR/bus \ -e WAYLAND_DISPLAY=$WAYLAND_DISPLAY \ -v $XDG_RUNTIME_DIR/pipewire-0:$XDG_RUNTIME_DIR/pipewire-0 \ -v $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY:$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY \ -v $XDG_RUNTIME_DIR/bus:$XDG_RUNTIME_DIR/bus \ -v $XDG_RUNTIME_DIR/pulse/native:$XDG_RUNTIME_DIR/pulse/native \ --device /dev/dri \ --device /dev/snd \ имя-образа-для-контейнера \ chromium --no-sandbox --ozone-platform=waylandНе обязательно с --rm (даёт автоматическое удаление контейнера после остановки\выхода из браузера).
Можно и оставлять контейнера в остановленном состоянии. Однако, если это делается ради сохранения данных, то это некорректно. Данные лучше хранить в монтирующихся каталогах основной системы, нежели в volumes контейнерной среды.

Где взять контейнер?
Создать пустой каталог и поместить в него вот такой
chromium-debian.Dockerfile файл:FROM debian:12 RUN apt-get update && \ apt-get install -y chromium --no-install-recommends && \ rm -rf /var/lib/apt/lists/*Зайдя в это каталог, через cd, собрать образ:docker build . \ --file chromium-debian.Dockerfile \ -t имя-образа-для-контейнера
Rootless?
Обычные rootful-контейнеры Docker уже не модно и не профессионально (запускают процессы из под root'а системы).
Годный экскурс как сделать на машине rootless-контейнеры —
https://rootlesscontaine.rs/ -> «Getting Started».
Официальная документация —
https://docs.docker.com/engine/security/rootless/
И даже пакет для разворачивания
есть.

Как это работает
Внутри контейнера учётная запись пользователя как бы является root-ом, но это локально, а на самом деле запуск им процессов в основной системе происходит из под обычного пользователя. Того самого, который создал контейнер (то самое
$(id -u) в параметрах).
За счёт файлов
/etc/subuid и /etc/subgid, которые содержат проецирование идентификаторов:$ cat /etc/subuid username:100000:65536
Зачем?
Некоторый серьёзный софт встречается лишь для определённых дистрибутивов
#linux'а, а на компьютере у человека может быть экзотичный дистрибутив.
Если в контейнере с другим линухом спокойно работает такая тяжёлая вещь как Chromium с онлайновой аудио-видео мультимедией, то значит высока вероятность, что и остальной софт будет успешно вращаться.

И не всем разработчикам подходит
запуск серверной части VSCode внутри контейнера с toolchain'ом, чтобы подключаться потом через веб-интерфейс. Иногда надо запускать и обычную GUI-тулзы или другое IDE-подобное. Причём, работая сразу с несколькими дистрибутивами, в разных контейнерах, на одной машине.

#containerization #контейнеризация #rootless @Russia @rur

Rootless Containers | Rootless Containers

Rootless Containers

I wanted to try managing podman containers via Fedora Server Cockpit. I also wanted to run certain containers under their own rootless accounts. But in Cockpit I can't specify which account to run them under. I must be missing something. What?
#podman #cockpit #rootless