Serve ich muss mehrere Websites mit meinem Docker-Maschine in Zukunft hosten, aber ich versuche, es auf localhost zu starten.Wie paar Container mit Domain-Namen mit Docker NGINX Image
Der Hauptzweck ist sicher Seite zu bekommen, natürlich muss ich mit meiner /etc/hosts
Datei auf OS X starten, unten ist die Liste:
127.0.0.1 localhost
255.255.255.255 broadcasthost
127.0.0.1 dev.proling.ru
127.0.0.1 dev.vshvetsov.ru
Diese Konfiguration ist für mich bieten Zugriff auf Websites mit ausgewählten Bereichen unabhängig von DNS-Einstellungen. Jetzt werde ich zeigen meine docker-compose.yml
:
version: '2'
services:
mysql:
build: mysql/
restart: always
volumes:
- mysql_data:/var/lib/mysql
container_name: mysql
vshvetsov:
depends_on:
- mysql
build: vshvetsov/
ports:
- 8000:80
restart: always
container_name: vshvetsov
proling:
depends_on:
- mysql
build: proling/
ports:
- 8003:80
restart: always
container_name: proling
nginx:
depends_on:
- proling
- vshvetsov
image: nginx
restart: always
ports:
- "80:80"
volumes:
- ./nginx/volume:/etc/nginx
container_name: nginx
volumes:
mysql_data:
Beide Baustellencontainer funktioniert perfekt auf localhost:8000
und localhost:8003
und unten ist mein nginx/volume
Ordnerstruktur:
volume
├── conf.d
│ ├── default.conf
│ ├── proling.ru
│ └── vshvetsov.ru
├── fastcgi_params
├── koi-utf
├── koi-win
├── mime.types
├── modules -> /usr/lib/nginx/modules
├── nginx.conf
├── scgi_params
├── uwsgi_params
└── win-utf
So ist die einzige Art und Weise auf meine NGINX Konfiguration zu beeinflussen ist .conf
Dateien in conf.d
Verzeichnis zu setzen und unten sind beide:
dev.proling.ru
server {
listen 80;
server_name www.proling.ru;
rewrite^http://proling.ru$request_uri? permanent; #301 redirect
}
server {
listen 80;
server_name proling.ru *.proling.ru;
location/{
proxy_pass http://proling;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
access_log /var/log/nginx/proling.ru-access.log;
}
}
Und dev.vshvetsov.ru
server {
listen 80;
server_name www.vshvetsov.ru vshvetsov.ru dev.vshvetsov.ru;
location/{
proxy_pass http://vshvetsov;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
access_log /var/log/nginx/vshvetsov.ru-access.log;
}
}