{"id":841415,"xmlId":"Docker","name":"Docker","description":"<p>Imagine being able to package your entire application with all its code, libraries, and dependencies into a single, portable unit that runs consistently in any environment. That's the benefit offered by the <a href=\"https://www.jetbrains.com/help/idea/docker.html\">Docker Plugin</a> for your JetBrains IDE. The plugin also provides official support for Podman, giving you the flexibility to choose the container engine that best suits your needs.</p>\n\n    <h3>What is Docker?</h3>\n    <p>Docker is like a shipping container for your code. It wraps everything your application needs into a neat package called a \"container\" that works the same way on any computer. No more \"but it works on my machine\" problems!</p>\n\n    <h3>What Can You Do With Our Docker Plugin?</h3>\n    <ul>\n      <li><b>Build and Run Containers With a Click</b> — Create and manage <a href=\"https://www.jetbrains.com/help/idea/docker-images.html\">Docker Images</a> and <a href=\"https://www.jetbrains.com/help/idea/docker-containers.html\">Containers</a> right from your IDE—no command line needed!</li>\n      <li><b>See Everything in One Place</b> — View all your containers, images, networks, and volumes in a clean, organized interface.</li>\n      <li><b>Create Multi-Container Apps Easily</b> - Manage complex <a href=\"https://www.jetbrains.com/help/idea/docker-compose.html\">Docker Compose</a> projects with powerful editing tools and visual feedback.</li>\n      <li><b>Smart Editing for Docker Files</b> — Write Dockerfiles with syntax highlighting, code completion, and validation that catches mistakes before they cause problems.</li>\n      <li><b>Test in Containers, Debug Like Local</b> - Run and debug your applications in containers that match your production environment, but with the convenience of local development.</li>\n      <li><b>Watch Your Containers in Action</b> — Monitor logs, check performance, and connect to running containers with an integrated terminal.</li>\n      <li><b>Choose Your Container Engine</b> — Work with Docker or <a href=\"https://www.jetbrains.com/help/idea/podman.html\">Podman</a> (an alternative container engine) based on your preference.</li>\n    </ul>\n\n    <h3>Why Use Containers?</h3>\n    <ul>\n      <li><b>Consistent Environments</b> — Your application runs the same way in development, testing, and production.</li>\n      <li><b>Faster Onboarding</b> — New team members can start coding in minutes instead of spending days setting up their environment.</li>\n      <li><b>Isolated Testing</b> — Test your changes in a container that won't affect your main system.</li>\n      <li><b>Easy Deployment</b> — Package once, deploy anywhere—from your laptop to the cloud.</li>\n      <li><b>Reproducible Environment</b> — Develop in a consistent, reproducible environment that matches your production setup.</li>\n      <li><b>Pre-configured Environments</b> — Quickly onboard new team members with pre-configured development environments.</li>\n      <li><b>Isolation</b> — Isolate project dependencies and tools without affecting your local machine.</li>\n    </ul>\n\n    <h3>Getting Started</h3>\n    <p>To configure the Docker connection, open <b>Settings | Build, Execution, Deployment | Docker</b>.</p>\n\n    <p>Learn more in our <a href=\"https://www.jetbrains.com/help/idea/docker.html\">comprehensive documentation</a>.</p>","organization":"JetBrains s.r.o.","tags":["Tools Integration"],"version":"252.25557.130","notes":"<p><b>2025.2</b></p>\n    <b>Dockerfile</b>\n    <ul>\n      <li>Added autocompletion for image references using the format <code>image:tag@digest</code>.</li>\n      <li>Improved syntax highlighting and validation in Dockerfiles for <code># escape=`</code> and multiple lines.</li>\n      <li>Introduced support for the build options <code>--build-context</code>, <code>--squash</code>, <code>--output</code>.</li>\n      <li>New Docker run options are available now: <code>–-health-cmd</code>, <code>–-health-interval</code>, <code>–-health-retries</code>, <code>–-health-start-period</code>, <code>–-health-timeout</code>, <code>--cap-add=sys_nice for fine</code>, <code>--tmpfs</code>, <code>--read-only</code>, <code>--dns</code>.</li>\n  <b>Docker Compose</b>\n    <ul>\n      <li>Added support for multiple <code>--env-file</code> entries and <code>--no-log-prefix</code> option in Docker Compose run configurations.</li>\n    </ul>\n   <p><b>2025.1</b></p>\n    <b>General</b>\n    <ul>\n      <li>Added support for <code>Containerfile</code> as an alternative to <code>Dockerfile</code> with full syntax highlighting and autocompletion for Podman and Buildah users.</li>\n    </ul>\n    <b>Podman (Beta)</b>\n    <ul>\n      <li>Improved Podman support with enhanced stability and compatibility across platforms, making it a reliable alternative to Docker.</li>\n      <li>Added seamless integration with Podman Machine environments on Windows and macOS, with a dedicated configuration section and options to select rootful/rootless machine, simplifying container workflows.</li>\n      <li>Fixed file type recognition for Podman container files in the editor, ensuring proper highlighting and formatting.</li>\n    </ul>\n    <b>Docker Compose</b>\n    <ul>\n      <li>Added support for <code>env_file</code> with <code>path</code> and <code>required</code> options, improving environment variable management.</li>\n      <li>Fixed WSL running process issues that affected performance when creating remote Docker interpreters or connecting to databases, improving overall system reliability.</li>\n    </ul>\n    <b>Dockerfile</b>\n    <ul>\n      <li>Introduced an inspection to ensure <code>ENTRYPOINT</code> uses <code>exec</code> for proper signal handling and clean shutdowns.</li>\n      <li>Added support for lowercase instructions (e.g., <code>from</code>, <code>run</code>), offering flexibility in Dockerfile syntax.</li>\n      <li>Enhanced autocompletion for external images in <code>COPY --from=</code>, simplifying multi-stage builds.</li>\n    </ul>\n    <p><b>2024.3</b></p>\n    <b>Podman</b>\n    <ul>\n      <li>\n        Initial Podman support has been added, providing an alternative to Docker for container management. Added support for Compose deployments using Podman.\n      </li>\n    </ul>\n    <b>Docker Compose</b>\n    <p>Editor support for docker compose has a lot of improvements:</p>\n    <ul>\n      <li>\n        .env files are now prioritized at the top of the autocompletion list for env_file configuration.\n      </li>\n      <li>\n        New build options: 'cache_to', 'no_cache', 'tags', and 'platforms', offering enhanced control over caching, tagging, and platform specifications.\n      </li>\n      <li>\n        Recognizes 'depends_on.required' and 'depends_on.restart' for better dependency and restart behavior management.\n      </li>\n      <li>\n        Adds 'deploy.placement.preferences' for flexible service placement options.\n      </li>\n      <li>\n        Supports resource management keys like 'deploy.resources.pids' and 'deploy.resources.reservations.devices'.\n      </li>\n      <li>\n        Enables multiple build contexts with 'build.additional_contexts' and supports privileged builds with 'build.privileged'.\n      </li>\n      <li>\n        Adds 'cgroup' configuration and long syntax for 'extra_hosts' to control service group settings and custom host mappings.\n      </li>\n      <li>\n        Introduces 'healthcheck.start_interval' for customizable health check intervals and supports 'networks.mac_address' for MAC address specifications.\n      </li>\n      <li>\n        Enhances port configuration with 'ports.name' and 'ports.app_protocol', and supports 'secrets.environment' for secret management through environment variables.\n      </li>\n      <li>\n        Added support for 'build.ulimits' and 'uts' keys in the editor.\n      </li>\n      <li>\n        Expanded Quick Help support for keys and sub-keys ('condition', 'constraints', 'resources', 'healthcheck', 'logging', 'ulimits', 'version').\n      </li>\n    </ul>\n    <b>Docker</b>\n    <p>Settings:</p>\n    <ul>\n      <li>Paths for executable files can be entered for each Docker configuration.</li>\n    </ul>\n    <b>Docker Registry</b>\n    <p>Services Tool Window:</p>\n    <ul>\n      <li>A modern icon is now used in the Services Tool Window for Docker Registry.</li>\n    </ul></ul>","dependencies":["intellij.libraries.ktor.client"],"optionalDependencies":["intellij.spellchecker","com.intellij.modules.ssh","intellij.clouds.docker","intellij.platform.vcs.impl","com.intellij.java","intellij.platform.backend","intellij.platform.frontend.split","com.intellij.modules.remoteServers","com.intellij.modules.ultimate","intellij.yaml.backend","intellij.platform.kernel.backend","intellij.clouds.docker.shared","intellij.platform.clouds","com.intellij.modules.lang"],"since":"252.25557","until":"252.*","size":6030066,"vendor":"JetBrains"}