rancher-sandbox / rancher-desktop

Container Management and Kubernetes on the Desktop
https://rancherdesktop.io
Apache License 2.0
5.92k stars 280 forks source link

RD IDE Integration #1383

Open evertonlperes opened 2 years ago

evertonlperes commented 2 years ago

Preflight Checklist

Problem Description

Some of your users would like to have RD integrated to different IDEs, e.g.: VS20XX, IntelliJ, and etc. Also it worth to include the integration process into our docs.

Proposed Solution

Additional Information

No response

jandubois commented 2 years ago

I'm wondering what "integration" means here; please be more specific.

I know VS Code has specific support for containers, and that works as-is with Rancher Desktop as long as you use the dockerd/moby runtime, so VS Code has a docker socket to talk too.

Beyond that, what exactly is required to "integrate"?

evertonlperes commented 2 years ago

When I was working with PHPStorm - JetBrains, the IDE has an option to "integrate" Docker into the IDE (see here).

I'm not 100% sure, at our side, if we need to implement code or it's only a documentation matter, as long the user selects moby/dockerd container run time.

This feature request came up from our users on Rancher Slack:

Ref Visual Studio 2022: https://docs.microsoft.com/en-us/visualstudio/containers/overview?view=vs-2022#prerequisites-2

Ramaraj-Marimuthu commented 2 years ago

Hi @jandubois ,

We are facing hanging issue while deploying .NET Core application in Docker with Rancher Desktop and Visual Studio 2022. Could you please help us to fix this?

Note: Same .NET Core application working properly with Docker Desktop and Visual Studio 2022.

Configurations:

Rancher Desktop Version - 1.0.0 Rancher Desktop Kubernetes Version - 1.23.3 Which container runtime are you using? - dockerd (moby) What operating system are you using? - Windows 10 Operating System / Build Version – 19042.1466 What CPU architecture are you using? - x64

Replication Procedure:

  1. Install Rancher Desktop in Windows machine and run it with dockerd (moby) container runtime.
  2. Create .NET Core application with docker support by referring below link, (Attached a tried sample ConsoleApp5.zip) https://docs.microsoft.com/en-us/visualstudio/containers/overview?view=vs-2022 https://docs.microsoft.com/en-us/dotnet/core/tutorials/with-visual-studio?pivots=dotnet-6-0
  3. Open the created application in Visual Studio 2022 and run the application in Docker setup. image
  4. Visual Studio will get hang after created the docker image using Rancher Desktop. Please find the Visual Studio Screenshot below,

Note: Docker image created properly using Rancher Desktop and Visual Studio get hang while running a Rancher Desktop created docker image

image

Please find the docker file execution command of Visual Studio 2022,

========== Checking for Container Prerequisites ==========
Verifying that Docker Desktop is installed...
Docker Desktop is installed.
========== Verifying that Docker Desktop is running... ==========
Verifying that Docker Desktop is running...
Docker Desktop is running.
========== Verifying Docker OS ==========
Verifying that Docker Desktop's operating system mode matches the project's target operating system...
Docker Desktop's operating system mode matches the project's target operating system.
========== Pulling Required Images ==========
Checking for missing Docker images...
Pulling Docker images. To cancel this download, close the command prompt window.
docker pull mcr.microsoft.com/dotnet/runtime:3.1
docker pull mcr.microsoft.com/dotnet/sdk:3.1
Docker images are ready.
========== Warming up container(s) for ConsoleApp5 ==========
Starting up container(s)...
docker build -f "D:\Tasks\DocIO\BugFixing\Rancherdesktop\ConsoleApp5\Dockerfile" --force-rm -t consoleapp5:dev --target base  --label "com.microsoft.created-by=visual-studio" --label "com.microsoft.visual-studio.project-name=ConsoleApp5" "D:\Tasks\DocIO\BugFixing\Rancherdesktop\ConsoleApp5" 
Sending build context to Docker daemon  9.728kB

Step 1/4 : FROM mcr.microsoft.com/dotnet/runtime:3.1 AS base
 ---> 1183ca2251c2
Step 2/4 : WORKDIR /app
 ---> Running in 75e77a7519d8
Removing intermediate container 75e77a7519d8
 ---> f45712f9fe04
Step 3/4 : LABEL com.microsoft.created-by=visual-studio
 ---> Running in b3cff9628db0
Removing intermediate container b3cff9628db0
 ---> 8d2a10d33054
Step 4/4 : LABEL com.microsoft.visual-studio.project-name=ConsoleApp5
 ---> Running in cc864cdb7cf0
Removing intermediate container cc864cdb7cf0
 ---> ae2e149d5060
Successfully built ae2e149d5060
Successfully tagged consoleapp5:dev
SECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host. All files and directories added to build context will have '-rwxr-xr-x' permissions. It is recommended to double check and reset permissions for sensitive files and directories.
docker run -dt -v "C:\Users\RamarajMarimuthu\vsdbg\vs2017u5:/remote_debugger:rw" -v "D:\Tasks\DocIO\BugFixing\Rancherdesktop\ConsoleApp5:/app" -v "D:\Tasks\DocIO\BugFixing\Rancherdesktop\ConsoleApp5:/src/" -v "C:\Users\RamarajMarimuthu\.nuget\packages\:/root/.nuget/fallbackpackages4" -v "C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages:/root/.nuget/fallbackpackages" -v "C:\Program Files (x86)\Microsoft\Xamarin\NuGet\:/root/.nuget/fallbackpackages2" -v "C:\Program Files\dotnet\sdk\NuGetFallbackFolder:/root/.nuget/fallbackpackages3" -e "DOTNET_USE_POLLING_FILE_WATCHER=1" -e "NUGET_PACKAGES=/root/.nuget/fallbackpackages4" -e "NUGET_FALLBACK_PACKAGES=/root/.nuget/fallbackpackages;/root/.nuget/fallbackpackages2;/root/.nuget/fallbackpackages3;/root/.nuget/fallbackpackages4" --name ConsoleApp5 --entrypoint tail consoleapp5:dev -f /dev/null 
65826df0b52c23a18cf0cc7cedeea74c5bce94496921bccef8ac39ceaea6f55c

Please find the created docker image from below screenshot,

image

Thanks in advance.

mook-as commented 2 years ago

@Ramaraj-Marimuthu I believe that's a duplicate of #1171 and isn't really any integration to be done on our side.

jandubois commented 2 years ago

@Ramaraj-Marimuthu Please file a new Github issue instead of piggy-backing on an existing one, unless you know it is the same problem, and not just related. That helps us to keep the discussions separate.

The problem with Docker applications hanging is a duplicate of #1171, as @mook-as already wrote, and should be fixed in the 1.0.1 patch release which should be available by tomorrow. Please test again with that version, and raise a new issue if your problem persists!

Ramaraj-Marimuthu commented 2 years ago

@mook-as & @jandubois - Thank you for your updates.

Reported hanging issue is resolved in Rancher Desktop v1.0.1.

Do we have any options to find a states (Memory Usage, CPU Usage) of container in Rancher Desktop ? (similar to Docker Desktop)

evertonlperes commented 2 years ago

@mook-as & @jandubois - Thank you for your updates.

Reported hanging issue is resolved in Rancher Desktop v1.0.1.

Do we have any options to find a states (Memory Usage, CPU Usage) of container in Rancher Desktop ? (similar to Docker Desktop)

@Ramaraj-Marimuthu Please, for any other question, open a discussion (Q&A). This is a feature request card related to the IDE Integration. Feel free to start a new discussion or a new issue, outside of this one. Thanks for understanding.

jtravee commented 2 years ago

When I was working with PHPStorm - JetBrains, the IDE has an option to "integrate" Docker into the IDE (see here).

I'm not 100% sure, at our side, if we need to implement code or it's only a documentation matter, as long the user selects moby/dockerd container run time.

This feature request came up from our users on Rancher Slack:

Ref Visual Studio 2022: https://docs.microsoft.com/en-us/visualstudio/containers/overview?view=vs-2022#prerequisites-2

When I was working with PHPStorm - JetBrains, the IDE has an option to "integrate" Docker into the IDE (see here).

I'm not 100% sure, at our side, if we need to implement code or it's only a documentation matter, as long the user selects moby/dockerd container run time.

This feature request came up from our users on Rancher Slack:

Ref Visual Studio 2022: https://docs.microsoft.com/en-us/visualstudio/containers/overview?view=vs-2022#prerequisites-2

Please provide more info for documentation of IDE integration (if available).

evertonlperes commented 2 years ago

Please provide more info for documentation of IDE integration (if available).

I'll put some steps together and share it with you @jtravee -- thanks for following it up.