Ich muss sagen, ich nutze selbst statt docker run eigentlich nur noch docker-compose, weil das einfacher in der Handhabung ist. Deswegen bin ich mit dem docker run Befehl nicht so firm. Aber der Befehl scheint mir schon zu passen.
Hier ist er mal etwas übersichtlicher:
Code: Alles auswählen
docker run -d \
--name valheim-server \
--cap-add=sys_nice \
--stop-timeout 120 \
-p 2456:2456/udp \
-p 2457:2457/udp \
-p 2458:2458/udp \
-v /home/gameserver/valheim-server/config:/config \
-v /home/gameserver/valheim-server/data:/opt/valheim \
-e SERVER_NAME="bla" \
-e WORLD_NAME="NewWorld" \
-e SERVER_PASS="secretPassword" \
ghcr.io/lloesche/valheim-server
Um den laufenden Container tatsächlich nochmal anzuschauen, nimm mal "docker ps". Sieht dann so aus:
Code: Alles auswählen
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
82091ea7e59e xwiki:stable-mysql-tomcat "docker-entrypoint.s…" 21 seconds ago Up 20 seconds 127.0.0.1:8094->8080/tcp xwikistable
6b2de49f85b6 mysql:5.7 "docker-entrypoint.s…" 8 weeks ago Up 8 weeks 33060/tcp, 127.0.0.1:7707->3306/tcp xwikistable-mysql
75d95dd49c64 wiki_mysqlbackup "/usr/local/bin/mysq…" 8 weeks ago Up 8 weeks
Hier sieht man, dass Port 8094/tcp auf 8080/tcp weitergeleitet ist, und auch 7707/tcp auf 3306/tcp. Zusätzlich sieht man noch dass der mysql-Container den Port 33060/tcp angeboten wird vom xwiki-stable-ymsql Container. Der wird aber nicht nach außen geführt.
Ansonsten sieht man in dem Beispiel oben, dass ich die auch nur an 127.0.0.1 binde, also nur intern im Server erreichbar, was ich dann wiederrum vom lokalen Webserver aus anspreche.
D. h. Du kannst jetzt erst mal mit docker ps prüfen, ob die Ports tatsächlich aktiv bei Dir konfiguriert sind - wahrscheinlich ja.
Insofern würde ich vermuten, dass das ein Firewallproblem ist.
Und grundsätzlich müssen die Docker-Ports in der Kette FORWARD und nicht in INPUT freigegeben werden, weil Dockercontainer via IP als Netzwerkgerät angesprochen werden. (Mit ufw kenne ich mich leider auch überhaupt nicht aus)
Ein kurzer Test, wenn Du die ufw abschaltest und dann probierst ob es dann geht oder nicht, sollte Klarheit bringen, ob Firewallregeln das Problem sind.