Ein docker run ist, wie gesagt, nicht wirklich die einfachere Variante, da da unstrukturiert einfach alles in einem Bandwurm drin steht. Wenn das docker-compose.yml korrekt geschrieben ist (und das ist viel leichter zu lesen), dann ist DAS die einfachere Variante.
Man baut kein Auto, indem man schnell schnell vier Räder an einen Schuhkarton klebt, sondern man lernt erst mal wie es gehen muss. Übertragen auf diesen Fall heißt das zu lernen, wie die Syntax von Docker aussieht und welche Prinzipien dahinter stecken.
Wenn wir Dir jetzt eine docker-compose hinschreiben, hast Du absolut nichts gelernt und stehst bei dem nächsten Problem wieder ohne Ahnung da. Ich versuche es trotzdem, obwohl es für Deine eigene Erkenntnis definitiv der falsche Weg ist.
Saubere Datenhaltung in einem deutlich weniger verschachtelten Ordner (statt /opt/steam/VRising/mnt/vrising/server ) ist angebracht, daher läufts in der Folge anders:
Mit der folgenden Anleitung hast Du die herausgelegten Daten des Containers in /docker und die yml Files in /docker_data . Beides sollte nicht im gleichen Ordner liegen, da Du sonst das yml File mit in den Container legst, darin hat es aber nichts zu suchen.
mkdir /docker
mkdir /docker/vrising
mkdir /docker/vrising/server
mkdir /docker/vrising/persistentdata
mkdir /docker_data
cd /docker_data
# Im Ordner /docker_data
nano vrising-compose.yml
( "apt install nano", falls nicht vorhanden)
Alles anzeigen
von solareon/vrising-svr - Docker Image | Docker Hub
>> in die vrising-compose.yml
version: "3"
services:
vrising:
container_name: vrising-server
image: solareon/vrising-svr:latest
volumes:
- /docker/vrising/server:/mnt/vrising/server
- /docker/vrising/persistentdata:/mnt/vrising/persistentdata
environment:
- "TZ=Europe/Berlin"
ports:
- "27015:27015/udp"
- "27016:27016/udp"
- "25575:25575/tcp"
restart: unless-stopped
Alles anzeigen
YAML ist sehr sehr picky was die Einrückungen betrifft, man kann hier nicht einfach irgendwas hinschreiben, die korrekten Einrückungen sind essentiell. Man kann mit YAMLlint - The YAML Validator kontrollieren, ob das YAML korrekt ist.
Du fragtest wo das docker-compose liegen soll. Im Prinzip ist das bei meinem compose File erst mal egal, denn wie man sieht ist das unabhängig von jeglichem Bezugsordner (anders als die Verwendung der Tilde). Ich habe Dir oben angegeben, dass es in einen Ordner /docker_data liegen soll. In diesem solltest Du Dich befinden, wenn Du die folgenden Befehle ausführst (alternativ kann man die Befehle auch mit Pfad versehen, dann ist es egal wo man ist).
#in den Ordner /docker_data
cd /docker_data
# Aus Compose File Starten
docker-compose -f vrising-compose.yml up -d
# ODER unabhängig davon in welchem Ordner Du bist
docker-compose -f /docker_data/vrising-compose.yml up -d
# Mit docker-compose stoppen
docker-compose -f vrising-compose.yml down
# ODER unabhängig davon in welchem Ordner Du bist
docker-compose -f /docker_data/vrising-compose.yml down
# Neuen Build erzwingen
docker-compose -f vrising-compose.yml build --no-cache --pull
# ODER unabhängig davon in welchem Ordner Du bist
docker-compose -f /docker_data/vrising-compose.yml build --no-cache --pull
Alles anzeigen