Heim >Backend-Entwicklung >PHP-Tutorial >Probleme bei der Konfiguration mehrerer Domainnamen bei Docker Nginx
Der Versuch, die offizielle Nginx-Image-Konfiguration von Docker zu konfigurieren, ist fehlgeschlagen. Ich weiß sehr wenig darüber und verlasse mich im Wesentlichen auf Tutorials.
Hier ist der Prozess, den ich ausprobiert habe:
YBa
<code>docker run -d --name YBa --restart=always -v /Storage/Volumes/App/YBa:/usr/src/myapp php </code>
YBb
<code>docker run -d --name YBa --restart=always -v /Storage/Volumes/App/YBb:/usr/src/myapp php </code>
Nginx
<code>docker run -d -p 80:80 --name Nginx --link YBa:yba --link YBb:ybb -v /Storage/Volumes/Services/Nginx/Conf/nginx.conf/nginx.conf:/etc/nginx/nginx.conf:ro --restart=always nginx</code>
Nginx.conf
<code> user nobody nogroup; events { worker_connections 512; } http { upstream yba { server yba; } upstream ybb { server ybb; } server { listen *:80; server_name http://app1.com; location / { proxy_pass http://yba/; proxy_set_header X-Real_IP $remote_addr; proxy_set_header Host $http_host; } } } server { listen *:80; server_name http://app2.com; location / { proxy_pass http://ybb/; proxy_set_header X-Real_IP $remote_addr; proxy_set_header Host $http_host; } } } </code>
Das Problem besteht nun darin, wie man mehrere Domänen über eine einzige Konfigurationsdatei auf mehrere Container verweisen kann.
Ich möchte wissen, ob es andere Lösungen gibt.
Wie man auf mehrere primäre Domänennamen für verschiedene Unterverzeichnisse eines einzelnen verweisen kann Behälter
Der Versuch, die offizielle Nginx-Image-Konfiguration von Docker zu konfigurieren, ist fehlgeschlagen. Ich weiß sehr wenig darüber und verlasse mich im Wesentlichen auf Tutorials.
Hier ist der Prozess, den ich ausprobiert habe:
YBa
<code>docker run -d --name YBa --restart=always -v /Storage/Volumes/App/YBa:/usr/src/myapp php </code>
YBb
<code>docker run -d --name YBa --restart=always -v /Storage/Volumes/App/YBb:/usr/src/myapp php </code>
Nginx
<code>docker run -d -p 80:80 --name Nginx --link YBa:yba --link YBb:ybb -v /Storage/Volumes/Services/Nginx/Conf/nginx.conf/nginx.conf:/etc/nginx/nginx.conf:ro --restart=always nginx</code>
Nginx.conf
<code> user nobody nogroup; events { worker_connections 512; } http { upstream yba { server yba; } upstream ybb { server ybb; } server { listen *:80; server_name http://app1.com; location / { proxy_pass http://yba/; proxy_set_header X-Real_IP $remote_addr; proxy_set_header Host $http_host; } } } server { listen *:80; server_name http://app2.com; location / { proxy_pass http://ybb/; proxy_set_header X-Real_IP $remote_addr; proxy_set_header Host $http_host; } } } </code>
Das Problem besteht nun darin, wie man mehrere Domänen über eine einzige Konfigurationsdatei auf mehrere Container verweisen kann.
Ich möchte wissen, ob es andere Lösungen gibt.
Wie man auf mehrere primäre Domänennamen für verschiedene Unterverzeichnisse eines einzelnen verweisen kann Behälter
Sie können die entsprechende Konfigurationsdatei lokal auf conf/ konfigurieren, zum Beispiel conf/api.app2.com.conf, und sie beim Erstellen des Containers zum Container hinzufügen. Der Dockerfile-Code lautet wie folgt
<code>From nginx:1.9 MAINTAINER terry.dawu@gmail.com ADD nginx.conf /etc/nginx/nginx.conf ADD conf/* /etc/nginx/conf.d/ RUN mkdir /opt/www && mkdir /opt/log RUN chmod -R 755 /opt/log /opt/www VOLUME ["/opt"]</code>
Nginx-Proxy-Verteilung, die auf verschiedene Ports dieser Maschine verweist
CDN-Verteilung, die auf verschiedene Ports des Servers verweist