docker auf FreeBSD startet nicht

carbuncle

Rainbow Six
Moin,

ich versuche gerade docker auf einem FreeBSD 13.5 zum laufen zu bekommen. Docker auf FreeBSD mag gerne virtualbox. Beim Versuch die Maschine zu starten:

Code:
$ docker-machine create -d virtualbox default

bekomme ich folgende Fehlermeldung:
Code:
root@fswps01:/home/j0b314 # docker-machine create -d virtualbox default
Creating CA: /root/.docker/machine/certs/ca.pem
Creating client certificate: /root/.docker/machine/certs/cert.pem
Running pre-create checks...
(default) Image cache directory does not exist, creating it at /root/.docker/machine/cache...
(default) No default Boot2Docker ISO found locally, downloading the latest release...
(default) Latest release for github.com/boot2docker/boot2docker is v19.03.12
(default) Downloading /root/.docker/machine/cache/boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v19.03.12/boot2docker.iso...
(default) 0%....10%....20%....30%....40%....50%....60%....70%....80%....90%....100%
Creating machine...
(default) Copying /root/.docker/machine/cache/boot2docker.iso to /root/.docker/machine/machines/default/boot2docker.iso...
(default) Creating VirtualBox VM...
(default) Creating SSH key...
(default) Starting the VM...
(default) Check network to re-create if needed...
(default) Creating a new host-only adapter produced an error: /usr/local/bin/VBoxManage hostonlyif create failed:
(default) 0%...
(default) Progress state: NS_ERROR_FAILURE
(default) VBoxManage: error: Failed to create the host-only adapter
(default) VBoxManage: error: VBoxNetAdpCtl: Error while adding new interface: failed to open /dev/vboxnetctl: No such file or directory
(default) VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component HostNetworkInterfaceWrap, interface IHostNetworkInterface
(default) VBoxManage: error: Context: "RTEXITCODE handleCreate(HandlerArg *)" at line 95 of file VBoxManageHostonly.cpp
(default)
(default) This is a known VirtualBox bug. Let's try to recover anyway...
Error creating machine: Error in driver during machine creation: Error setting up host only network on machine start: The host-only adapter we just created is not visible. This is a well known VirtualBox bug. You might want to uninstall it and reinstall at least version 5.0.12 that is is supposed to fix this issue
root@fswps01:/home/j0b314 #

Hat jemand sowas schonmal gemacht?
 
Hast du das vboxdrv Kernel Module geladen?
Und da es bei VBoxNetAdpCtl fehlschlägt, könnte es mit dem fehlen von vboxnet_enable="YES" in der rc.conf zusammenhängen.
 
Guten Morgen,

Vielen Dank das geht schonmal in die richtige Richtung. Ich kann allerdings das vbox kernel Modul nicht laden. Er sagt mir Version mismatch.

Ich habe von 13.3 auf 13.5 upgedated. Eventuell liegen auf den Package Servern nicht die korrekten Binärpakete? Ich update heute nochmal auf ein 14er durch und schaue dann nochmal.
 
Zuletzt bearbeitet:
Kannst du mal pkg info -A emulators/virtualbox-ose-kmod (interessant ist dort FreeBSD_version) und freebsd-version -kru ausführen und die Ausgabe posten?
Wenn du das unbedingt unter 13.5 brauchst, bleibt dir wohl nichts anderes als das Module selbst aus den Ports zu bauen.

Edit:
Warte, wenn ich mich nicht irre werden die Packages immer mit der jeweiligen niedrigsten unterstützen Minor-Version gebaut, das wäre aktuell beim 13er Zweig 13.4 (bis 2025-06-30). Deswegen kommt das version mismatch und du wirst das wohl wirklich selbst aus den Ports bauen müssen.
 
Zuletzt bearbeitet:
Das weiß ich leider nicht, benutze virtualbox nicht - hab mir die Infos nur aus dem Ports-Repo bzw. freshports rausgesucht.
 
Kannst du mal pkg info -A emulators/virtualbox-ose-kmod (interessant ist dort FreeBSD_version) und freebsd-version -kru ausführen und die Ausgabe posten?
Wenn du das unbedingt unter 13.5 brauchst, bleibt dir wohl nichts anderes als das Module selbst aus den Ports zu bauen.

Edit:
Warte, wenn ich mich nicht irre werden die Packages immer mit der jeweiligen niedrigsten unterstützen Minor-Version gebaut, das wäre aktuell beim 13er Zweig 13.4 (bis 2025-06-30). Deswegen kommt das version mismatch und du wirst das wohl wirklich selbst aus den Ports bauen müssen.
Vielen Dank erstmal. Ich habe eben direkt auf 14.2 upgedated. Kernel Module werden jetzt sauber geladen. Danke dafür erstmal. FreeBSD Updates sind wirklich schmerzfrei :)

Allerdings habe ich jetzt ein anderes Problem:
Code:
root@fswps01:/home/j0b314 # docker-machine create -d virtualbox default
Running pre-create checks...
Creating machine...
(default) Copying /root/.docker/machine/cache/boot2docker.iso to /root/.docker/machine/machines/default/boot2docker.iso...
(default) Creating VirtualBox VM...
(default) Creating SSH key...
(default) Starting the VM...
(default) Check network to re-create if needed...
(default) Found a new host-only adapter: "vboxnet0"
Error creating machine: Error in driver during machine creation: Error setting up host only network on machine start: /usr/local/bin/VBoxManage hostonlyif ipconfig vboxnet0 --ip 192.168.99.1 --netmask 255.255.255.0 failed:
VBoxManage: error: Code E_ACCESSDENIED (0x80070005) - Access denied (extended info not available)
VBoxManage: error: Context: "EnableStaticIPConfig(Bstr(pszIp).raw(), Bstr(pszNetmask).raw())" at line 242 of file VBoxManageHostonly.cpp

root@fswps01:/home/j0b314 #

Der Hintergrund warum ich docker installieren will ist eigentlich weil es da z.B. fertige Images für z.B. NextCloud gibt. Allerdings überlege ich mir auch den Weg über die Jails zu gehen. Ist mehr Arbeit, aber der Output ist besser. Docker auf FreeBSD hat ausserdem keinen Maintainer. Sollte man vielleicht nicht so nehmen.

Vielen Dank euch!!!
 
Der Hintergrund warum ich docker installieren will ist eigentlich weil es da z.B. fertige Images für z.B. NextCloud gibt. Allerdings überlege ich mir auch den Weg über die Jails zu gehen. Ist mehr Arbeit, aber der Output ist besser. Docker auf FreeBSD hat ausserdem keinen Maintainer. Sollte man vielleicht nicht so nehmen.

Vielen Dank euch!!!

Ich würd ja einfach das richtige System für den Job nehmen, also ein Linux ;)
Wenn man mal mit den nextcloud Container gearbeitet hat, will man eigentlich nicht mehr zurück.

Für FreeBSD wurde aber ja auch mal eine richtige podman/oci Implementierung begonnen, aber kA wie da der Status ist, ev. ist das ja was für dich wenn du sowieso basteln möchtest: https://www.bsdforen.de/threads/tester-gesucht-oci-container-auf-freebsd.37161/
 
@carbuncle Hier mal ein Auszug aus der Doku:
# https://www.virtualbox.org/manual/ch06.html#network_hostonly
On Linux, macOS and Solaris Oracle VM VirtualBox will only allow IP addresses in 192.168.56.0/21 range to be assigned to host-only adapters.

Heißt entweder musst du die networks.conf von vbox anpassen oder die Konfiguration bei deinem Docker-Zeug.

Ansonsten stimme ich @medV2 zu, wenn du unbedingt Docker "produktiv" benutzen willst wäre wohl irgendein Linux die einfachere Wahl.
 
@carbuncle Hier mal ein Auszug aus der Doku:


Heißt entweder musst du die networks.conf von vbox anpassen oder die Konfiguration bei deinem Docker-Zeug.

Ansonsten stimme ich @medV2 zu, wenn du unbedingt Docker benutzten willst wäre wohl irgendein Linux die einfachere Wahl.
Ja sieht so aus. Das ist mir ein bisschen wackelig alles. Ich werde mir mal die Jails anschauen. Vielen Dank nochmal.
 
Für FreeBSD wurde aber ja auch mal eine richtige podman/oci Implementierung begonnen, aber kA wie da der Status ist, ev. ist das ja was für dich wenn du sowieso basteln möchtest: https://www.bsdforen.de/threads/tester-gesucht-oci-container-auf-freebsd.37161/
Bei dem Call of Testers ging es ja vor allem darum erst einmal Erfahrungen mit Containern auf FreeBSD zu sammeln. Darauf aufbauend hat man eine Spezifikation entwickelt, die nun eingereicht wurde: https://github.com/opencontainers/runtime-spec/pull/1286 Die wird nun wahrscheinlich einige Iterationen durch den Review-Prozess drehen, aber sehr wahrscheinlich schlussendlich akzeptiert werden. Damit gäbe es dann eine offizielle OCI-Spezifikation, wie Container auf FreeBSD auszusehen haben. Damit ist man Teil des OCI-Ökosystems, vor allem aber sie ist Voraussetzung für viele Upstream-Projekte - bis hin zu den ganz großen Fischen wie K8S - um FreeBSD-Unterstützung überhaupt zu akzeptieren. Das wird alles noch seine Zeit brauchen, aber man ist auf dem Weg.
 
Moin,

um den Thread hier nochmal abzuschliessen. Ich habe mich gegen Docker und für Jails auf FreeBSD entschieden. Dafür habe ich BastilleBSD gefunden und das hat mein Leben verändert :) (zum positiven). Die Jail Verwaltung ist absolut traumhaft. Ich hatte auf meinem Homeserver kaum was installiert weil ich den nicht zumüllen wollte. Mit BastilleBSD einfach eine VNET Jail erzeugt, Software installiert und getestet. Ein absoluter Traum.
 
Zurück
Oben