問題タブ [docker-maven-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - Docker コンテナーと Docker ホストに 1 つの docker-maven-plugin 構成のみを使用するにはどうすればよいですか?
私の Spring Boot アプリケーションは ElasticSearch を使用しているため、統合テストのために ElasticSearch のインスタンスを開始する必要があります。ElasticSearchの Docker コンテナーを起動するには、を使用しますdocker-maven-plugin
。統合テストは、GitLab と開発者のマシンで動作するはずです。
私のコードは、Unix ソケットを使用して GitLab の Runner (Docker コンテナー) で動作しますが ( Docker ソケット バインディングの使用を参照)、開発者のマシンでは動作しません。
Docker コンテナー ( ) の内部 IP アドレスは、172.17.0.2
Docker Desktop for Windows (Docker ホスト) では認識されません。Docker Desktop for Windows のネットワーク機能 を参照してください。
ソース
追加情報
- 内部 IP は、
docker.container.elasticsearch.ip
によってMaven プロパティに保存されます。5.2docker-maven-plugin
を参照してください。docker:start . - ネットワークはデフォルト
bridge
で です。5.2.5 を参照してください。ネットワーク。 - Docker で Docker を使用するように GitLab のランナーを変更できません。 Docker executor で Docker-in-Docker ワークフローを使用する を参照してください。
- シェル実行モードを使用するように GitLab のランナーを変更できません。「シェル エグゼキュータを使用する」を参照してください。
ログ
リサーチ
- プロパティ からのポート マッピングと Docker ホストの IP アドレスの使用
docker.host.address
は、Unix ソケットでは機能しません。5.2.9 を参照してください。待って。 - ネットワークの使用
host
は、Docker Desktop for Windows では機能しません。ホスト ネットワークの使用を参照してください。
質問
docker-maven-plugin
GitLab と開発者のマシンに1 つの構成のみを使用することは可能ですか?
spring-boot - fabric8 の docker-maven-plugin の docker-compose が機能しない
統合テストの前に、docker コンテナー内docker-maven-plugin
で実行redis
とインスタンスを作成しようとしています。以下は、ファイルPostgreSQL 11
内の私のセットアップです。pom.xml
docker-compose-test.yml
以下を含む指定されたファイルで定義されたサービスを実行しようとしています:
手動で実行しようとしたため、このファイルが正しいことはわかっていますが、maven
必要なときに実行することはできません。なぜこれがうまくいかないのかについての提案はありますか?
java - デフォルト構文のプレースホルダー
port
Maven ファイル (docker-maven-plugin セクション) に次のようなセクションがあります。
これは正常に機能します (webservice.adminport が定義されている場合、またはデフォルトで 8080 に設定されている場合はそれを使用します)。
env
ただし、 pomのセクションで同じパターンを使用しようとしています。
env
しかし、次のエラーが表示されます。上記のセクションの構文が正しくないと思いますか?
値 "http://1.2.3.4:${webservice.adminport}:8080/my-service のプレースホルダー 'webservice.adminport' を解決できませんでした