sudo docker pull apimastery/apisimulator
API Simulator in Docker Container
What Is It?
If you use Docker containers already, the API Simulator Docker image can help you incorporate API Simulator in your development and testing life cycle. (If you are not using containers you definitely should look into it!)
The image contains a Linux distribution, OpenJDK Java Runtime Environment (JRE), and installation of the API Simulator’s distro that have been tested to work together.
The same Docker image can be used to run API Simulator and API Recorder as well.
How to Get It
An already built image is hosted on Docker Hub here.
How to Use It
We assume that you already have Docker installed and can execute docker
commands.
Execute the following to get the latest Docker image from Docker Hub:
For the Response Templating examples, start the container using this command:
sudo docker run --rm -d --name apisimulator -p 6090:6090 -t apimastery/apisimulator apisimulator start examples/response-templating
Now you can just follow the instructions in the README.txt
file found in the example’s directory in the distro for how to submit requests using curl
.
Running the Examples with API Client
API Client is a simple tool that comes bundled with API Simulator. It allows the submission to HTTP or HTTPS endpoints of raw HTTP requests stored in files.
Let’s drop into a sh
shell inside the container:
sudo docker run -it apimastery/apisimulator sh
Now just follow the instructions in the README.txt
file found under each of the example simulations.
Running Your Own API Simulations
Let’s assume your simulation is in a directory /opt/apisimulator/apisims/my-awesome-simulation
on Docker daemon’s host. The following command will start API Simulator for
my-awesome-simulation
simulation after mounting the host directory, /opt/apisimulator/apisims/my-awesome-simulation
, into the API Simulator container at /apisims/my-awesome-simulation
:
sudo docker run --rm -d --name apisimulator -p 6090:6090 -v /opt/apisimulator/apisims/my-awesome-simulation:/apisims/my-awesome-simulation -t apimastery/apisimulator apisimulator start /apisims/my-awesome-simulation
Notice that you may have to use -u <uid>
in the command above to assure that the log files will be properly created in the /opt/apisimulator/apisims/my-awesome-simulation/logs
directory. The <uid>
is that of the user who owns the logs directory or belongs to the directory owner’s group.
If you get an error like this
docker: Error response from daemon: Conflict. The name "/apisimulator" is already in use….
, execute the following command first and then the command above to run API Simulator:
sudo docker rm apisimulator
We would love to hear your feedback! Shoot us a quick email to [feedback at APISimulator.com] to let us know what you think.
Happy API Simulating!