comment faire pour exécuter nginx docker récipient avec de configuration personnalisé?
J'ai un Dockerfile et personnalisé nginx fichier de configuration (dans le même répertoire avec Dockerfile) comme suit:
Dockerfile:
FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf
nginx.fichier conf:
upstream myapp1 {
least_conn;
server http://domain.com:81;
server http://domain.com:82;
server http://domain.com:83;
}
server {
listen 80;
location /{
proxy_pass http://myapp1;
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;
}
}
Je lancer ces deux commandes:
docker --tls build -t nginx-image .
docker --tls run -d -p 80:80 --name nginx nginx-image
Puis j'ai vérifié tous les conteneurs, mais il n'a pas montré. Quand j'ai cherché nginx contenant du journal, j'ai trouvé ce message d'erreur:
[emerg] 1#1: directive inconnue "en amont" dans
/etc/nginx/nginx.conf:1 nginx: [emerg] directive inconnue
"en amont" dans /etc/nginx/nginx.conf:
Ce qui me manque?
Cela ne ressemble pas à un bon principale de nginx.fichier conf, le fichier que vous avez posté sous
http
directive, probablement, sous /etc/nginx/conf.d/
répertoire ajouté une ligne à l'intérieur de http directive.OriginalL'auteur Abdurrahman Alp Köken | 2015-05-10
Vous devez vous connecter pour publier un commentaire.
Comme mentionné dans le NGiNX documentation,
upstream
est censé être définie dans unhttp
contexte.Comme mentionné dans
nginx
inconnu de la directive “en amont
”:En cas de Docker, vous pouvez voir les différentes options avec
abevoelker/docker-nginx
:Pour un défaut
nginx.conf
, vérifiez votreCMD
:OriginalL'auteur VonC