MySQLデータベースコンテナにバックアップされたSonarQubeコンテナをセットアップしようとしています。 私のドッキングウィンドウ-compose.yml:docker-compose - リンクされたサービスポートを公開する
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
セクションでは、私はSonarQube(Webインタフェース)とポート3306(MySQLの接続)から両方のポート9000を公開しようとしています。
"メイン"コンテナからリンクされたサービス(この場合はdb
など)からポートを公開する方法はありますか? sonar
?
EDIT:自分のニーズをよりよく説明するために、両方のポートを私のlocalhost
に公開したいと考えています。私はSonarQubeのランナーがデータベースにアクセスする必要があり、私のマシンのではなくというデータベースでいくつかのクエリを実行したいので、私のマシンから両方のポートにアクセスする必要があります。
私は理解して今。しかし、単に 'db'の' EXPOSE'のポートをホストにマップするのではなく、ソナーのためにしましたか? Sonarは引き続き 'EXPOSE'の' db'ポートを直接使用しますが、localhostからの問い合わせは 'db/ports'セクションで指定したポートの値を使用します(私の編集した回答を参照) – VonC