2017-01-24 13 views
7

Durumum. Aynı kutuda bir docker-compose yapısını birkaç kez çalıştırmaya çalışıyorum. Bu benim liman işçisi-compose.yml geçerli:Aynı docker-compose.yml'i birkaç kez aynı docker arka planında farklı isimlerle nasıl çalıştırabilirim?

version: '3' 
services: 
    code: 
    image: organization:java-maven 
    links: 
     - mysql:mysql 
    volumes: 
     - "${PWD}:/home/ubuntu/src" 
    mysql: 
    image: organization:mysql 

docker-compose run code mvn clean test iki kez bu Running code iki konteyner ve mysql biri kabı oluşturur.

Şimdi, bir codebaşkamysql bağlı biri mysql ve başkacode bağlanabilir istiyorum.

Bunu nasıl yapabilirim? Bunun jenkins köleleri üzerinde çalışması gerekiyor ve maven infazları mysql'i paylaşmıyor.

Docker compose dosyasında için container_name ile birlikte "-e KEY = VALUE" seçeneğiyle uğraşırken başarısızlıkla uğraştım.

Buna nasıl yaklaşılacağından emin değil, lütfen yardım edin, teşekkürler.

+0

Neden açıkça ikinci 'code' kabı belirtmeyen ve "iki kez" bunu çalıştırmak yerine, uygun' MySQL 'konteyner ile bağlamak documentation around profile option: Daha fazla okuma için

? – antonbormotov

+0

Çünkü jenkins bir daldaki bir değişiklikte tetiklendiğinde, bir ec2 örneğini (slave kurar) başlatır ve bundan sonra bir jenkins boru hattını yürütür. Bu boru hattı, docker oluşturma kurulumunu kullanarak maven testini çalıştırır. Boru hatlarındaki bireysel test yürütmeleri, diğer çalışan boru hatları ile ilgili değildir ve jenkins slave'leri birden fazla yürütücüyü çalıştıracak şekilde yapılandırılmıştır. – Wrench

+0

MySQL konteyneri kod konteynırla eşzamanlı tüm boru hatları için aynı mı? – antonbormotov

cevap

5

Konteyner adlarını el ile değiştirmek için yönergeleri kullanmaya çok fazla odaklandım. Çözüm çok daha kolaydı.

docker-compose -p anything_else run code mvn clean test

docker-compose -p anything run code mvn clean test

Yani, bu proje adı çözümdür. Docker compose, kapsayıcı adları oluştururken önek olarak -p seçeneği ile verilen değeri kullanacaktır. Bu, çarpışma anlamına gelir.

Çok kullanışlıdır!

İlgili konular