mirror of https://github.com/dapr/docs.git
Merge branch 'v1.12' into update-multi-app-run-steps
This commit is contained in:
commit
b989988e38
|
|
@ -0,0 +1,81 @@
|
|||
---
|
||||
type: docs
|
||||
title: "Debugging Dapr Apps running in Docker Compose"
|
||||
linkTitle: "Debugging Docker Compose"
|
||||
weight: 300
|
||||
description: "Debug Dapr apps locally which are part of a Docker Compose deployment"
|
||||
---
|
||||
|
||||
The goal of this article is to demonstrate a way to debug one or more daprised applications (via your IDE, locally) while remaining integrated with the other applications that have deployed in the docker compose environment.
|
||||
|
||||
Let's take the minimal example of a docker compose file which contains just two services :
|
||||
- `nodeapp` - your app
|
||||
- `nodeapp-dapr` - the dapr sidecar process to your `nodeapp` service
|
||||
|
||||
#### compose.yml
|
||||
```yaml
|
||||
services:
|
||||
nodeapp:
|
||||
build: ./node
|
||||
ports:
|
||||
- "50001:50001"
|
||||
networks:
|
||||
- hello-dapr
|
||||
nodeapp-dapr:
|
||||
image: "daprio/daprd:edge"
|
||||
command: [
|
||||
"./daprd",
|
||||
"--app-id", "nodeapp",
|
||||
"--app-port", "3000",
|
||||
"--resources-path", "./components"
|
||||
]
|
||||
volumes:
|
||||
- "./components/:/components"
|
||||
depends_on:
|
||||
- nodeapp
|
||||
network_mode: "service:nodeapp"
|
||||
networks:
|
||||
hello-dapr
|
||||
```
|
||||
|
||||
When you run this docker file with `docker compose -f compose.yml up` this will deploy to Docker and run as normal.
|
||||
|
||||
But how do we debug the `nodeapp` while still integrated to the running dapr sidecar process, and anything else that you may have deployed via the Docker compose file?
|
||||
|
||||
Lets start by introducing a *second* docker compose file called `compose.debug.yml`. This second compose file will augment with the first compose file when the `up` command is ran.
|
||||
|
||||
#### compose.debug.yml
|
||||
```yaml
|
||||
services:
|
||||
nodeapp: # Isolate the nodeapp by removing its ports and taking it off the network
|
||||
ports: !reset []
|
||||
networks: !reset
|
||||
- ""
|
||||
nodeapp-dapr:
|
||||
command: ["./daprd",
|
||||
"--app-id", "nodeapp",
|
||||
"--app-port", "8080", # This must match the port that your app is exposed on when debugging in the IDE
|
||||
"--resources-path", "./components",
|
||||
"--app-channel-address", "host.docker.internal"] # Make the sidecar look on the host for the App Channel
|
||||
network_mode: !reset "" # Reset the network_mode...
|
||||
networks: # ... so that the sidecar can go into the normal network
|
||||
- hello-dapr
|
||||
ports:
|
||||
- "3500:3500" # Expose the HTTP port to the host
|
||||
- "50001:50001" # Expose the GRPC port to the host (Dapr Worfklows depends upon the GRPC channel)
|
||||
|
||||
```
|
||||
|
||||
Next, ensure that your `nodeapp` is running/debugging in your IDE of choice, and is exposed on the same port that you specifed above in the `compose.debug.yml` - In the example above this is set to port `8080`.
|
||||
|
||||
Next, stop any existing compose sessions you may have started, and run the following command to run both docker compose files combined together :
|
||||
|
||||
`docker compose -f compose.yml -f compose.debug.yml up`
|
||||
|
||||
You should now find that the dapr sidecar and your debugging app will have bi-directional communication with each other as if they were running together as normal in the Docker compose environment.
|
||||
|
||||
**Note** : It's important to highlight that the `nodeapp` service in the docker compose environment is actually still running, however it has been removed from the docker network so it is effectively orphaned as nothing can communicate to it.
|
||||
|
||||
**Demo** : Watch this video on how to debug local Dapr apps with Docker Compose
|
||||
|
||||
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/nWatANwaAik?start=1738" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||||
|
|
@ -45,11 +45,17 @@ The table below shows the versions of Dapr releases that have been tested togeth
|
|||
|
||||
| Release date | Runtime | CLI | SDKs | Dashboard | Status | Release notes |
|
||||
|--------------------|:--------:|:--------|---------|---------|---------|------------|
|
||||
| October 11th 2023 | 1.12.0</br> | 1.12.0 | Java 1.10.0 </br>Go 1.9.0 </br>PHP 1.1.0 </br>Python 1.11.0 </br>.NET 1.12.0 </br>JS 3.1.2 | 0.14.0 | Supported (current) | [v1.12.0 release notes](https://github.com/dapr/dapr/releases/tag/v1.12.0) |
|
||||
| November 18th 2023 | 1.12.2</br> | 1.12.0 | Java 1.10.0 </br>Go 1.9.1 </br>PHP 1.2.0 </br>Python 1.12.0 </br>.NET 1.12.0 </br>JS 3.2.0 | 0.14.0 | Supported (current) | [v1.12.2 release notes](https://github.com/dapr/dapr/releases/tag/v1.12.2) |
|
||||
| November 16th 2023 | 1.12.1</br> | 1.12.0 | Java 1.10.0 </br>Go 1.9.1 </br>PHP 1.2.0 </br>Python 1.12.0 </br>.NET 1.12.0 </br>JS 3.2.0 | 0.14.0 | Supported | [v1.12.1 release notes](https://github.com/dapr/dapr/releases/tag/v1.12.1) |
|
||||
| October 11th 2023 | 1.12.0</br> | 1.12.0 | Java 1.10.0 </br>Go 1.9.0 </br>PHP 1.1.0 </br>Python 1.11.0 </br>.NET 1.12.0 </br>JS 3.1.2 | 0.14.0 | Supported | [v1.12.0 release notes](https://github.com/dapr/dapr/releases/tag/v1.12.0) |
|
||||
| November 18th 2023 | 1.11.6</br> | 1.11.0 | Java 1.9.0 </br>Go 1.8.0 </br>PHP 1.1.0 </br>Python 1.10.0 </br>.NET 1.11.0 </br>JS 3.1.0 | 0.13.0 | Supported | [v1.11.6 release notes](https://github.com/dapr/dapr/releases/tag/v1.11.6) |
|
||||
| November 3rd 2023 | 1.11.5</br> | 1.11.0 | Java 1.9.0 </br>Go 1.8.0 </br>PHP 1.1.0 </br>Python 1.10.0 </br>.NET 1.11.0 </br>JS 3.1.0 | 0.13.0 | Supported | [v1.11.5 release notes](https://github.com/dapr/dapr/releases/tag/v1.11.5) |
|
||||
| October 5th 2023 | 1.11.4</br> | 1.11.0 | Java 1.9.0 </br>Go 1.8.0 </br>PHP 1.1.0 </br>Python 1.10.0 </br>.NET 1.11.0 </br>JS 3.1.0 | 0.13.0 | Supported | [v1.11.4 release notes](https://github.com/dapr/dapr/releases/tag/v1.11.4) |
|
||||
| August 31st 2023 | 1.11.3</br> | 1.11.0 | Java 1.9.0 </br>Go 1.8.0 </br>PHP 1.1.0 </br>Python 1.10.0 </br>.NET 1.11.0 </br>JS 3.1.0 | 0.13.0 | Supported | [v1.11.3 release notes](https://github.com/dapr/dapr/releases/tag/v1.11.3) |
|
||||
| July 20th 2023 | 1.11.2</br> | 1.11.0 | Java 1.9.0 </br>Go 1.8.0 </br>PHP 1.1.0 </br>Python 1.10.0 </br>.NET 1.11.0 </br>JS 3.1.0 | 0.13.0 | Supported | [v1.11.2 release notes](https://github.com/dapr/dapr/releases/tag/v1.11.2) |
|
||||
| June 22nd 2023 | 1.11.1</br> | 1.11.0 | Java 1.9.0 </br>Go 1.8.0 </br>PHP 1.1.0 </br>Python 1.10.0 </br>.NET 1.11.0 </br>JS 3.1.0 | 0.13.0 | Supported | [v1.11.1 release notes](https://github.com/dapr/dapr/releases/tag/v1.11.1) |
|
||||
| June 12th 2023 | 1.11.0</br> | 1.11.0 | Java 1.9.0 </br>Go 1.8.0 </br>PHP 1.1.0 </br>Python 1.10.0 </br>.NET 1.11.0 </br>JS 3.1.0 | 0.13.0 | Supported | [v1.11.0 release notes](https://github.com/dapr/dapr/releases/tag/v1.11.0) |
|
||||
| November 18th 2023 | 1.10.10</br> | 1.10.0 | Java 1.8.0 </br>Go 1.7.0 </br>PHP 1.1.0 </br>Python 1.9.0 </br>.NET 1.10.0 </br>JS 3.0.0 | 0.11.0 | Supported | [v1.10.10 release notes](https://github.com/dapr/dapr/releases/tag/v1.10.10) |
|
||||
| July 20th 2023 | 1.10.9</br> | 1.10.0 | Java 1.8.0 </br>Go 1.7.0 </br>PHP 1.1.0 </br>Python 1.9.0 </br>.NET 1.10.0 </br>JS 3.0.0 | 0.11.0 | Supported | [v1.10.9 release notes](https://github.com/dapr/dapr/releases/tag/v1.10.9) |
|
||||
| June 22nd 2023 | 1.10.8</br> | 1.10.0 | Java 1.8.0 </br>Go 1.7.0 </br>PHP 1.1.0 </br>Python 1.9.0 </br>.NET 1.10.0 </br>JS 3.0.0 | 0.11.0 | Supported | [v1.10.8 release notes](https://github.com/dapr/dapr/releases/tag/v1.10.8) |
|
||||
| May 15th 2023 | 1.10.7</br> | 1.10.0 | Java 1.8.0 </br>Go 1.7.0 </br>PHP 1.1.0 </br>Python 1.9.0 </br>.NET 1.10.0 </br>JS 3.0.0 | 0.11.0 | Supported | |
|
||||
|
|
|
|||
Loading…
Reference in New Issue