当然,将本地.m2的音量附加到容器中的音量就足够了。你也需要通过 STUBRUNNER_STUBS_MODE=REMOTE ( https://github.com/spring-cloud/spring-cloud-contract/blob/master/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/spring/ StubRunnerProperties.java#L100 )
STUBRUNNER_STUBS_MODE=REMOTE
#!/bin/bash SC_CONTRACT_DOCKER_VERSION="${SC_CONTRACT_DOCKER_VERSION:-1.2.4.BUILD-SNAPSHOT}" APP_IP="$( ./whats_my_ip.sh )" # Stub coordinates 'groupId:artifactId:version:classifier' STUB_GROUP="${STUB_GROUP:-com.example}" STUB_ARTIFACT="${STUB_ARTIFACT:-bookstore}" STUB_VERSION="${STUB_VERSION:-0.0.1.RELEASE}" STUB_PORT="9876" # Spring Cloud Contract Stub Runner properties STUBRUNNER_PORT="${STUBRUNNER_PORT:-8083}" STUBRUNNER_IDS="${STUB_GROUP}:${STUB_ARTIFACT}:${STUB_VERSION}:stubs:${STUB_PORT}" STUBRUNNER_REPOSITORY_ROOT="http://${APP_IP}:8081/artifactory/libs-release-local" docker run --rm -e "STUBRUNNER_IDS=${STUBRUNNER_IDS}" -e "SERVER_PORT=${STUBRUNNER_PORT}" -e "STUBRUNNER_REPOSITORY_ROOT=${STUBRUNNER_REPOSITORY_ROOT}" -p "${STUBRUNNER_PORT}:${STUBRUNNER_PORT}" -p "${STUB_PORT}:${STUB_PORT}" -v ~/.m2:/root/m2 springcloud/spring-cloud-contract-stub-runner:"${SC_CONTRACT_DOCKER_VERSION}"
请注意,我们正在使用maven本地或我们的docker镜像,但它指向 ${USER_HOME}/.m2 AFAIR是 /root/.m2 在Docker中。
${USER_HOME}/.m2
/root/.m2