Simple Docker Full OS

SIMPLE DOCKER FULL OS

========

the git

====================

Assalamulaikum

May peace be upon you

Greating floss (free libre open source software ) gnu linux :slight_smile:

==============

This time we will talk about simple docker full os gnu linux os :slight_smile:

===========

What is docker full os ?

Docker full os gnu linux os, in simple meaning, mean special kinds of docker that truely full gnu linux os which is running in the container in native performance.

it’s like vm (virtual machine) or chroot or termux or proot with native perfomance.

=========

The benefits of the docker full os gnu linux os

  1. it has native performance

  2. it very easy to make and to use

  3. we can make simple cloud gaming / cloud computing :slight_smile:

  4. etc

==========

the weakness of the docker full os gnu linux

  1. it need a lot of space

  2. there is no enough documentaries about docker full os

  3. etc

=========

HOW TO MAKE DOCKER FULL OS GNU LINUX OS

======================

  1. install gnu linux in laptop server for os host

example = sparky linux kde plasma / xfce semi rolling :slight_smile:

==================

  1. install gnu linux client’s laptop for client os

==============

  1. install docker in host os (server) via cli (command line interface) / terminal

sudo apt update

sudo apt install docker* docker-compose*

xhost +

===========

  1. Make simple pulse audio fix in host os (server)

4a. install pulse audio in os host (server)

4b. make a config file for pulse audio in host os (server)

example = /home/realsifo/Downloads/pulse/pulseaudio.socket

default-server = unix://home/realsifo/Downloads/pulse/pulseaudio.socket

Prevent a server running in the container

autospawn = no
daemon-binary = /bin/true

Prevent the use of shared memory

enable-shm = false
Share socket and config file with docker and set environment variables PULSE_SERVER and PULSE_COOKIE. Container user must be same as on host:

4c. run this command in host os (server)

pactl load-module module-native-protocol-unix socket=/home/realsifo/Downloads/pulse/pulseaudio.socket

=====================

  1. PULL IMAGE GNU LINUX for DOCKER OS FULL OS in host os (server)

sudo docker pull kalilinux/kali-rolling

sudo docker images

===============

  1. run the DOCKER IMAGE

docker run -ti --device=/dev/dri:/dev/dri --privileged --cap-add=ALL --device /dev/snd --volume /dev:/dev -v /dev:/dev --group-add audio -v /var/run/docker.sock:/host/var/run/doc -v /:/media/prime --env PULSE_SERVER=unix:/home/realsifo/Downloads/pulse/pulseaudio.socket --env PULSE_COOKIE=/home/realsifo/Downloads/pulse/pulseaudio.cookie --volume /home/realsifo/Downloads/pulse/pulseaudio.socket:/home/realsifo/Downloads/pulse/pulseaudio.socket --volume /home/realsifo/Downloads/pulse/pulseaudio.client.conf --publish=0.0.0.0:3351:3351 --publish=0.0.0.0:51:51 --group-add video --volume=“/tmp/.X11-unix:/tmp/.X11-unix” --env=“DISPLAY” -e XAUTHORITY=/root/.Xauthority --name docker-full-os-001 93b4ab65e32a(image-id)

=================

  1. UPDATE DAN UPGRADE the DOCKER FULL OS

apt update

apt full-upgrade

==================

  1. INSTALL APPS in DOCKER FULL OS

apt install nano pulseaudio* neofetch vlc* smplayer* wget uget cairo-dock* alsa-utils* network-manager net-tools* cairo-dock-plug-ins* dbus dbus-x11 thunar* chromium* rofi* terminator* sudo kate* kwrite* geany* geany-plugin-addons* aptitude* qt5-style-kvantum-themes qt5-style-kvantum-l10n qt5-style-kvantum libreoffice krita* gimp* kdenlive* handbrake* yt-dlp* isomaster* k3b* apt-utils* git htop* compiz* compiz-boxmenu* compiz-plugins* compizconfig-settings-manager* emerald* emerald-themes* fusion-icon* simple-ccsm* usbutils* lxqt* nmap* wireshark* sqlmap* metasploit-framework* airgeddon* bleachbit* xfce4* xfce4-goodies* kde-full* plasma-nm


if we use intel gpu , we need to install intel vulkan driver

a. aktivate the i386 multi-arch

dpkg --add-architecture i386 && sudo apt update


b. install the necesary apps

apt install libvulkan1 libvulkan1:i386 mesa-vulkan-drivers mesa-vulkan-drivers:i386 vulkan-tools*


c. we can also install wine dan lutris

apt install wine64 lutris*

======================

7.add user for docker full os

7a. add user

adduser namauser

b. make the user become sudo

usermod -aG sudo username

===========================

  1. how to save the DOCKER FULL OS

8a. cek the docker container that runing

sudo docker ps -a

B. save the docker container into docker image

sudo docker container commit --pause=false id-container nama-image:label

example

sudo docker container commit --pause=false c092aa5afec0 kali-linux:kali-linux-joss

C. to exite the docker container

exit

or

sudo docker stop id-container

D. tho run the docker container

sudo docker start id-container

E. to enter the running docker continer

sudo docker exec -it id-container bash

F. to erase the docker continer

sudo docker container rm -f id-container

G. to see the docker image

sudo docker images

H. to erase the docker image

sudo docker rmi -f id-image

I. to erase unessary docker image

sudo docker rmi $(docker images -qa -f ‘dangling=true’)

nb.

all that comman must run in host os not inside the docker full os

=======

===============

=========================

HOW TO ACESS DOCKER FULL OS

  1. how to access docker full os directly for host os

we can access the apps gui in docker full os from the host OS using clie , rofi or cairo dock

su user-name

apps name

su user-name

rofi -show run

select the apps

su user-name

cairo-dock

===================

  1. how to access docker full os FULL GUI / FULL DEKTOP directly for host os

2a. install xrdp server in docker full os

2b… edit nano /etc/xrpd/xrdp.ini

edit the xrdp’s port

2c. sudo service xrpd restart

2.d. install the xrdp clinet like remmina , etc

  1. run remina apps in the host os (server)

================

  1. how to make simple cloud gaming or cloud comping using docker full os

3a. install gnu linux os in other laptop (client’s laptop)

3b. install remmin client in client’s laptop

3c. run remmina xrdp client to start the cloud computing / cloud gaming :slight_smile:

==============

nb.

wine / lutris sometimes will error in docker full os, how to fix it

  1. open lutris

  2. setting the game with lutris

  3. in the game menu , select wine regristry

  4. edit the hcu -------> wine

  5. add key X11 DRIVER

  6. add string “UseXVidMode”=“N”

  7. add string UseXVidMode -------> edit the VALUE to N

  8. add string “UseXRandR”=“N”

  9. add string UseXRandR -------> edit the VALUE to N

  10. close wine

=============

=====================

=================

docker full os flatpak fix

INSTALL FLATPAK

a. enter root

su

b. install flatpak

apt install flatpak

c. install the flatpak components

apt install --yes appstream-util

G_DEBUG=fatal-criticals appstream-util validate-relax

d. work around

dbus-send --system /org/freedesktop/DBus org.freedesktop.DBus || dbus-daemon --system --fork

rm -fr run/dbus/pid

dbus-send --system /org/freedesktop/DBus org.freedesktop.DBus || dbus-daemon --system --fork

dbus-send --system /org/freedesktop/DBus org.freedesktop.DBus || dbus-daemon --system --fork

e. add flatpak flathub repo :slight_smile:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

f. install the flatpak apps

example peazip

flatpak install flathub io.github.peazip.PeaZip

g. run the flatpak’s apps in Mode user

su userid

flatpak run name-of-the-flapak’s-apps

flatpak run io.github.peazip.PeaZip

or we can run vaia the menu

================

=======================

this text is using the full creative common (cc) license

==============================

thanks

My Allah, The God bless you all. insya Allah ( by the God’s will )

============

gretting floss (free libre open source software) gnu linux :slight_smile:

Wassalamulaikum

peace be upon you

===============

1 Like

Peace be with you @realsifocopypaste ,
and thank you for bringing this to the itsFOSS community.

I have used docker, but only with a small OS like Alpine .
I am interested in the way you setup docker with a GUI.

Would it be correct to say that what you are doing is using docker to make a virtual
machine with a full Linux OS.? So it is an alternative to using Virtualbox or Virt-manager , but is likely to be more efficient and therefore suitable for intensive gaming applications.

Regards
Neville

Thanks, and peace be upon you too!

This looks interesting

I might give this a go over the weekend, as I’ve temporarily put aside my feeble and halting Gentoo adventures :smiley:

1 Like

I’m going to have a go at formatting this for better readability (also - having a whinge - WHY is docker so hard to install? e.g. on bullseye “sudo apt install docker” - does something - but NEVER actually installs “docker” - so you can’t run docker! WTF? There is no binary program called “docker”, after you run “sudo apt install docker”).

I hope I got it right…

Not going to try this right now - I’m in the middle of ugrading my Pi Zero 2W to Bookworm (mostly headless - but I can run minimal X if I have a monitor connected) - what I was wanting to do was finish my aborted Kali on Docker install - and - discovered, there’s no docker installed, even though WEEKS AGO I did “sudo apt install docker” and it installed something BUT NOT DOCKER! WTF?

I DETEST running things that pipe curl into the shell, and even more so when they’re piped into SUDO!!!

No I AM NOT DOING THAT! I can’t believe this stuff is still happening, where DevOPS numpties are recommending stuff like :

curl -sSL https://get.docker.com/ | sudo sh
(if you don’t know what this is doing - then - DON’T DO IT!)

That above is BAD news, and the fact that noobies might be attempting this, is even WORSE news! All it would take is someone to spoof that DNS name and it could pull down some malicious code, PIECE OF CAKE!

Because the package to install docker is not called docker in Debian .
You installed something else.

Cant remember the package name for docker. Will have to look it up.
I think its callled dockerX but I cant remember what X is

1 Like

Mmmm - I needn’t have bothered - it’s all nicely formatted already on your git repo @realsifocopypaste

Note - there seem to be some steps missing - here’s my experience on Debian Bookworm (12) armhf / arm7l :

 x@albiorix  ~  sudo apt install docker* docker-compose*
zsh: no matches found: docker*
 x@albiorix  ~  uname -a
Linux albiorix 6.1.21-v7+ #1642 SMP Mon Apr  3 17:20:52 BST 2023 armv7l GNU/Linux

(nice - this kernel was built on my birthday :smiley: )

So it looks if I want docker - I have to do it the “hard way” or “security lacking” (slack) : pipe a URL to “sudo sh” (no - I am not going to do that!).

I might try following the steps on this page :

(should be the same on Bookworm)

I am sorry i do not know about debian arm :slight_smile:

i am using sparky linux kde plasma semi rolling (x86 x64 version) as host os and kali linux rolling (x86 x64 version) as guest os / as docker full os :slight_smile:

in these distro docker packages are named docker and docker compose.

may be in other distro the docker packages have different name :slight_smile:

1 Like

That’s quite alright mate - don’t “sweat it” bro! :smiley:

Decided not to run docker on this Pi Zero 2W - eating up too much RAM, even though I disabled it in systemd - was still running processes…

I need to do some memory tuning on this thing - Bookworm seems to be using a lot more RAM than Bullseye did… going to investigate zram which I got running on my 4 GB Pi4 (on Buster - but it’s now running Ubuntu 22.04)…


Didn’t have to do any tweaking - freed up 100+ MB of RAM just by installing zram-tools (“sudo apt install zram-tools”)

MiB Mem :    474.7 total,     49.5 free,    318.2 used,    166.9 buff/cache     
MiB Swap:    303.8 total,     14.5 free,    289.3 used.    156.5 avail Mem

(Note - it was well under 100 “buff/cache”, and free was about 25)

I could probably tune it further - but happy with those defaults for the time being… Might try docker, again, now, but not for a while (it will only be to run kali docker).

After a bit of system tuning - even healthier :

MiB Mem :    474.7 total,     34.7 free,    183.5 used,    321.8 buff/cache     
MiB Swap:    303.8 total,    258.3 free,     45.5 used.    291.2 avail Mem