2016-10-04 36 views
5

oluşturmak .Hisse konteyner tanımı bir nginx vekil konteyner tanımı yoktur benim liman işçisi-oluşturmadeneyimine olarak

Konteynerin her seferinde durmadan (bunu 80 numaralı bağlantı noktasını kullanıyor), bunu nasıl yapabilirim? Fikir şudur: nginx-proxy kapsayıcı çalışmıyorsa, bunu çalıştırın, aksi halde çalışanı kullanın.

+0

Compose v2 özelliklerini kullanıyor musunuz? –

+0

Evet. ... [Yazmak için dikkatsiz karakterler yazıyor] ... –

+0

Bence senaryoya ihtiyacın olacak. Şöyle bir şey: ping veya nginx'inizi port 80 kullanarak kontrol etmeyin, eğer çalışmıyorsa, docker-compose komutunu çalıştırmak için nginx-proxy'yi çalıştırın. – levi

cevap

-1

Tüm projeleriniz için tek bir nginx'e sahip olabilirsiniz. Bu durumda size sahip olduğu] only_nginx nginx hizmeti/liman işçisi-compose.yml dosyası var ve her türlü proje liman işçisi-oluşturma dosyalarında bloğun

projectx_service: 
    extends: 
     file: /path_to/only_nginx/docker-compose.yml 
     service: nginx-proxy 
    ... 

bu tür kullanmak gerekir.

Örnek:

only_nginx/docker-compose.yml:

nginx-proxy: 
image: jwilder/nginx-proxy 
ports: 
    - "80:80" 
volumes: 
    - /var/run/docker.sock:/tmp/docker.sock:ro  

project1/docker-compose.yml

project1_service: 
    extends: 
     file: /path_to/only_nginx/docker-compose.yml 
     service: nginx-proxy 
    ... 

Project2/docker-oluşturma. yml

project2_service: 
    extends: 
     file: /path_to/only_nginx/docker-compose.yml 
     service: nginx-proxy 
    ... 
+0

Bu çözülmez Orijinal sorun, ama sadece kod çoğaltılmasını önlemek. Her iki projede de "docker-compose up" komutunu çalıştırırsam, önce tamam olur, ikinci bana her zaman "... 0.0.0.0:80 için bağlanılamadı: bağlantı noktası zaten ayrılmış". Ayrıca, 'extends' anahtar kelimesi Docker Compose v3'te kullanımdan kaldırılmıştır –