編集:申し訳ありませんが、私はこの質問の最初の部分について間違いました。ドッカーの作成と同時統合テスト
は、だから私は、同期実行したときに正常に動作していますdocker-compose.yaml
を持っています。しかし、私はそれが並列に動作するかどうかをテストするために、2つのまたは3つのジョブを起動したときdocker-compose build && docker-compose up --abort-on-container-exit
:このコマンドで起動
server:
build: .
dockerfile: "./docker/integration_tests/server/Dockerfile"
links:
- mongo
environment:
- "MONGO_URI=mongodb://mongo:27017/company"
mongo:
image: 'mongo:3.2.6'
ports:
- "27017"
(これはJenkinsのパイプラインを使用しているので、別のディレクトリがあります)私は仕事Aでこれを見ています:
Successfully built 7b23b3a7b823
+ docker-compose up --abort-on-container-exit
Creating companyservercicd3_mongo_1
ERROR: for mongo Cannot start service mongo: driver failed programming external connectivity on endpoint companyservercicd3_mongo_1 (422826f73ce76526e4072f72a2b44467f9080e79a24d37d1fe2bba903854a698): Bind for 0.0.0.0:27017 failed: port is already allocated
Encountered errors while bringing up the project.
ジョブBでこの:
Successfully built 80aa795867eb
+ docker-compose up --abort-on-container-exit
Creating companyservercicd4_mongo_1
ERROR: for mongo Cannot start service mongo: driver failed programming external connectivity on endpoint companyservercicd4_mongo_1 (1591f2847e6c0d81f2c530874201ea912fa59ea35bfa27e5b25d7843e06da6b5): Bind for 0.0.0.0:27017 failed: port is already allocated
Encountered errors while bringing up the project.
ドキュメントはports
設定オプションについてはこれを言う:
ポートを公開します。両方のポート(HOST:CONTAINER)、または コンテナポート(ランダムなホストポートが選択されます)のどちらかを指定します。
私は27017
がコンテナ内にあり、各ジョブにはそれぞれ独自のコンテナがあると考えていたので、何かを誤解する必要があります。私はここで間違って何をしていますか?
もう少し関連する質問 - これはJenkinsがジョブごとに新しいディレクトリを作成しているので名前の競合はないので、Jenkinsではうまくいきますが、名前空間の競合はありません。自分の名前がありますか?
`docker-compose run --rm --no-deps --name `uuidgen` ...`
しかし、それはだから私は、これは誤報だったと思います私のドッキングウィンドウ-compose.ymlを手直しし、同等の
build/create/start/attach
に住んでテストを実行するコマンドであなたの答えによってちょっと混乱していますが、あなたが示された構成ファイルがあなたがジェンキンで走っていたものではないと言っていますか?また、 '$ COMPOSE_PROJECT_NAME'を設定し、' -p $ COMPOSE_ID'を削除することもできます。 https://docs.docker.com/compose/reference/envvars/ – BMitch
を参照してください。私はそれが起こったと思います。恐らく私が持つことができるほど慎重に使用したエラーと設定を追跡していませんでした。最初の部分を編集することはできません。無関係で、2番目の部分は残しておくと便利です。 +1プロジェクト名を設定するには、気づかなかった。 – Justin