我已经创建了这个Dockerfile
,并根据https://github.com/rodolpheche/wiremock-docker:
FROM openjdk:8-jre-alpine
ENV WIREMOCK_VERSION 2.27.1
RUN apk add --update openssl
# fix "No Server ALPNProcessors" when using https
RUN apk add --update libc6-compat
RUN ln -s /lib/libc.musl-x86_64.so.1 /lib/ld-linux-x86-64.so.2
# grab su-exec for easy step-down from root
# and bash
RUN apk add --no-cache 'su-exec>=0.2' bash
# grab wiremock standalone jar
RUN mkdir -p /var/wiremock/lib/ \
&& wget https://repo1.maven.org/maven2/com/github/tomakehurst/wiremock-jre8-
standalone/$WIREMOCK_VERSION/wiremock-jre8-standalone-$WIREMOCK_VERSION.jar \
-O /var/wiremock/lib/wiremock-jre8-standalone.jar
WORKDIR /home/wiremock
EXPOSE 7070 7443
CMD java $JAVA_OPTS -cp /var/wiremock/lib/*:/var/wiremock/extensions/*
com.github.tomakehurst.wiremock.standalone.WireMockServerRunner
然后我创建了下面的docker compose。yml
文件位于/my/project/directory中
version: '3'
services:
wiremock:
image: rodolpheche/wiremock:latest
container_name: miplata-wiremock-local
build: ./wiremock/.
ports:
- "7070:8080"
- "7443:8443"
volumes:
- ./wiremock/stubs:/home/wiremock
/my/project/wiremock/stubs中的子目录是映射和__files。
当我执行docker compose up时,docker容器可以工作,我可以发出一些工作正常的请求。但我的问题是,存根目录中的更改不会自动刷新,然后每次创建新的wiremock存根或更新现有存根时,我都需要重新启动容器。
你知道我做错了什么吗?在不重启容器的情况下继续工作会很好。
谢谢!!!!
我认为包含json文件的路径应该映射到docker实例内部的/home/wiremock/mappings
。
version: '3'
services:
wiremock:
image: rodolpheche/wiremock:latest
container_name: miplata-wiremock-local
build: ./wiremock/.
ports:
- "7070:8080"
- "7443:8443"
volumes:
- /path/to/json_files:/home/wiremock/mappings
如果您是作为docker实例运行的,那么命令应该如下所示:
# json mapping files
# mappings-checkin-mode.json mappings-kiosk-mode.json
docker run -it --rm -v $PWD:/home/wiremock/mappings -p 5050:8080 --name wiremock wiremock/wiremock:2.32.0 --enable-stub-cors
对存根目录内容的更改不会在WireMock应用程序中实时刷新。可以使用大摇大摆的用户界面:http://localhost:8080/__admin/swagger-ui手动重置,或相应的API调用自动重置。
我建议将映射和响应体都存储在文件中。
默认情况下:
映射
文件夹中\u files
文件夹中
据我所知,wiremock独立java进程执行以下操作(无论是在主机上还是在容器中运行):
请参阅下面的映射和响应正文文件:
{
"request": {
"method": "GET",
"url": "/hello"
},
"response": {
"status": 200,
"bodyFileName": "hello.json"
}
}
{
"message": "Hello World !"
}
对我来说,这一切都很有魅力。Wiremock是一个令人惊叹的软件平台,对于测试不同用例的存根endpoint非常有用。
我是Docker的新人,我正在尝试创建/使用现有映像来启动我的应用程序。在阅读了几篇stackoverflow帖子和Docker文档后,我能够使用Docker容器启动我的应用程序。现在我正在寻找保存修改后的Docker容器的正确方法,以便我可以重用容器通过运行docker命令来启动我的应用程序。 我看到人们使用$docker提交来保存docker容器。如果我运行此命令,容器将保存在哪里?其他人可以
我有很多运行docker容器的测试。每个都有一个卷。 如何知道需要删除的卷名? 例如: 手动停止并删除容器后,卷仍然存在。 我不想删除所有卷,因为其中一些卷仍在使用中。
对于烧瓶应用程序,我使用主机和容器之间的体积。我的docker-comment的web部分看起来像这样: 这是我的Dockerfile: 我认为我的卷创建得很好,因为当我从主机在中创建和更新时,容器中的也会更新。但问题是,当我从浏览器重新加载页面时,内容尚未更新。 当我做我得到了以下信息: 卷b26d14是多少?我不认为这是一个用docker-comment创作的。运行后返回: 我必须让它工作的唯
问题内容: 我有使用ngRepeater显示的数组,但是使用此指令时,我使用的是ngInit指令,该指令执行应返回要显示的对象的功能。一切工作正常,但是当我在数组中添加新值的“新建”按钮时,仅在我认为应根据数组值的量执行函数后,才执行函数“SetPreview”。我怎样才能做到这一点? 用户界面: 控制器: 示例在这里-jsfiddle 编辑: 这是一个更复杂的示例: ->现在,电话集合为空,当您
问题内容: 我在由运行的docker容器中存在一些问题。 Docker文件 还有我的docker-compose.yml 当我运行它时,一切都很好,但编辑文件不会增加应用程序的重载。文件已更改,我确定是因为我通过ssh连接对其进行了检查,并且容器中的文件已被编辑。再次重新启动容器时,将应用所有更改。我以为当我仅通过docker切换建筑物图像来构成此图像时,它就会消失,但事实并非如此。 当我打电话时
我想我可以按照我另一篇文章的建议使用合订本 docker-撰写mariadb外部卷映射问题 但是我知道容器应该是无状态的。所以看来我的想法是错误的? 我不知道会发生什么样的灾难性故障,所以如果容器被封砖,我有可能会丢失所有数据吗?或者有没有办法使用外存恢复? 如何处理这种情况?我有一个管理迁移的模式表,所以不希望该表是新的,并从square 1开始 问题:我应该让云上的Mariadb容器写到它喜欢