All Projects → wiremock → wiremock-docker

wiremock / wiremock-docker

Licence: MIT License
Wiremock Docker image

Programming Languages

Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to wiremock-docker

tdd-demo-forumphp2020
Live coding examples used during Forum PHP 2020 talk "Too many mocks killed the test: What Hexagonal Architecture has changed"
Stars: ✭ 25 (-84.37%)
Mutual labels:  wiremock
wiremock-junit5
Wiremock extension to inject server into JUnit5 tests
Stars: ✭ 43 (-73.12%)
Mutual labels:  wiremock
wiremock-chrome-extension
A simple chrome extension for Wiremock
Stars: ✭ 19 (-88.12%)
Mutual labels:  wiremock
testing-spring-boot-applications-masterclass
🍃 Everything You Need to Know About Testing Spring Boot Applications
Stars: ✭ 185 (+15.63%)
Mutual labels:  wiremock
wiremock
A tool for mocking HTTP services
Stars: ✭ 5,239 (+3174.38%)
Mutual labels:  wiremock
spring-projects
Some spring sample projects
Stars: ✭ 24 (-85%)
Mutual labels:  wiremock
aem-stubs
Tool for providing sample data for AEM applications in a simple and flexible way. Stubbing server on AEM, no separate needed.
Stars: ✭ 40 (-75%)
Mutual labels:  wiremock
Wiremock
A tool for mocking HTTP services
Stars: ✭ 4,790 (+2893.75%)
Mutual labels:  wiremock

Wiremock Docker

Main Nightly Docker Pulls

Wiremock standalone HTTP server Docker image

Supported tags :

Latest

Complete list

Tags

The image includes

  • EXPOSE 8080 8443 : the wiremock http/https server port
  • VOLUME /home/wiremock : the wiremock data storage

How to use this image

Environment variables

  • uid : the container executor uid, useful to avoid file creation owned by root
  • JAVA_OPTS : for passing any custom options to Java e.g. -Xmx128m

Getting started

Pull latest image
docker pull wiremock/wiremock
Start a Wiremock container
docker run -it --rm -p 8080:8080 wiremock/wiremock

Access http://localhost:8080/__admin to display the mappings (empty set)

Start a Wiremock container with Wiremock arguments

To start with these Wiremock arguments : --https-port 8443 --verbose

docker run -it --rm -p 8443:8443 wiremock/wiremock --https-port 8443 --verbose

Access https://localhost:8443/__admin to check https working

Start record mode using host uid for file creation

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 wiremock-container \
  -p 8080:8080 \
  -v $PWD/test:/home/wiremock \
  -e uid=$(id -u) \
  wiremock/wiremock \
    --proxy-all="http://registry.hub.docker.com" \
    --record-mappings --verbose
curl http://localhost:8080
docker rm -f wiremock-container

Check 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 wiremock-container \
  -p 8080:8080 \
  -v $PWD/test:/home/wiremock \
  -u $(id -u):$(id -g) \
  wiremock/wiremock \
    --proxy-all="http://registry.hub.docker.com" \
    --record-mappings --verbose
curl http://localhost:8080
docker rm -f wiremock-container

Check the created file owner with ls -alR test

Samples

Start a Hello World container
Inline
git clone https://github.com/wiremock/wiremock-docker.git
docker run -it --rm \
  -p 8080:8080 \
  -v $PWD/wiremock-docker/samples/hello/stubs:/home/wiremock \
  wiremock/wiremock
Dockerfile
git clone https://github.com/wiremock/wiremock-docker.git
docker build -t wiremock-hello wiremock-docker/samples/hello
docker run -it --rm -p 8080:8080 wiremock-hello

Access http://localhost:8080/hello to show Hello World message

Use wiremock extensions
Inline
git clone https://github.com/wiremock/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 \
  wiremock/wiremock \
    --extensions com.opentable.extension.BodyTransformer
Dockerfile
git clone https://github.com/wiremock/wiremock-docker.git
docker build -t wiremock-random wiremock-docker/samples/random
docker run -it --rm -p 8080:8080 wiremock-random

Access http://localhost:8080/random to show random number

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].