ich zur Zeit gebaut meine eigenen Webserver/Service versucht und wollte die Dinge einzurichten wie folgt aus:Nginx als Reverse Proxy für Docker VHosts
- Wordpress für die wichtigsten „Blog“
- Gitlab für meine git Repositories
- ownCloud für meine Datenspeicher
ich habe für Docker wurde mit einem netten kleinen Gitlab Laufen bekommen, die völlig in Ordnung, Mapping-Port funktioniert: 81 auf meinem Webserver mit meiner Domain.
Was mich nervt ein bisschen ist, dass Docker Bilder immer auf eine bestimmte Port-Nummer gebunden sind und somit nicht wirklich leicht zu merken, so dass ich würde gerne so etwas wie dies zu tun:
git.mydomain.com for gitlab
mydomain.com (no subdomain) for my blog
owncloud.mydomain.com for owncloud
Soweit Wie ich verstanden habe, brauche ich dafür einen Reverse Proxy, für den ich mich entschieden habe, nginx zu verwenden. Also habe ich die Dinge so:
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name mydomain.com;
location/{
proxy_pass http://localhost:84;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
server {
listen 80;
server_name git.mydomain.com;
location/{
proxy_pass http://localhost:81;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Auf diese Weise habe ich git.mydomain.com und läuft einwandfrei, aber meine Wordpress zeigt mir nur eine leere Webseite. Mein DNS ist wie folgt eingerichtet:
Host Type MX Destination
* A IP
@ A IP
www CNAME @
Bin ich einfach zu blöd oder was geht hier vor?
Führen Sie jeden Dienst in einem eigenen Container aus? In welchem Container kann nginx laufen? Denken Sie daran, dass der lokale Host innerhalb des Containers nicht der lokale Host außerhalb des Containers ist. Verknüpfen Sie die Container und verwenden Sie das env, um IPs zu suchen oder die öffentliche IP des Hosts zu verwenden. –
Dies ist, wenn jwilder/nginx-Proxy Ihre Gesundheit speichert und Ihnen alles gibt, was Sie brauchen. Der Proxy-Container überwacht den Docker-Daemon und konfiguriert sich jedes Mal neu, wenn ein anderer Web-App-Container auf demselben Host gestartet wird. – Devvyn
mögliches Duplikat von [Zuweisen von vhosts zu Docker-Ports] (http://stackoverflow.com/questions/18497564/assigning-vhosts-to-docker-ports) – Devvyn