Hallo,
hat schonmal jemand geschafft feste IPs mit docker run oder docker-compose.yml zu zuteilen?
Leider bekommt mein nextcloud docker immer wieder neues ips...
Hallo,
hat schonmal jemand geschafft feste IPs mit docker run oder docker-compose.yml zu zuteilen?
Leider bekommt mein nextcloud docker immer wieder neues ips...
Hi,
ich poste dir mal meine docker-compose.yaml:
version: '3.3'
services:
traefik:
image: traefik:latest
command:
- "--log.level=DEBUG"
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.myhttpchallenge.acme.httpchallenge=true"
- "--certificatesresolvers.myhttpchallenge.acme.httpchallenge.entrypoint=web"
#- "--certificatesresolvers.myhttpchallenge.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
- "--certificatesresolvers.myhttpchallenge.acme.email=webmaster@deine-domain.de"
- "--certificatesresolvers.myhttpchallenge.acme.storage=/acme.json"
ports:
- "80:80"
- "443:443"
- "8080:8080"
networks:
web:
ipv4_address: 172.30.0.2
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
container_name: traefik
depends_on:
- homeassistant
homeassistant:
container_name: homeassistant
image: homeassistant/home-assistant:latest
volumes:
- /home/docker/homeassistant/config:/config
environment:
- TZ=Europe/Berlin
restart: unless-stopped
ports:
- 8123:8123
networks:
web:
ipv4_address: 172.30.0.3
labels:
- "traefik.enable=true"
- "traefik.http.routers.homeassistant.rule=Host(`deine-domein.de`)"
- "traefik.http.routers.homeassistant.entrypoints=websecure"
- "traefik.http.routers.homeassistant.tls.certresolver=myhttpchallenge"
- "traefik.http.services.homeassistant.loadbalancer.server.port=8123"
networks:
web:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.30.0.0/24
Alles anzeigen
Bei Fragen einfach melden.
Wow darauf muss man auch erstmal kommen ich habe alles abgesucht sogar die qnap dokumentation aufgeschalgen bin aber einfach nicht weiter gekommen..
Die QNAP Doku wird dir da auch wenig weiterhelfen. Da musst du eher in der Doku von Docker suchen
Ja dort bin ich leider auch nicht weitergekommen hatte es dann mit der begründung qnap container station special da ackta gelegt.
Im Grunde ist die Container Station nur eine grafische Oberfläche zur Erstellung von Containern. Der Funktionsumfang sollte aber der gleiche sein, den du auch auf der Kommandozeile hast.
Deine Tastatur ist defekt. Die Umschalttaste für die Groß-/Kleinschreibung funktioniert nicht mehr richtig. -> Forenregeln
Hi Azrael783,
ich stehe auf dem Schlauch. Ich versuche meinem QNAP Container per docker run eine feste IP Adresse mit zu geben:
docker create \
--name=piler \
--privileged \
--net qnet-static-eth0-79e6cc \
--ip 192.168.1.19 \
-e PUID=1001 \
-e PGID=1001 \
-e TZ=Europe/Berlin \
-e PILER_HOSTNAME=192.168.1.19 \
-e MYSQL_HOSTNAME=192.168.1.11 \
-e MYSQL_DATABASE=DB \
-e MYSQL_USER=user \
-e MYSQL_PASSWORD=pwd \
-p 443:443 \
-p 80:80 \
-p 25:25 \
-v /share/MD0_DATA/piler/local:/usr/local/etc/piler \
-v /share/MD0_DATA/piler/app-data:/var/piler \
-v /share/MD0_DATA/piler/app-data/store:/var/piler/store \
-v /share/MD0_DATA/piler/app-data/sphinx:/var/piler/sphinx \
--restart unless-stopped \
sutoj/piler:1.3.11
Alles anzeigen
Die IP & Net Angaben schaffen es aber nicht in die Containerangaben. Gebe ich dem Container dann manuell die static IP steht dieser Container genauso im Docker Network qnet-static-eth0-79e6cc.
Was mache ich falsch? Was übersehe ich?
Hab vielen Dank!
Grüße
André
Ich verstehe nicht so ganz warum du den Container per Konsole erstellst? Das geht ja wunderbar über die Container Station. Und ich verstehe nicht, wie du die IP dann manuell vergibst?!
die IP soll manuell / static sein, weil ich dann den Service auf anderen Devices im Netzwerk immer an gleicher Stelle finde.
Erstellung, per Konsole - ja, weil... warum nicht? Mindestens mal, weil dann die Nutzung neuer Versionen des Containers einfacher ist. Und, wie ich gerade merke, ich eben sonst nicht alles nachträglich an einem Container editieren/konfigurieren kann. So werfe ich ihn einfach weg und leg ihn neu an...
Ich hatte aus der Diskussion verstanden, dass es eigentlich geht / gehen sollte.
die IP soll manuell / static sein, weil ich dann den Service auf anderen Devices im Netzwerk immer an gleicher Stelle finde.
Das erreichst du ja auch im Host Modus. Dann ist der Container halt auf der Selben IP wie dein NAS erreichbar - vorausgesetzt der Port ist noch frei, bzw so eingestellt, dass er noch nicht belegt ist.
Ich habe die IP Festlegung nur in Verbindung mit Docker-Compose genutzt und kann daher leider nicht sagen, wo hier jetzt das Problem ist ...
So werfe ich ihn einfach weg und leg ihn neu an...
Das geht mit der Container-Station ja auch, nur halt vll etwas umständlicher als auf der Konsole. Der Funktionsumfang ist aber der Gleiche.
ja, ich will den HOST Modus ja eben nicht mehr nutzen. Das ist mir inzwischen zu viel und zu umständlich. Zumal ich für einige Umgebungen (welche im Container laufen) DEV/TEST/PROD Umgebungen hab.
Aber zurück zu meiner Ursprungsfrage: wie muss mein docker run aussehen, damit es funktioniert und an den Container-Dienst korrekt übergeben wird.
Danke!
Mal versucht den Container per Container-Station zu erstellen? Dort kannst du ja auch eine feste IP vergeben. Ansonsten bin ich leider überfragt ...
Ich habe gleiches versucht. Azrael hätte natürlich wieder geantwortet, ich solle, mich in die Docker-Doku einlesen. Hab ich gemacht. Letztlich bin in der Meinung, dass deine Konfiguration korrekt ist. Schliesslich hatte ich zuletzt die gleiche.
Wirf mal einen Blick in die Netzwerkumgebung-Übersicht, wenn die Container angelegt wurden. Da siehst du, dass für die Container ein neuer virtueller Switch angelegt wird. Von diesem gabs bei mir keine Verbindung zum physischen Adapter. Deswegen ist der Container bei mir nicht erreichbar. Lege ich die Container manuell über die GUI an, funktionierts mit den gleichen Einstellungen. Ich hab keine Lösung dafür gefunden und schliesslich die App per Port auf dem Server freigegeben.