bağlantılı Expose. Benim liman işçisi-compose.yml:liman işçisi-oluşturma deneyimi - Ben kurulum için bir MySQL veritabanı konteyner tarafından desteklenen bir SonarQube kabı çalışıyorum servis noktasını
sonar:
environment:
- SONARQUBE_USER=sonar
- SONARQUBE_PASSWORD=sonar
- SONARQUBE_DATABASE=sonar
- SONARQUBE_JDBC_URL=jdbc:mysql://db:3306/sonar?useUnicode=true&characterEncoding=utf8
build: .
ports:
- "19000:9000"
- "19306:3306"
links:
- db
db:
environment:
- MYSQL_ROOT_PASSWORD=root-secret
- MYSQL_USER=sonar
- MYSQL_PASSWORD=sonar
- MYSQL_DATABASE=sonar
image: mysql
ports
bölümde ben SonarQube (web arayüzü) ve port 3306 (MySQL bağlantı) hem port 9000 maruz çalışıyorum.
bağlı bir hizmet (örneğin, bu durumda db
gibi) bir bağlantı noktası ortaya örneğin, "ana" kaptan için herhangi bir şekilde var sonar
?
DÜZENLEME: Sadece daha iyi ihtiyaçlarımı açıklamak için, benim localhost
hem portları açığa istiyorum. SonarQube koşucunun veritabanına erişmesi gerektiğinden makinemden her iki bağlantı noktasına da erişmem gerekiyor ve ben de başka bir kapsayıcı içinde değil, makinemden veritabanında da bazı sorgular çalıştırmak istiyorum.
şimdi. Ama neden sadece "db" EXPOSE '' portunu Sonar için yaptığınız gibi ev sahibi ile eşleştirmiyorsunuz? Sonar, 'EXPOSE' 'db' bağlantı noktasını doğrudan kullanmaya devam edecektir, ancak localhost'tan gelen sorgunuz, 'db/ports' bölümünde belirttiğiniz bağlantı noktası değerini kullanacaktır (aşağıdaki düzenlenmiş cevaba bakın) – VonC