Maison  >  Questions et réponses  >  le corps du texte

Docker Hub官方Nginx镜像配置问题

Docker Hub官方Nginx镜像文档
https://hub.docker.com/_/nginx/
跟着文档说明进行配置,有些问题不知道什么意思,
原文引用:

using environment variables in nginx configuration

Out-of-the-box, Nginx doesn't support using environment variables inside most configuration blocks. But envsubst may be used as a workaround if you need to generate your nginx configuration dynamically before nginx starts.

Here is an example using docker-compose.yml:

image: nginx
  volumes:
   - ./mysite.template:/etc/nginx/conf.d/mysite.template
  ports:
   - "8080:80"
  environment:
   - NGINX_HOST=foobar.com
   - NGINX_PORT=80
  command: 
        /bin/bash -c "envsubst < /etc/nginx/conf.d/mysite.template > /etc/nginx/conf.d/default.conf    
        &&    
        nginx -g 'daemon off;'"

The mysite.template file may then contain variable references like this :

listen ${NGINX_PORT};

问题:
在代码部分最后一行,也就是command:那一行,
1、envsubst作用是什么?
2、daemon off;作用是什么?
3、command:命令本身表示什么意思?什么时候执行后面的命令?

PHPzPHPz2758 Il y a quelques jours1163

répondre à tous(2)je répondrai

  • 高洛峰

    高洛峰2017-04-24 09:16:02

    envsubst est probablement quelque chose qui exploite les variables d'environnement. Pour plus de détails, voir la description de la commande

    .

    daemon off : c'est un paramètre de nginx, indiquant qu'il n'a pas besoin d'être démarré en arrière-plan.
    la commande est la partie de /bin/sh après le nom de l'image nginx dans docker run nginx /bin/sh , qui peut. exécutez n'importe quelle commande
    Cela semble être dans votre autre message

    .

    répondre
    0
  • PHPz

    PHPz2017-04-24 09:16:02

    /bin/bash -c "envsubst < /etc/nginx/conf.d/mysite.template > /etc/nginx/conf.d/default.conf
    Fichier de configuration de remplacement
    nginx - g 'daemon off;'" Réponse correcte à l'étage
    commande : La commande à exécuter après l'exécution du conteneur peut être remplacée par la commande dans l'instruction docker run.

    répondre
    0
  • Annulerrépondre