Utilice los contenedores docker para implementar proyectos de front-end en nginx y resolver problemas entre dominios
Preparación
1, el extremo frontal del embalaje de artículos, en / descompresión casa, almacenados en / home / la dist
2, el extremo posterior del proyecto en marcha y funcionando
Operación de host
El nuevo volumen de datos se llama nginx
docker volume create nginx
volumen del acoplador ls
volumen del docker inspeccionar nginx
Inicialice un contenedor llamado nginx, -d se ejecuta en segundo plano, -p mapeo de puertos, el puerto 8089 del host docker se asigna al puerto 80 del contenedor
-v parámetro asigna archivos estáticos en dist a la carpeta html de nginx, y el archivo de configuración El archivo de configuración predeterminado correspondiente asigna la carpeta del host (/ var / lib / docker / volume / nginx / _data) vinculada al volumen de datos nginx
a la carpeta / etc / nginx del contenedor nginx
docker run --name nginx -d -p 8089:80 -v /home/dist:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v nginx:/etc/nginx nginx
docker ps view contenedores en ejecución
Vaya a la carpeta donde está montado el host
cd / var / lib / docker / volume / nginx
cd _date /
Copie la carpeta estática en la carpeta montada
cp / home / dist.
Vaya a la carpeta donde está almacenado el archivo de configuración y edite el archivo de configuración
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
server{
listen 80;
server_name ip;
location / {
proxy_pass http://ip:8081/api/; #ip为你的后端ip地址
}
location ~ .*\.(js|css|ico|png|jpg|eot|svg|ttf|woff|html)$ {
root /etc/nginx/dist;
expires 30d;
}
}
}
Ingrese la carpeta del contenedor nginx
/ data / nginx / conf
1, docker exec -it nginx (nombre del contenedor) / bin / bash
2 、 cd / etc / nginx
3. Puede ver los archivos estáticos en la carpeta del host que acaba de copiar
Reinicie el contenedor nginx para actualizar la configuración
docker ps
docker reiniciar XXX