Dev Container overview
A Development Container (Dev Container) is a Docker container configured to be used as a fully functional development environment.
PhpStorm lets you use such containers to edit, build, and run your projects. If you need to see a specification for a development container, refer to Dev Container properties.
PhpStorm also supports multiple container connections that can be configured with Docker Compose properties.
The Dev Containers offer the following advantages:
- Environment consistency
Whether you are at the start of development or in the process of migrating an existing project, Dev Containers ensure that every team member works in an identical environment. This eliminates the “it works on my machine” problem when an application behaves differently on different machines.
- Quick workspace setup
Project launch and setup are reduced to a few commands, allowing new employees to start almost instantly and minimizing the time spent on costly environment setup.
- Security and isolation
Each Dev Container is fully isolated from your operating system, facilitating experimentation with new tools and technologies without affecting the settings or compatibility of your current tooling.
- Ease of maintenance and updates
Updating tools and dependencies in a containerized environment does not require the lengthy and complex procedures often associated with traditional working environments.
- Remote development capability
The container can be run in a remote environment, and its resources and capabilities become available during development.
Scenarios for creating Dev Containers
In PhpStorm, there are various scenarios that you can use to start a Dev Container:
From an opened project inside the IDE. For more information, refer to Start Dev Container inside IDE.
From the IDE Welcome screen. For more information, refer to Start Dev Container from the IDE welcome screen.
From a remote server. For more information, refer to Start Dev Container for a remote project.