Come impostare host virtuali dinamici di massa in nginx sul docker?

Come posso impostare gli host virtuali dinamici di massa in nginx Come visto qui ad exception dell'uso del docker come macchina host?

Attualmente ho impostato come questo:

# default.conf server { root /var/www/html/$http_host; server_name $http_host; } 

E nel mio Dockerfile

 COPY default.conf /etc/nginx/sites-enabled/default.conf 

E dopo che costruisco l'image e lo faccio:

 docker run -d 80:80 -v www/:/var/www/html 

Ma quando punti un nuovo dominio (example.dev) nel mio file hosts e faccio un www / example.dev / index.html. Non funziona affatto.

L'installazione è corretta e funziona come ho testato sul mio sistema. L'unico problema è che stai copiando il file su un path sbagliato. L'image docker non utilizza per impostazione predefinita il path sites-enabled ai sites-enabled . La configuration predefinita carica tutto ciò presente in /etc/nginx/conf.d . Quindi è necessario copiare in quel path e riposare tutte le opere grandi

 COPY default.conf /etc/nginx/conf.d/default.conf 

Assicuratevi di mappare i volumi correttamente. Durante la prova ho testato utilizzando il command sotto docker

 docker run -p 80:80 -v $PWD/www/:/var/www/html -v $PWD/default.conf:/etc/nginx/conf.d/default.conf nginx 

Di seguito è riportto l'output sulla row di command

 [email protected]:~/test/www$ mkdir dev.tarunlalwani.com [email protected]:~/test/www$ cd dev.tarunlalwani.com/ [email protected]:~/test/www/dev.tarunlalwani.com$ vim index.html [email protected]:~/test/www/dev.tarunlalwani.com$ cat index.html <h1>This is a test</h1> 

Uscita sul browser

Uscita di prova Nginx