OWASP Juice Shop Docker: Official bkimminich/juice-shop Setup Guide
OWASP Juice Shop Docker: Official Setup Guide (2026)
Official Docker setup • Updated August 2026

OWASP Juice Shop Docker: Official bkimminich/juice-shop Setup Guide

Use the official bkimminich/juice-shop Docker image, run it locally on 127.0.0.1:3000, verify the current GitHub release and Docker Hub source, and keep the intentionally insecure training application isolated.

The official local Docker setup is: pull bkimminich/juice-shop, run it with docker run --rm -p 127.0.0.1:3000:3000 bkimminich/juice-shop, and browse to http://localhost:3000.

The current official GitHub README lists the localhost-bound command, the bkimminich/juice-shop Docker Hub page hosts the image, and the OWASP Foundation project page identifies Juice Shop as an intentionally insecure application for training, awareness demonstrations, capture-the-flag exercises, and security-tool evaluation.

Safety rule: OWASP Juice Shop is vulnerable by design. Keep it on an isolated local machine, VM, container network, or approved classroom environment. Do not publish it to the internet or test systems you do not own or have explicit authorization to assess.

Official OWASP Juice Shop Docker Run Command

The highest-impression query—owasp juice shop docker run bkimminich/juice-shop official—has a direct answer in the current project repository.

docker pull bkimminich/juice-shop
docker run --rm -p 127.0.0.1:3000:3000 bkimminich/juice-shop

The official OWASP Juice Shop GitHub README currently documents this exact workflow. After the container starts, open http://localhost:3000.

Official command with a container name

docker run --rm --name juice-shop   -p 127.0.0.1:3000:3000   bkimminich/juice-shop

The optional --name juice-shop makes status, log, and stop commands easier to read. It does not change the application itself.

Detached local run

docker run -d --rm --name juice-shop   -p 127.0.0.1:3000:3000   bkimminich/juice-shop

The -d flag runs the container in the background. Use docker logs -f juice-shop to follow its output and docker stop juice-shop to stop it.

For a vulnerable training application, the safest useful default is a local-only port binding, an official image source, a known version strategy, and no production credentials or data.
Official OWASP Juice Shop Docker run command using bkimminich juice-shop

Official OWASP Juice Shop Website, GitHub, Docker Hub, and Documentation

Search results repeatedly include words such as official, official docs, official documentation, and official image. Those modifiers matter because a deliberately vulnerable application should not be downloaded from an unknown mirror.

Official resource What it confirms When to use it
OWASP Foundation project page Project ownership, purpose, technology, and official entry points Verify the project and its training purpose
Official Juice Shop website Current project information and links to documentation Start research from the project website
Official GitHub repository Source, README, setup commands, supported runtimes, issues, and code history Verify the current Docker command and source
Official GitHub releases Latest version, release dates, packaged assets, and checksums Pin a reproducible workshop version
Docker Hub bkimminich/juice-shop Official container repository and available image tags Pull the trusted Docker image
Official running guide Source, packaged distribution, Docker, and other run options Compare supported setup paths
Official companion guide Training context, challenge guidance, customization, and operations Prepare structured learning and workshops
Official security policy Currently supported release branch and vulnerability-reporting policy Check patch support before deployment

The official image name is bkimminich/juice-shop. The Docker Hub page, GitHub repository, and official documentation all converge on that image name, which directly addresses searches for docker hub bkimminich/juice-shop official and owasp juice shop official docker image bkimminich/juice-shop.

OWASP Juice Shop Docker Image and Latest Release in 2026

As of August 1, 2026, the official GitHub releases page identifies v20.1.1 as the latest release, published June 23, 2026. The official security policy currently lists 20.1.x as the supported branch.

Choice Image reference Best use Tradeoff
Current stable image bkimminich/juice-shop Quick local lab and current official setup The resolved image can change over time
Pinned 2026 release bkimminich/juice-shop:v20.1.1 Reproducible workshop and documented test run Must be reviewed when the supported branch changes
Development snapshot bkimminich/juice-shop:snapshot Project development and preview testing Not the stable choice for normal training
Unknown third-party image Unverified repository Avoid Unknown modifications, provenance, and update policy

Pin v20.1.1 for a repeatable lab

docker pull bkimminich/juice-shop:v20.1.1

docker run --rm --name juice-shop   -p 127.0.0.1:3000:3000   bkimminich/juice-shop:v20.1.1

Before publishing training instructions, verify the release page and supported-version policy again. The words official 2026 should indicate current verification, not a permanently fixed version.

OWASP Juice Shop Docker Run Port 3000 Command Explained

Command part Meaning Why it matters
docker run Creates and starts a container from an image Launches the local Juice Shop lab
--rm Removes the container after it stops Keeps disposable labs cleaner
--name juice-shop Assigns a readable container name Simplifies logs, status, and stop commands
-p 127.0.0.1:3000:3000 Maps host loopback port 3000 to container port 3000 Keeps the normal lab accessible from the Docker host
bkimminich/juice-shop Official Docker image repository Matches the official project setup
:v20.1.1 Optional pinned version tag Improves reproducibility

Why the host IP matters

Docker documents that port mappings without a host address publish to all host addresses by default. The Docker run reference also warns that omitting the IP address can make the published port externally accessible. Because Juice Shop is intentionally insecure, prefer the current official README command with 127.0.0.1 for a local lab.

Do not confuse these forms: -p 3000:3000 normally publishes on all host interfaces, while -p 127.0.0.1:3000:3000 targets the local loopback interface. Firewall and Docker-network behavior should still be verified in the actual environment.

Official Docker Image: Latest Tag vs Versioned Tag

The query set includes both official image and official 2026. The most reliable answer depends on whether the reader values immediate currency or repeatability.

Use the untagged image for a quick lab

docker pull bkimminich/juice-shop follows the current stable image referenced by official setup instructions.

Use a version tag for workshops

docker pull bkimminich/juice-shop:v20.1.1 gives every participant the same documented release.

Record the image digest

For formal test evidence, record the resolved image ID or digest in the workshop notes and change record.

Review supported versions

The official security policy supports only the current minor branch, so older pinned images need deliberate lifecycle decisions.

Use the official Docker Hub tags page and GitHub releases together when validating a version.

Install Docker for OWASP Juice Shop

Do not rely on a generic package command copied from an old blog. Docker installation steps and supported operating systems change. Use current Docker documentation for the platform.

Platform Official installation source Post-install check
Windows Docker Desktop for Windows installation guide docker --version
macOS Docker Desktop for Mac installation guide docker --version
Ubuntu Docker Engine on Ubuntu installation guide docker run hello-world
Other Linux systems Use the matching distribution page in Docker’s official Engine documentation Verify daemon, CLI, and permissions

Docker’s current Ubuntu documentation specifically warns that distribution-provided packages such as docker.io can conflict with Docker’s official Engine packages. That is why the refined article links to the current platform documentation instead of presenting one stale installation recipe as universal.

Run OWASP Juice Shop Locally on Port 3000

1. Pull the official image

docker pull bkimminich/juice-shop

2. Start the local container

docker run -d --rm --name juice-shop   -p 127.0.0.1:3000:3000   bkimminich/juice-shop

3. Confirm the container is running

docker ps
docker logs --tail 50 juice-shop

4. Open the application

http://localhost:3000

5. Stop the lab

docker stop juice-shop

The official setup is intentionally simple. Keep real credentials, customer information, production tokens, and corporate secrets out of the lab.

Run OWASP Juice Shop locally on localhost port 3000 with Docker

OWASP Juice Shop Docker Troubleshooting

Symptom Check Safe next step
Docker command not found docker --version Use the official Docker installation guide for the OS
Cannot connect to Docker daemon Docker Desktop or Engine service state Start Docker and verify the selected Docker context
Port 3000 already in use Existing process or container using the port Use a different local host port such as 3001
Container exits immediately docker logs juice-shop Review startup output and image architecture
Browser cannot load localhost docker ps and published-port column Confirm the container and port mapping
Wrong or old lab behavior Resolved image tag and release Pin and document the intended official version

Use port 3001 when port 3000 is occupied

docker run --rm --name juice-shop   -p 127.0.0.1:3001:3000   bkimminich/juice-shop

Then browse to http://localhost:3001. The container still listens on port 3000 internally; only the host-side port changes.

OWASP Juice Shop GitHub, Source Download, and Packaged Releases

Docker is the fastest option for many local labs, but it is not the only official distribution method.

Docker image

Best for quick local setup, disposable instances, workshops, and repeatable container-based labs.

GitHub source

Best for code review, development, customization, contribution, and understanding the application architecture.

Packaged distribution

The official release page provides operating-system and Node-version-specific packaged assets for supported combinations.

Official website and companion guide

Best for current project information, learning structure, training preparation, and documented run options.

Clone from the official GitHub repository

git clone https://github.com/juice-shop/juice-shop.git --depth 1
cd juice-shop
npm install
npm start

The official running guide documents the source-based workflow and packaged release option. Check the current GitHub README for supported Node.js versions before building from source.

OWASP Juice Shop Login: Safe Lab Guidance

The login page is part of the intentionally insecure training application. It supports exercises related to authentication, account behavior, sessions, authorization, and API traffic. This article does not provide challenge solutions or unauthorized access instructions.

Use lab-only accounts

Create synthetic users for the exercise. Do not reuse personal, corporate, customer, or production passwords.

Reset between workshops

Use disposable containers or documented reset procedures so participants begin from a known state.

Separate participants

For classes, provide individual or isolated instances when one learner’s activity could disrupt another learner’s progress.

Keep scope explicit

Limit testing to the assigned lab instance and approved workshop objectives.

The official trainer’s guide provides classroom-oriented guidance, and the official companion guide provides structured learning material.

Why OWASP Juice Shop Is an Intentionally Insecure Training Application

The OWASP project page explains that Juice Shop includes vulnerabilities from the OWASP Top Ten and other real-world security flaws. It is written with a modern JavaScript application stack and contains challenges with varied difficulty.

Developer education

Connect secure coding requirements with observable application and API behavior.

Security awareness

Demonstrate why authentication, authorization, validation, logging, and safe responses matter.

CTF and workshops

Use challenge-based learning in an isolated environment with approved scope and reset procedures.

Tool evaluation

Observe how scanners, proxies, WAFs, API security platforms, and monitoring systems represent known vulnerable behavior.

Public demo warning: the official GitHub README says the public demo is a deployment test and preview instance, not a target for personal hacking activity. Run your own local or authorized instance.

OWASP Juice Shop API Monitoring and Ammune

Juice Shop is useful for API security education because browser actions call REST APIs and produce observable request and response behavior. The OWASP project page specifically notes that proxies and security scanners can use the application to evaluate JavaScript-heavy frontends and REST APIs.

API discovery

Identify the endpoints, methods, domains, API versions, and traffic paths used during approved lab workflows.

Request and response inspection

Review paths, parameters, headers, status codes, response fields, latency, and sensitive-data context.

Behavior analytics

Show how repeated failures, unusual sequences, automation, enumeration, and business-logic anomalies appear in runtime traffic.

SIEM-ready evidence

Forward normalized lab events so learners can practice triage, correlation, investigation, and remediation workflows.

How Ammune fits the lab

Ammune can complement OWASP Juice Shop by providing runtime API discovery, request and response visibility, behavior learning, API abuse detection, sensitive-data monitoring, and security evidence for DevSecOps and SOC workflows. It should be connected only to an isolated and authorized lab, with deployment mode, TLS visibility, throughput, storage, and enforcement controls validated before use.

Related guides include API runtime security protection, real-time API threat detection, API auto-discovery, REST API endpoint security best practices, enterprise API monitoring best practices, and API security for enterprise DevSecOps.

The official Juice Shop monitoring guide also discusses monitoring multiple training instances and related dashboard approaches.

OWASP Juice Shop API security monitoring and Ammune runtime visibility

Official OWASP Juice Shop Docker Setup Checklist

Check Required evidence Desired result
Project source OWASP project page or official website Verified official project
Image source Docker Hub bkimminich/juice-shop No third-party image
Run command Current official GitHub README Localhost-bound port mapping
Release GitHub release and supported-version policy Current or deliberately pinned version
Network exposure Published-port and firewall review Restricted to approved lab access
Credentials Synthetic lab-only accounts No reused real passwords or tokens
Data Synthetic training content No customer or production data
Reset Disposable container or documented cleanup Known state for every session
Monitoring Proxy, gateway, API security, logs, or SIEM Observable learning outcomes
Authorization Written lab scope and owner approval Testing limited to approved instances

Common OWASP Juice Shop Docker Mistakes

  1. Using an unofficial image. Verify bkimminich/juice-shop through official OWASP and GitHub sources.
  2. Publishing port 3000 on every interface. Prefer the current localhost-bound official command for a local lab.
  3. Calling the public demo a practice target. The official repository says it is not intended for personal hacking activity.
  4. Using an unpinned image for a formal class. Pin and record a version when repeatability matters.
  5. Keeping old setup commands. Revalidate Docker installation and Juice Shop release guidance before each update.
  6. Using real credentials or data. Keep the lab synthetic.
  7. Sharing one mutable instance with a large class. Use isolated instances or a documented multi-user design.
  8. Ignoring monitoring. Pair the training app with request, response, API, and SIEM visibility.
  9. Self-linking the article. Internal links should lead to related guidance, not the current page.
  10. Treating intentionally vulnerable as production-ready. It is a lab target by design.

Conclusion

The strongest SEO and the safest technical answer are aligned: use the official bkimminich/juice-shop image, verify it through Docker Hub and GitHub, run it with docker run --rm -p 127.0.0.1:3000:3000 bkimminich/juice-shop, browse to http://localhost:3000, and keep the intentionally insecure application isolated.

For reproducible 2026 training, verify the current release and supported branch, then pin the chosen version. Pair the lab with API monitoring so learners can connect vulnerable application behavior to endpoints, requests, responses, identities, abnormal patterns, sensitive data, and incident evidence.

Frequently Asked Questions About OWASP Juice Shop Docker

What is the official OWASP Juice Shop Docker image?

The official project uses the Docker Hub image bkimminich/juice-shop. Verify it through the bkimminich/juice-shop Docker Hub repository and the official OWASP Juice Shop GitHub repository rather than a third-party mirror.

What is the official Docker run command for OWASP Juice Shop?

The current official GitHub README shows docker run --rm -p 127.0.0.1:3000:3000 bkimminich/juice-shop. It maps the application to local host port 3000 and removes the container after it stops.

Why use 127.0.0.1:3000:3000 instead of 3000:3000?

Docker documents that a published port without a host address binds to all host interfaces by default. Binding to 127.0.0.1 limits access to the Docker host in the normal local-lab configuration, which is safer for an intentionally vulnerable application.

Where is the official Docker Hub page for bkimminich/juice-shop?

The official Docker Hub repository is bkimminich/juice-shop. The official OWASP project and GitHub repository both reference that image for container-based setup.

What is the latest OWASP Juice Shop release in 2026?

As of August 1, 2026, the official GitHub releases page identifies v20.1.1 as the latest release, published June 23, 2026. Always verify the release page again before pinning a version.

Which OWASP Juice Shop versions receive security patches?

The official security policy states that the latest released minor branch receives security patches and currently lists 20.1.x as supported. Earlier branches are marked unsupported.

How do I run OWASP Juice Shop locally on port 3000?

Pull bkimminich/juice-shop, run it with the localhost-bound port mapping, and open http://localhost:3000. The official GitHub setup section documents this workflow.

Can I pin the Docker image to OWASP Juice Shop v20.1.1?

Yes. The official documentation describes versioned image tags in the vX.Y.Z format. For reproducible training, use bkimminich/juice-shop:v20.1.1 after confirming that v20.1.1 remains the desired release on the official release page.

Where is the official OWASP Juice Shop website?

The official project website is owasp-juice.shop, and the OWASP Foundation project page links to it as the location for current project information.

Is OWASP Juice Shop intentionally insecure?

Yes. The OWASP project page describes Juice Shop as an insecure web application for security training, awareness demonstrations, CTFs, and tool testing. It should be treated as a lab target, not a production service.

Can I use the public OWASP Juice Shop demo for hacking practice?

No. The official GitHub README describes the public demo as a deployment-test and preview instance and explicitly says it is not intended for personal hacking activity. Run your own authorized local lab instead.

How can Ammune be used with an OWASP Juice Shop lab?

Ammune can complement the lab by discovering observed APIs, inspecting requests and responses, learning normal traffic patterns, detecting abuse signals, identifying sensitive-data exposure, and exporting SIEM-ready evidence. Use only isolated, authorized lab traffic and validate deployment and visibility requirements before a workshop.

Turn an OWASP Juice Shop lab into an API security learning environment

Use official setup sources, isolate the training target, and add Ammune runtime API visibility to understand endpoints, requests, responses, behavior, abuse signals, sensitive data, and SIEM-ready evidence.

© 2026 Ammune Security. Verify current official releases, image tags, Docker behavior, and deployment guidance before each lab or workshop.