PyCharm 2024.3 Help

Docker Compose

Docker Compose is used to run multi-container applications. For example, you can run a web server, a backend database, and your application code as separate services. Each service can be scaled by adding more containers if necessary. This enables you to perform efficient development and testing in a dynamic environment, similar to production.

Enable the Docker plugin

This functionality relies on the Docker plugin, which is bundled and enabled in PyCharm by default. If the relevant features are not available, make sure that you did not disable the plugin.

  1. Press Ctrl+Alt+S to open settings and then select Plugins.

  2. Open the Installed tab, find the Docker plugin, and select the checkbox next to the plugin name.

PyCharm recognizes Docker Compose files and marks them with the icon. It also adds gutter icons to run various services defined in the Docker Compose file.

Docker Compose file

Run a multi-container Docker application

  1. Define necessary services in one or several Docker Compose files.

  2. In the main menu, go to Run | Edit Configurations.

  3. Click The Add icon, point to Docker and then click Docker Compose.

    The Docker Compose configuration
  4. Specify the Docker Compose files with your service definitions. If necessary, you can define the services that this configuration will start, specify environment variables, and force building of images before starting corresponding containers (that is, add the --build option for the docker compose up command).

    For more information about the available options, refer to Docker compose run configuration.

  5. Click OK to save the Docker Compose run configuration, select it in the main toolbar and click the Run button or press Shift+F10 to start the configuration.

When Docker Compose runs your multi-container application, you can use the Services tool window to control specific services and interact with containers. The containers that run as part of Docker Compose are listed under the dedicated Compose nodes, not under the Containers node (which is only for standalone containers).

Scale a service

  1. In the Services tool window, select the service you want to scale and click The Scale button or select Scale from the context menu.

  2. In the Scale dialog, specify how many containers you want for this service and click OK.

Stop a running service

  • In the Services tool window, select the service and click The Stop button or select Stop from the context menu.

Stop all running services

  • In the Services tool window, select the Compose node and click The Stop button or select Stop from the context menu.

Bring your application down

  • In the Services tool window, select the Compose node and click The Down button or select Down from the context menu.

This stops and removes containers along with all related networks, volumes, and images.

Open the Docker Compose file that was used to run the application

  • In the Services tool window, right-click the Compose node or a nested service node and then click Jump to Source in the context menu or press F4.

Debug your application

  1. Create a Run/Debug Configuration for your application.

  2. Select your configuration from the Run/Debug Configurations list on the toolbar, and press Shift+F9.

Last modified: 11 October 2024