Minecraft Server startet seit Implementierung neuer Welt nicht mehr, wie beheben?

Erstmal hallo,
Und zwar habe ich seit kurzem das Problem, dass mein Minecraft Server, gehostet via Docker Image von itzg, nicht mehr startet, seit dem ich eine neue Welt implementiert habe. Natürlich habe ich daraufhin erstmal gesucht, was ich bei diesem Fehlercode denn tun kann. Es wurde häufig behauptet, dass es helfen soll "session.lock" zu löschen, was ja auch rein logisch betrachtet Sinn ergibt.
Jedoch bleibt der Fehler unverändert bestehen, ich habe es jetzt schon mit einer zweiten Welt probiert, jedoch auch ohne Erfolg und mit dem gleichen Resultat.

Ich bedanke mich im Voraus für jede Hilfe.

Hier ein Ausschnitt aus dem Terminal:
[22:32:11 ERROR]: Failed to start the minecraft serverjava.nio. file.AccessDeniedException: ./world/session.lock
at sun.nio.fs.UnixException.translateToIOException(Unknown Source) ~[? :? ]
at sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source) ~[ ?:? ]
at sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source) ~[ ?:? ]
at sun.nio.fs.UnixFileSystemProvider.newFileChannel(Unknown Source) ~[ ?:?
at java.nio.channels.FileChannel.open(Unknown Source) ~[? :? ]
at java.nio.channels.FileChannel.open(Unknown Source) ~[ ?:? ]
at net.minecraft.util.DirectoryLock.create(DirectoryLock. java: 23) ~[? :? ]
at net.minecraft.world. level. storage. LevelStorageSource$LevelStorageAcces
s .< init>(LevelStorageSource.java: 512) ~[ ?:? ]
at net.minecraft.world. level. storage. LevelStorageSource.validateAndCreate
Access(LevelStorageSource. java: 425) ~[? :? ]
at net.minecraft.server.Main.main(Main.java: 211) ~[paper-1.20.1.jar:git-Paper-196]
at org.bukkit.craftbukkit.Main.main(Main.java:324) ~[paper-1.20.1.jar:git-Paper-196]
at io.papermc.paperclip. Paperclip. lambda$main$0(Paperclip.java:42) ~[app:at java.lang. Thread.run(Unknown Source) ~[ ?:? ]

Server, Minecraft, Minecraft Server, Paper, Docker, Minecraft Java Edition, Docker container
Warum schlägt der Docker Build meines C#-Projekts fehl?

Ich versuche gerade mein C#-Projekt mit Docker zu bauen.

Ich baue aus dem Repo Root Context. Das Dockerfile liegt im Unterordner vom Gateway.WebApi.

Der Build schlägt leider mit einem Fehler fehl:

 error MSB3030: Could not copy the file "/Jwt.Service.Shared/Configurations/appsettings.json" because it was not found

Das ist mein Dockerfile:

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["Gateway.WebApi/Gateway.WebApi.csproj", "./"]
COPY ["Gateway.Application/Gateway.Application.csproj", "../Gateway.Application/"]
COPY ["Entitys.Shared/Entitys.Shared.csproj", "../Entitys.Shared/"]
COPY ["Gateway.Domain/Gateway.Domain.csproj", "../Gateway.Domain/"]
COPY ["Gateway.Infrastructure/Gateway.Infrastructure.csproj", "../Gateway.Infrastructure/"]
COPY ["Jwt.Service.Shared/Jwt.Service.Shared.csproj", "../Jwt.Service.Shared/"]
RUN dotnet restore "Gateway.WebApi.csproj"
COPY . .
WORKDIR "/src/"
RUN dotnet build "Gateway.WebApi.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Gateway.WebApi.csproj" -c Release -o /app/publish /p:UseAppHost=false
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Gateway.WebApi.dll"]
[1:14 PM]

Die Datei existiert und die Berechtigungen sind richtig. Ich bin auf Linux btw..

ASP.NET, C Sharp, dotNet, Docker
SSL auf Raspberry Pi für Nextcloud in Docker Container?

Ich habe auf meinem Raspberry Pi 4 Casa OS installiert. Darin läuft unter anderem eine NextCloud-Instanz.

Von Aussen (aka Internet) kann ich über domain.de:5011 zugreifen. Der Router leitet den Port zu meinem Raspberry Pi auf den Port von der NextCloud weiter. Das Problem ist, dass die Verbindung noch unverschlüsselt ist.

Ich habe bereits auf x verschiedene Wege versucht SSL über den Nginx Proxy Manager einzurichten. Das einzige, das mir (irgendwie) gelungen ist, ist ein Zertifikat zu erstellen. Aber das höchste aller Gefühle war dann immer eine Bad-Gateway-Fehlermeldung.

Weiss jemand, wie ich eine verschlüsselte Verbindung entsprechend einrichten kann bei meinem Setup:

  • "domain.de:5011". Von Aussen habe ich diesen Port im Router zur Verfügung.
  • Nextcloud ist in einem Docker Container installiert (Port 10081)
  • Nginx Proxy Manager in einem Docker Container hört auf dem Port 80 und 443 zu (Admin Panel auf Port 81)

Vielleicht noch als Nebeninformation. Im gleichen Netzwerk laufen auch Synology-Services, die jedoch verschlüsselt arbeiten und ebenfalls über 5000-er Ports von aussen erreichbar sind. (In den Tutorials, die ich gefunden habe, wurde die SSL-Einrichtung im Nginx Proxy Manager nie über Ports ermöglicht. Erschweren diese Ports das Ganze?)

Ich verstehe wirklich nicht, wie ich das am besten einrichten soll. Kann man den Raspberry Pi "allgemein" verschlüsselt kommunizieren lassen (soll heissen, dass auch der Traffic im lokalen Netz bereits verschlüsselt ist. Das ist bei den Synology-Services so.) oder geht es einfacher, wenn nur der Traffic nach aussen verschlüsselt ist?

Vielen Dank im Voraus :) Ich bin wirklich langsam überfragt...

Server, Internet, Netzwerk, Port, Proxy, Router, SSL, Verschlüsselung, Zertifikat, nginx, Docker, Nextcloud
Heimdall funktioniert nicht auf meinem RPi4b mit OMV6 und Portainer?

Ich habe einen Raspberry Pi 4b mit Raspbian OS Lite 64bit.

Auf dem RPi habe ich OMV6 als NAS mit einem freigegebenen Ordner. Ich habe Docker/Portainer über omv-extras installiert.

Portainer funktioniert gut, aber wenn ich versuche, Heimdall oder einen anderen selbst gehosteten Dienst zu installieren, funktioniert es nicht.

Ich habe verschiedene Arten von Portainer-compose ausprobiert:

---
version: "2.1"
services:
  heimdall:
    image: lscr.io/linuxserver/heimdall:latest
    container_name: heimdall
    environment:
      - PUID=1001
      - PGID=100
      - TZ=Europe/Berlin
    volumes:
      - /srv/dev-disk-by-uuid-0ced8ae6-8f59-4918-8894-704b7b4363dc/docker-apps/docker/heimdall/config
    ports:
      - 80:80
      - 443:443
    restart: unless-stopped

I have a Raspberry Pi 4b with Raspbian OS Lite 64bit.

On the RPi I have OMV6 as a NAS with a shared folder. I have Docker/Portainer installed via omv-extras.

Portainer works fine, but when I try to install Heimdall or any other self-hosted service, it won't work.

I've tried different types of portainer compose files like:

---
version: "2.1"
services:
  heimdall:
    image: lscr.io/linuxserver/heimdall:latest
    container_name: heimdall
    environment:
      - PUID=1001
      - PGID=100
      - TZ=Europe/Berlin
    volumes:
      - /srv/dev-disk-by-uuid-0ced8ae6-8f59-4918-8894-704b7b4363dc/docker-apps/docker/heimdall/config
    ports:
      - 80:80
      - 443:443
    restart: unless-stopped

Error: 

Error Code: failed to pull images of the stack: heimdall Pulling no matching manifest for linux/arm/v8 in the manifest list entries

Aber als ich versucht habe, die Zeile "platform: linux/arm64" hinzuzufügen, wird der Stack erfolgreich deployed, ein Container wird erstellt, der Container "läuft", aber der Container funktioniert immer noch nicht und es ist kein Heimdall auf den definierten Ports installiert.

Es wird auch keine IP-Adresse oder Port angezeigt: https://i.stack.imgur.com/8OHXY.png

Dies ist der Inhalt der Logs, wenn ich versuche zu sehen, was in den Logs des Heimdall-Containers steht: https://i.stack.imgur.com/t4APA.png

Ich habe verschiedene Arten von Dashboards/andere von Docker-compse Dateien von Services ausprobiert, aber alle mit den gleichen Fehlern und Problemen.

Vielen Dank im Voraus für eure Hilfe.

Openmediavault, Docker
Ideen für Software-Architektur (gitlab, docker, js/ts)?

Hallo, .. wahrscheinlich ist das hier die Falsche Stelle um die Frage zu stellen aber ich versuche es trotzdem.

Ich habe mir ein Biotop aus Progammen (hier Serivces) in auf NodeJs geschaffen, von welchen jeder einzelne in seinem eigenen Docker-Container läuft. Damit die Services ihre Arbeit tun können, müssen sie auf Datenbanken, FTP-Server, etc. zugreifen.

Ich habe also hierfür eine Zentrale DB, wo die Konfigurationen (Eigenschaften, Zugangsdaten, etc.) für die einzelnen Ausprägungen der Services gespeichert sind. So ein Service-Container holt sich bei seiner Initialisierung den für seine Zwecke zugewiesene Konfiguration. Wenn nun Service1 irgendwas von Service2 anfragt, muss Service1 dem angefragten Service2 mitteilen, z.b. mit welcher DB Service2 arbeiten soll. Derzeit übergibt Service1 nun seine Konfiguration (wozu dann natürlich die Zugangsdaten gehören) an Service2.

Dies funktioniert soweit ganz gut.. nur macht es mir Bauchweh, wenn die Services die ganze Zeit Zugangsdaten bei jedem Request mitsenden müssen.

Wie könnte ich das besser machen? ich habe nun darüber nachgedacht, nur eine Referenz-ID mitzugeben und dann würde Service2 sich bei jedem Request die Zugangsdaten aus einer DB holen. Würde auch funktionieren mit geringen Performance-Einbußen. Nur finde ich irgendwie, ist das auch nicht das Gelbe vom Ei.

Nun meine Frage: Wie könnte ich das besser machen? Kann mir nur schwerlich vorstellen, dass keiner vor mir vor diesem Problem stand? Hat jemand Ideen?

JavaScript, Docker
DOCKER Fehlermeldung: TypeError: function() argument 'code' must be code, not str, was tun?

Hallo, ich mit einem YouTube video eine kleine FastApi App geschrieben. Dann habe ich sie als ein Docker gebaut. Wenn ich diesen nun starte bekomme ich die im Titel stehende Fehlermeldung. `Ich habe schon ganz Google nach einer Möglichkeit durchgesucht aber leider keine Lösung gefunden. Vll. hat ja einer von euch 'ne Idee.

DER CODE:

from fastapi import FastAPI
from app.model.test import Upscale

app = FastAPI()

class TextIn(Upscale):
    org_url: str


class TextOut(Upscale):
    url: str



@app.get("/")
def home():
    return {"health_check": "OK"}

@app.post("/post", response_model=TextOut)
def UpSc(payload: TextIn):
    textwrap = Upscale(payload.org_url)
    return {"url": "url"}

`

KOMPLETTER TRACEBACK: `

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
    worker.init_process()
  File "/usr/local/lib/python3.9/site-packages/uvicorn/workers.py", line 66, in init_process
    super(UvicornWorker, self).init_process()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/workers/base.py", line 134, in init_process
    self.load_wsgi()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
    return self.load_wsgiapp()
  File "/usr/local/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/usr/local/lib/python3.9/site-packages/gunicorn/util.py", line 359, in import_app
    mod = importlib.import_module(module)
  File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/app/app/main.py", line 6, in <module>
    class TextIn(Upscale):
TypeError: function() argument 'code' must be code, not str

in meinen requirements.txt steht:

fastapi
boto3
opencv-contrib-python-headless
opencv-python-headless
numpy

ich nutzte Python 3.9 habe es aber auch ohne Erfolg mit anderen Version probiert.

Python, Python 3, Docker
Pterodactyl und MYSQL connection Problem?

Also,

Ich habe mir eine Mariadb/Mysql Datanbank angelegt.

Etwas später wollte ich mir das "Game-Panel" Pterodactyl zu legen.

Hat auch alles super funktioniert und auch die Mysql die Pterodactyl braucht geht aber wenn ich jetzt einen weiter Game-Server in Pterodactyl aufmachen kann ich es egal wie nicht mit der Datenbank verbinden.

Als Beispiel hierfür dient ein einfacher Minecraft Server.

Hier mal die Logs von der Console:

https://pastebin.com/KDm3Wq1r

Luckperms MYSQl config:

https://pastebin.com/9GWDE9PP

Ich komme über phpmyadmin ohne Probleme auf diese Datenbank aber leider nicht meine Plugins/Gameserver.

Es liegt nicht an Luckperms ich habe es schon mit anderen Dingen versucht, dort geht es auch nicht.

Da in dem Error log Connection refused steht vermute ich dass irgendetwas die Verbindung ablehnt ich weiß aber leider nicht was. Ich habe die Firewall deaktiviert aber trotzdem geht es nicht.

Ich habe einen Freund mal gefragt ob er wüsste wieso es nicht geht. Er hat vermutet dass die MYSQL nur Verbindungen von Localhost annimmt(Er hat glaube ich recht. da ich extern ja nicht auf die Datenbank connecten kann[was auch so sein soll].Pterodactyl gibt alle Server in einzelne Container und ich vermute dass ist der Grund warum ich nicht so einfach drauf komme).

Nun wollte ich euch fragen ob jmd. weiß wie ich dieses Problem los werde.

Bild zum Beitrag
Minecraft, Datenbank, MySQL, Debian, Docker, MariaDB, Luckperms
Synology NAS – Minecraft-Server, wie externer Zugriff möglich?

Hallo,

ich habe seit einiger Zeit einen Netzwerkspeicher (Synology DS220+) und hatte die Idee, mal einen Minecraft-Server darauf zu erstellen. Bisher hatte ich den Server immer direkt auf meinem PC erstellt, aber dann ist er ja nur erreichbar, wenn der PC auch läuft.

Ich schaute mir zunächst dieses Video an und schaffte es auch direkt, den Minecraft-Server über Docker zum Laufen zu bringen.

Das Problem ist jedoch, dass ich es nicht schaffe, den Server extern erreichbar zu machen.

Hierzu einige Infos, die euch vielleicht helfen:

  • Vodafone Red Internet & Phone 1000 Cable — DS-Lite / FRITZ!Box 6591 Cable
  • Portfreigabe im Router für Port 25565 am NAS (TCP + UDP)
  • DDNS-Option im NAS aktiviert, um festen Hostnamen zu erhalten (synology.me)

Das NAS ist grundsätzlich im Internet erreichbar (QuickConnect aktiv) und ich kann mich mit meinen Anmeldedaten von überall aus anmelden.

Aber der Minecraft-Server scheint nicht erreichbar zu sein. Dann egal, welche Adresse ich versuche (IPv4, IPv6, DDNS-Domain), Minecraft meldet immer:

Connection timed out

oder

Unbekannter Server

und im Protokoll des Servers wird auch kein "Verbindungsversuch" oder ähnliches angezeigt.

Gibt es im NAS vielleicht noch eine Einstellung, die ich übersehen bzw. vergessen habe?

Ich dachte, es könnte an DS-Lite liegen, aber dann müsste ja zumindest die IPv6-Adresse funktionieren.

Wenn ihr weitere Infos braucht, einfach per Nachfrage! :)

Vielen Dank im Voraus für eure Bemühungen und ein schönes Wochenende! 🌞

Bild zum Beitrag
Server, Computer, Computerspiele, Internet, Technik, Minecraft, FRITZ!Box, Minecraft Server, NAS, portweiterleitung, Synology, Diskstation, Synology NAS, Docker, Spiele und Gaming
Wie kann ich ein SSL Zertifikat auf einem Apache2 Server aktivieren (Docker)?

Ich versuche schon über mehrere Tage es irgendwie hinzubekommen, dass der Webserver mit "https" erreichbar ist. Das gültige Zertifikat/ die Dateien habe ich schon:

cert.pem  chain.pem  fullchain.pem  privkey.pem

Jedoch läuft der Apache-Webserver als Docker Image. Ich weiß jedoch nicht, wie ich das SSL Zertifikat hinzufüge, da keine "normale" Apache2 Config vorliegt.

<VirtualHost *:443>
  SSLEngine on
  SSLCertificateChainFile "path to fullchain.pem"
  SSLCertificateKeyFile "path to privkey.pem"
</VirtualHost>

Dies habe ich ich dann via in den Apache2 Server-config importiert. (Wichtig zu wissen ist, dass der Pfad "sites-available" nicht exsestiert.

./configfile.conf:/etc/apache2/sites-available/000-default.conf

Port 80, also http funktioniert auch noch weiter... (80 und 443 sind freigegeben)

Weiß jemand, wie ich ein SSL Zertifikat auf einem Apache2 Server aktiviere, welcher auf Docker läuft / Wie ich die Config Datei richtig lade (denke nämlich nicht, dass diese richtig geladen wird)

Hier nochmal meine docker-compose.yml (unvollständing) :

   web:
    build:
        context: ./php
        dockerfile: Dockerfile
    container_name: php73
    depends_on:
      - db
    volumes:
      - /home/pi/web_dev/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
      - ./php:/var/www/html/
      - ./my_vhost.conf:/vhosts/myapp.conf:ro
      - ./certs:/certs
    ports:
      - 443:443
      - 80:80

Und meine Dockerfile:

FROM php:7.3.3-apache

RUN a2enmod ssl && a2enmod rewrite
RUN mkdir -p /etc/apache2/ssl

COPY /etc/letsencrypt/live/MYIP/*.pem /etc/apache2/ssl/
COPY ../config/000-default.conf /etc/apache2/sites-available/000-default.conf


RUN apt-get update && apt-get upgrade -y
RUN docker-php-ext-install mysqli
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
ADD php.ini /home/pi/web_dev
EXPOSE 80
EXPOSE 443
Computer, Internet, Technik, Apache, SSL, Zertifikat, Apache2, SSL-Zertifikat, Docker, Docker container
Lets Encrypt hinter Reverse Proxy nutzen?

Hi, aktuell baue ich mir ein Homelab und habe bereits einen Reverse Proxy mit Lets encrypt laufen, jetzt möchte ich aber auch noch die Zertifikate auf meinen Servern die hinter dem Proxy laufen installieren. Zum einen habe cih einen Nextcloud Server zum anderen möchte ich noch einen Gitlab Server installieren.

Kann mir jemand sagen wie ich dsa einrichten muss? Wenn ich Certbot auf dem Nextcloud Server ausführe bekomme ich immer einen Fehler.

Leider kann ich keinen A Eintrag setzen, da ich keine feste IP Adresse habe. Aktuell verwende ich einen Dyn DNS Dienst in meinem Router und einen CName Eintrag auf mehreren Subdomains bei einem 1und1 Konto.

Fehler:

Domain:

Type:  unauthorized

Detail: Invalid response from

DOMAIN/.well-known/acme-challenge/Ab2JXlpafv138Zk0LxgyVuUMj4LEMgMhJlhjGIvQCeM

  [79.231.202.163]: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML

  2.0//EN\">\n<html><head>\n<title>404 Not

  Found</title>\n</head><body>\n<h1>Not Found</h1>\n<p"

  To fix these errors, please make sure that your domain name was

  entered correctly and the DNS A/AAAA record(s) for that domain

  contain(s) the right IP address.

Hier habe ich gelesen das man certbot auf http-01 Verifikation umstellen muss, das hat aber leider nicht geklappt.

https://community.letsencrypt.org/t/using-certbot-behind-an-ssl-reverse-proxy/36783

Server, Computer, Technik, Linux, Apache, Proxy, Technologie, Docker, Proxmox
Raspberry Pi Alternative für Docker-Server?

Ich würde mich um weitere Antworten selbst Tage nach der Fragestellung freuen :)...

Ich spiele mit dem Gedanken mir einen Home-Server zu kaufen. Auf diesem sollen mehrere Docker-Container laufen.

Auf diesem soll auf jeden Fall ein Wireguard und ein PiHole Server laufen.

Aber auch... für eine Windows 10 Instanz für den Zugriff aus der Ferne für Office Anwendungen, aber auch zum Programmieren, etc. sollte noch Luft nach oben sein. Sowie ein Minecraft Server der 1-2 Mal im Jahr mit bis zu 5 Mitspielern mit 3-4 kleinen Plugins wie WorldEdit für ca. ne Woche laufen soll würde ich mir wünschen - mit ca. 12er Rendering Distanz & nicht mit parallel laufender Windows Instanz.

Hat jemand recht spezifische Ideen dafür wie viel die Hardware - ohne SSD - kostet? Ein Raspberry Pi 4 8GB sollte dafür ja zu klein sein!? Meine Obergrenze liegt bei 150€. Ansonsten muss ich das Vorhaben eben etwas einzuschränken. Sehr am Herzen liegt mir eine nicht zu hohe Stromaufnahme (evtl. unter 5 Watt Idle?)! Zur Ausstattung sollte eine GigbLAN-Schnittstellle und min 1x USB 3.0 zählen. Auch würde ich mich über einen kleine Formfaktor freuen, wie etwa einen Mini-PC.

Ich hatte mir schon Mini-PCs wie Systeme von Chuwi oder die Intel NUCs angeschaut, aber ich konnte die Performance nicht richtig einordnen, oder sie hatten einen zu hohen Stromverbrauch. Oder ein Odroid N2, aber der sollte auch zu wenig Leistung haben?

Ich freuen mich über jede Antwort. Auch wenn ihr Alternativen zu Docker, etc. empfehlen würdet. Ich bin da recht flexibel :)

Server, Computer, Technik, Minecraft Server, Mini PC, Technologie, Homeserver, Raspberry Pi, Docker, Spiele und Gaming, pihole , WireGuard
Problem mit Docker?

Problem mit Docker

und zwar haut bei mir der Befehl

RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli

nicht hin.

Ich erstelle ein Image über ein Dockerfile (docker build -t [name] .)

Das Image basierd auf debian:latest

Danach wird apt-get update & apt-get upgrade ausgeführt

Dann werden Komponenten installiert (sudo, apache2, php, cron, ...)

und wiederum danach werden die apache2 Konfigurierung angepasst das der Apache2-Server auf /webserver das DocumentRoot setzt

Soweit alles gut.

jetzt kann ich über den docker run befehl den parameter --mount hinzufügen und darüber ein externes Verzeichnis auf /webserver binden.

Bis hier her Funktioniert alles noch.

Jetzt wenn ich eine index.html aufrufe funktioniert das eine index.php funktioniert auch. Wenn ich jetzt jedoch in der .php Datei folgenden code Benutze(um auf MySql - Server zuzugreifen zu können):

      $mysqli = new mysqli("host_ip","bn","pw","tabelle");
      //echo mysqli_get_host_info($mysqli);
      if ($mysqli->connect_errno) {
          echo "Verbindung fehlgeschlagen: " . $mysqli->connect_error;
          return false;
      }else{
          return $mysqli;
      }

Kommt ein 500-ServerError.

Soweit ich es jetzt ergoogeln konnte muss ich zusätzlich den Port 3306(MySql-Port) Exposen und zusätzlich mit -p 3306:3306 in den docker run befehl einbauen.

Außerdem muss man antscheinend mit

RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli

Das MySqli modul installieren & aktivieren.

Hier ist auch schon das Problem:

Wenn ich mit oben genannten befehl mein Image aus dem Dockerfile erstellen möchte kommt (wenn er an der Stelle mit "RUN docker-php..." ankommt):

RUN docker-php-ext-install mysqli
 ---> Running in bce06404a5ca
/bin/sh: 1: docker-php-ext-install: not found
The command '/bin/sh -c docker-php-ext-install mysqli' returned a non-zero code: 127

Und jetzt meine Frage wie kann ich diesen fehler Beheben, ich weiß leider nicht mehr weiter!

Für die vollständigkeit hier noch der docker run befehl(den ich benutze wenn ich das Funktionierende Image ohne "RUN docker-php-..." nutze):

docker run --name webserver \
-p 80:80 \
-p 3306:3306 \
--mount type=bind,source="/lokaler/pfad",destination=/webserver [name_des_images]
Computer, Technik, Apache, container, Image, MySQL, PHP, Port, Technologie, PDO, Docker, Spiele und Gaming

Meistgelesene Fragen zum Thema Docker