Ich bin mit diesem lib ändern:Wie nginx-Proxy-Einstellungen
https://github.com/jwilder/nginx-proxy
Hier ist meine Docker-Compose-Datei:
version: '2'
services:
nginx-proxy:
image: jwilder/nginx-proxy
container_name: nginx-proxy
ports:
- "80:80"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
whoami:
image: jwilder/whoami
environment:
- VIRTUAL_HOST=whoami.local
service1:
image: mynode:1.4
build: .
volumes:
- .:/app
restart: always
environment:
- VIRTUAL_HOST=service1.local
service2:
image: mynodeother:1.3
build: .
volumes:
- .:/app
restart: always
environment:
- VIRTUAL_HOST=service2.local
Ich habe 2 neue Knotendienste ...
Ich kann so tun: curl -H "Host: service2.local" localhost
und erhalten Antwort von Service2 ....
Fragen, welche Vorteile habe ich davon? Und wie kann ich Service1 auf Port 80 ausführen?
hier ist Dockerfile
von service1:
FROM node:6.9.4
# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
RUN npm install nodemon -g
# Install app dependencies
COPY package.json /usr/src/app/
RUN npm install
# Bundle app source
COPY . /usr/src/app
EXPOSE 8080
CMD [ "npm", "start" ]
Wenn ich mich in Container wie folgt anmelden: 'docker run -it mynode: 1.0/bin/bash' und versuche aus irgendeinem Grund einen anderen Container zu pingen: ping: unknown host' Weißt du, was ein Problem ist? – Vladimir
Versuchen Sie es mit dem Namen des Dienstes und dem VIRTUAL_HOST. Wenn sie im selben Netzwerk sind, sollte es funktionieren. Stellen Sie außerdem sicher, dass Sie über die neueste Docker-Version verfügen, in der der eingebettete DNS-Server implementiert ist. – calbertts
Es funktioniert, wenn ich den Dienst mit http req vom antoher Dienst anrufe, aber jetzt wann manuell wie oben ... Wie kann ich das Routing lösen, zum Beispiel wenn ich 2 Dienste mit diffirent Routing habe, ist es möglich diese Routen auf dem zu binden selbe Host automatisch? – Vladimir