The Docker images include:
- Alpine Linux (
mockoon:alpine) or Debian Buster (mockoon:slimbuster) base - Node.js 14 running as non-root user
- Latest @mockoon/cli
Install development dependencies:
brew bundle
If casks are not available for your OS, you can download and install Mockoon from the official page.
Build and run proxy to jsonplaceholder
at :8080 from Dockerfile:
./dockoon
Use Mockoon GUI to edit apis.json copied to the image and re-run the script.
Or fetch apis.json over the wire as any mockoon-cli arguments are accepted:
./dockoon start --data https://file-server/apis.json --index 0 --port 8080
Pass variable BUILD_ARGS to include additional docker build arguments:
BUILD_ARGS="--build-arg FROM_IMAGE=asyrjasalo/mockoon:slimbuster" \
./dockoon
Pass variable RUN_ARGS to include additional docker run arguments:
RUN_ARGS="-d -p 4000:4000" \
./dockoon start --data apis.json --name jsonplaceholder --port 4000
See bicep/README.md for deploying to Azure Container Instances hosted behind an API Management service.
On Git commit, hooks in .pre-commit-config.yaml will be installed and run.
The Azure DevOps pipeline implements the steps documented below (building and pushing the base images) as well as cloud deployment to Azure documented in bicep/README.md.
Alpine Linux:
docker/build_and_test_image
If succeeded the container will run and output mockoon-cli version.
Pass variable BUILD_ARGS to override the default docker build arguments.
Pass IMAGE_KIND to build on non-Alpine Dockerfile. For Debian Buster (slim):
IMAGE_KIND=slimbuster \
docker/build_and_test_image
Pass BUILD_DIR to override the dir path where Dockerfile.IMAGE_KIND is in.
Run docker login before running the scripts.
Push the image to your private Docker registry:
REGISTRY_URL=https://your.azurecr.io \
docker/tag_and_push_image
Tag and push the image mockoon:alpine to Docker Hub:
REGISTRY_URL="$USER" \
docker/tag_and_push_image
If Debian image was built instead, tag and push the image mockoon:slimbuster:
REGISTRY_URL="$USER" \
IMAGE_KIND=slimbuster \
docker/tag_and_push_image