마이크로 서비스를 사용하는 프로젝트가 있습니다. 테스트 환경을 만들기 위해 wire-mock을 사용하려고합니다.wiremock-docker를 사용하여 여러 URL을 프록시로 사용
docker-compose를 사용하여 여러 URL을 어떻게 프록시 할 수 있습니까?
여기 내 도커 작성 파일입니다.
networks:
ft-simulator:
external: false
services:
app:
depends_on:
- nginx
environment:
- SPRING_PROFILES_ACTIVE=simulator
- JAVA_FLAGS=-Dhttp.proxyHost=wiremock -Dhttp.proxyPort=8080
healthcheck:
interval: 1m
retries: 3
test:
- CMD
- curl
- -f
- http://localhost:8080/health
timeout: 10s
image: ft-simulator:latest
ports:
- "8080:8080"
networks:
ft-simulator:
aliases:
- bcp
nginx:
image: nginx
ports:
- "80:80"
- "443:443"
networks:
- ft-simulator
wiremock:
image: rodolpheche/wiremock:2.8.0-alpine
networks:
- ft-simulator
ports:
- "8081:8080"
volumes:
- "$PWD/stubs:/home/wiremock"
command: ["--proxy-all=http://bcp:8080, http://www.google.com"]
version: '3.1'
Google은 시작될 때까지 단순히 자리 표시 자일뿐입니다. 내가 실행하면
까지 고정 표시기를-구성 나는 다음과 같은 오류 그것은 --proxy-all
매개 변수를 사용하여 동시에 둘 이상의 대상 URL에 프록시 수 없습니다
crp11070m:wiremock-simulation john.hamlett$ docker logs -f wiremocksimulation_wiremock_1
Exception in thread "main" java.lang.IllegalArgumentException: Illegal character in authority at index 7: http://bcp:8080, http://www.google.com
at java.net.URI.create(URI.java:852)
at com.github.tomakehurst.wiremock.standalone.CommandLineOptions.proxyHostHeader(CommandLineOptions.java:274)
at com.github.tomakehurst.wiremock.core.WireMockApp.buildStubRequestHandler(WireMockApp.java:123)
at com.github.tomakehurst.wiremock.WireMockServer.<init>(WireMockServer.java:72)
at com.github.tomakehurst.wiremock.standalone.WireMockServerRunner.run(WireMockServerRunner.java:65)
at com.github.tomakehurst.wiremock.standalone.WireMockServerRunner.main(WireMockServerRunner.java:113)
Caused by: java.net.URISyntaxException: Illegal character in authority at index 7: http://bcp:8080, http://www.google.com
at java.net.URI$Parser.fail(URI.java:2848)
at java.net.URI$Parser.parseAuthority(URI.java:3186)
at java.net.URI$Parser.parseHierarchical(URI.java:3097)
at java.net.URI$Parser.parse(URI.java:3053)
at java.net.URI.<init>(URI.java:588)
at java.net.URI.create(URI.java:850)
... 5 more
고맙습니다. 외부 의존성을 조롱하는 것이 가능합니까? 내가 http://www.sweetviz.com/bestimage.jpg에서 이미지를 가져 오는 등? 내 응용 프로그램에 JSON을 반환하는 외부 서비스가 있습니다. 가능하지 않다면 내면화 할 수 있습니다. –