{"id":469517,"xmlId":"org.jetbrains.plugins.docker.gateway","name":"Dev Containers","description":"\n    <p>Enables <a href=\"https://containers.dev/\">Dev Containers</a> as complete development environments through the Gateway\n    client for all JetBrains IDE backends. A <i>devcontainer.json</i> file in your project instructs IDE how to create a development\n    container with a predefined tool and runtime stack. Start a Dev Container from <i>devcontainer.json</i> file.</p>\n    <p>Requires <i>Docker</i> installed on a local machine.</p>\n  \n<h2>Getting started</h2>\n<p>Enables <a href=\"https://containers.dev/\">Dev Containers</a> through the Gateway client for all JetBrains IDE backends.\n    </p><p>The DevContainers approach allows for placing a fully functional development environment in containers:</p>\n    <ul>\n      <li>Running applications</li>\n      <li>Running IDEs and tooling</li>\n      <li>Appropriate versions of libraries and dependencies</li>\n      <li>Runtimes required by a specific codebase and project, used in continuous integration and testing.</li>\n      <li>Simple onboard new people</li>\n      <li>Utilize remote development capabilities, working with code on a server equipped with Docker and necessary hardware</li>\n    </ul>\n    <br>\n    <p>The goal of DevContainers is to provide a fully functional, reproducible development environment along with an IDE.</p>\n    <p>\n    DevContainers help save a lot of time setting up the development environment, especially during the onboarding\n    of new employees to a project. For new colleagues, it often translates to reading tons of documentation.\n    Besides coding, developers frequently spend time figuring out which dependencies are needed to make the code work.\n\n    When you connect to a DevContainer, your developer experience is the same as when working locally.\n    This works thanks to the Remote Development technology, where an IDE server runs inside the container and a local frontend,\n    which exchange only the changes in the view in a very fast and efficient manner thanks to the RD protocol.</p>\n\n    <h3>How to create a Dev Container</h3>\n    <p>\n    The <i>devcontainer.json</i> file in your project instructs IDE how to create a development\n    container with a predefined tool and runtime stack.\n    </p>\n    <p>The devcontainer.json file can be located in one of the following paths in the project:</p>\n    <ul>\n      <li>.devcontainer/devcontainer.json</li>\n      <li>.devcontainer.json</li>\n      <li>.devcontainer//devcontainer.json (where  is a sub-folder, one level deep)</li>\n    </ul>\n\n    <h3>How to build and run a Dev Container</h3>\n    <p><a href=\"https://www.jetbrains.com/help/idea/connect-to-devcontainer.html#start_from_gateway\">Please read in the official documentation</a></p>\n\n    <h3>Dependencies</h3>\n    <p>Requires <i>Docker</i> installed on a local machine.</p>\n     <br>\n    <p>Remote Development may require some dependencies in the Dev Container, such as <i>curl</i>, <i>unzip</i>, <i>ps</i>, <i>libxext</i>,\n    <i>libxrender</i>, <i>libxtst</i>, <i>libxi</i>, <i>freetype</i>, <i>procps</i>, <i>gcompat</i>.\n    </p><p>If your Dev Container does not start, try installing the missing dependencies in the OS of the Dev Container in devcontainer.json.\n    We are working to reduce the number of Remote Development dependencies in future releases.</p>\n    <p><a href=\"https://github.com/JetBrains/devcontainers-examples\">Repository with Dev Containers examples</a></p>\n\n<h3>Changes</h3>\n2023.3 (Beta version of Dev Containers support)\n    <ul>\n      <li>General properties (besides otherPortAttributes, remoteUser, updateRemoteUserUID, userEnvProbe, customizations)</li>\n      <li>Build properties</li>\n      <li>Docker Compose</li>\n      <li>Lifecycle scripts (besides waitFor)</li>\n      <li>Port attributes (only label supported)</li>\n      <li>Minimum host requirements is not supported in this version</li>\n      <li>Variables in devcontainer.json</li>\n    </ul>","organization":"JetBrains s.r.o.","tags":["Miscellaneous"],"vendor":"JetBrains","version":"233.14015.29","dependencies":["Docker","com.jetbrains.gateway"],"optionalDependencies":["com.jetbrains.codeWithMe","com.intellij.modules.json","org.jetbrains.plugins.docker.gateway","Git4Idea"],"since":"233.14015","until":"233.*","size":434090}