Wiremock standalone HTTP server Docker image
2.25.1,latest(2.25/Dockerfile)2.25.1-alpine(2.25-alpine/Dockerfile)
EXPOSE 8080 8443: the wiremock http/https server portVOLUME /home/wiremock: the wiremock data storage
uid: the container executor uid, useful to avoid file creation owned by rootJAVA_OPTS: for passing any custom options to Java e.g.-Xmx128m
docker pull rodolpheche/wiremockdocker run -it --rm -p 8080:8080 rodolpheche/wiremockAccess http://localhost:8080/__admin to display the mappings (empty set)
docker run -it --rm -p 8443:8443 rodolpheche/wiremock --https-port 8443 --verboseAccess https://localhost:8443/__admin to check https working
In Record mode, when binding host folders (e.g. $PWD/test) with the container volume (/home/wiremock), the created files will be owned by root, which is, in most cases, undesired.
To avoid this, you can use the uid docker environment variable to also bind host uid with the container executor uid.
docker run -d --name rodolpheche-wiremock-container \
-p 8080:8080 \
-v $PWD/test:/home/wiremock \
-e uid=$(id -u) \
rodolpheche/wiremock \
--proxy-all="http://registry.hub.docker.com" \
--record-mappings --verbose
curl http://localhost:8080
docker rm -f rodolpheche-wiremock-containerCheck the created file owner with
ls -alR test
However, the example above is a facility. The good practice is to create yourself the binded folder with correct permissions and to use the -u docker argument.
mkdir test
docker run -d --name rodolpheche-wiremock-container \
-p 8080:8080 \
-v $PWD/test:/home/wiremock \
-u $(id -u):$(id -g) \
rodolpheche/wiremock \
--proxy-all="http://registry.hub.docker.com" \
--record-mappings --verbose
curl http://localhost:8080
docker rm -f rodolpheche-wiremock-containerCheck the created file owner with
ls -alR test
git clone https://github.com/rodolpheche/wiremock-docker.git
docker run -it --rm \
-p 8080:8080 \
-v $PWD/wiremock-docker/samples/hello/stubs:/home/wiremock \
rodolpheche/wiremockgit clone https://github.com/rodolpheche/wiremock-docker.git
docker build -t wiremock-hello wiremock-docker/samples/hello
docker run -it --rm -p 8080:8080 wiremock-helloAccess http://localhost:8080/hello to show Hello World message
git clone https://github.com/rodolpheche/wiremock-docker.git
# prepare extension folder
mkdir wiremock-docker/samples/random/extensions
# download extension
wget https://repo1.maven.org/maven2/com/opentable/wiremock-body-transformer/1.1.3/wiremock-body-transformer-1.1.3.jar \
-O wiremock-docker/samples/random/extensions/wiremock-body-transformer-1.1.3.jar
# run a container using extension
docker run -it --rm \
-p 8080:8080 \
-v $PWD/wiremock-docker/samples/random/stubs:/home/wiremock \
-v $PWD/wiremock-docker/samples/random/extensions:/var/wiremock/extensions \
rodolpheche/wiremock \
--extensions com.opentable.extension.BodyTransformergit clone https://github.com/rodolpheche/wiremock-docker.git
docker build -t wiremock-random wiremock-docker/samples/random
docker run -it --rm -p 8080:8080 wiremock-randomAccess http://localhost:8080/random to show random number