5

Web eklentilerinin kullanımına izin vermek için nginx'i bir elastik fasülye Docker örneğinde yapılandırmaya çalışıyorum. Bulunan bilgiyi kullanarak here I sıkıştırmak için bir .ebextensions/01_files.config ekledim.Docker on elasticbeanstalk ile uzantılar

Zip, .extextensions/01_files.config, Dockerfile ve benim uygulamadan tgz içeriyor.

files: 
    "/etc/nginx/conf.d/websocketupgrade.conf" : 
     mode: "000755" 
     owner: root 
     group: root 
     content: | 
      proxy_set_header  Upgrade   $http_upgrade; 
      proxy_set_header  Connection  "upgrade"; 

Elastik beanstalk görünüşte benim .ebextensions yok sayar:

01_files.config içeriği şudur. /etc/nginx/conf.d/websocketupgrade.conf dosyası asla yazılmamaktadır.

Elastiki beanstalk'ta bir Docker kabı ile .extextensions kullanımının doğru yolu nedir?

cevap

-1

Elastik Beanstalk artık daha az kesmekle docker'ı destekliyor, Dockerfile and Dockerrun.aws.json kullanıyor olmalısınız.

Yeni bir kabı offical nginx görüntüden ayırın ve yukarıda kaydettiğiniz conf dosyasını ekleyin. Sonra dockerrun dosyasını kullanarak nginx resminizi çekin (Bkz. Aşağıdaki örnek).

{ 
    "AWSEBDockerrunVersion": "1", 
    "Authentication": { 
    "Bucket": "my-bucket", 
    "Key": "mydockercfg" 
    }, 
    "Image": { 
    "Name": "me/my-nginx-image", 
    "Update": "true" 
    }, 
    "Ports": [ 
    { 
     "ContainerPort": "80" 
    } 
    ], 
    "Volumes": [ 
    { 
     "HostDirectory": "/var/", 
     "ContainerDirectory": "/etc/mysql" 
    } 
    ], 
    "Logging": "/var/log/nginx" 
} 
+0

Üzgünüz, belki açık değildim ama önerdiğim gibi elastik fasulye tabağı Docker konteyner tipini kullanıyorum. Nginx, elastik fasülyeli docker kabında varsayılan olarak docker kabının ters proxy'sidir. Webzckets'e izin vermek için nginx'i yapılandırmam gerekiyor. Mesele şu ki, elastik fasülyeler dağıttığımdaki ... ... belgeselleri görmezden geliyor gibi görünüyor. – imagio

+1

.extextensions klasörünün Elastic Beanstalk'a gönderilen arşivde olduğundan emin olun. Görünüşe göre en kolay çözüm bu klasörü git repo'unuza eklemektir (eb dağıtımı kaputun altında git --archive, dunno olsa da). – januszm

0

Ben ElasticBeanstalk bir uygulama kurmak bir parçası olarak /etc/nginx/conf.d/ üzerine yazar eminim, bu yüzden ebextensions orada koymak şey uygulaması başladı zaman gitmiş olacak yukarı.

Bunu aşmak için, değişikliklerinizi son hedef yerine, hazırlama alanına yapmanız gerekir. Ben ortaya koyma alanı elasticbeanstalk nginx dağıtımları için ne olduğundan emin değilim, ama sen

/var/log/eb-activity.log 

bakarsanız Bunu anlamaya mümkün olmalıdır.

Sen kullanmalıdır:

container_command: 

direktif evreleme alanında değişiklik yapmak için.