Udostępnij za pośrednictwem


Dołączanie do procesu uruchomionego w kontenerze platformy Docker

Aplikacje uruchomione w kontenerze platformy Docker systemu Windows lub kontenerze platformy Docker platformy .NET Core dla systemu Linux można debugować przy użyciu programu Visual Studio.

Warunki wstępne

Jeśli nie jest jeszcze obecny na serwerze z systemem Linux, musisz zainstalować serwer SSH, rozpakuj i zainstaluj za pomocą narzędzia curl lub wget. Na przykład w systemie Ubuntu możesz to zrobić, uruchamiając polecenie:

sudo apt-get install openssh-server unzip curl

Protokół SECURE File Transfer Protocol (SFTP) musi być również włączony. Większość dystrybucji SSH instaluje i domyślnie włącza protokół SFTP, ale nie zawsze tak jest.

Dołączanie do procesu uruchomionego w kontenerze platformy Docker systemu Linux

Debuggera programu Visual Studio można dołączyć do procesu uruchomionego w kontenerze Docker na platformie .NET Core działającym na systemie Linux, korzystając z okna dialogowego Dołączanie do procesu na komputerze lokalnym lub zdalnym.

Ważny

Aby korzystać z tej funkcji, musisz mieć dostęp lokalny do kodu źródłowego.

Notatka

Korzystając z tych instrukcji, możesz dołączyć do platformy Docker z systemem Linux uruchomioną w programie WSL za pośrednictwem protokołu SSH, ale wystąpienie programu WSL musi najpierw uruchomić serwer SSH. Można na przykład zainstalować serwer Open SSH (na przykład: sudo apt-get install openssh-server), skonfigurować serwer, edytując plik konfiguracji (na przykład /etc/ssh/sshd_config), a następnie uruchomić serwer (na przykład: sudo service ssh start).

Aby dołączyć do uruchomionego procesu w kontenerze platformy Docker systemu Linux:

  1. W programie Visual Studio wybierz Debugowanie > Dołącz do procesu (CTRL+ALT+P), aby otworzyć okno dialogowe Dołącz do procesu.

  2. Ustaw typ połączenia na Docker (Kontener Linux).

    Zrzut ekranu przedstawiający okno dialogowe Dołącz do procesu w programie Visual Studio z typem połączenia Docker (kontener Linux).

    Zrzut ekranu przedstawiający okno dialogowe Dołącz do procesu w programie Visual Studio z typem połączenia Docker (kontener systemu Linux).

  3. Wybierz pozycję Znajdź..., aby ustawić cel połączenia za pośrednictwem okna dialogowego Wybierz kontener platformy Docker.

    Można debugować proces kontenera platformy Docker lokalnie lub zdalnie.

    • Aby debugować proces kontenera platformy Docker lokalnie:

      1. Ustaw hosta Docker CLI na maszynę lokalną.

      2. Wybierz uruchomiony kontener, do którego chcesz dołączyć z listy, a następnie naciśnij OK.

        Zrzut ekranu przedstawiający wybieranie menu kontenera platformy Docker.

        Zrzut ekranu przedstawiający wybieranie menu kontenera platformy Docker.

    • Aby zdalnie debugować proces kontenera platformy Docker:

      Możesz nawiązać połączenie z uruchomionym procesem w kontenerze platformy Docker przy użyciu jednej z dwóch opcji. Pierwsza opcja, aby użyć protokołu SSH, jest idealna, jeśli nie masz zainstalowanych narzędzi platformy Docker na komputerze lokalnym. Jeśli masz zainstalowane lokalnie narzędzia platformy Docker i masz demona platformy Docker skonfigurowanego do akceptowania żądań zdalnych, wypróbuj drugą opcję przy użyciu demona platformy Docker.

      • Aby nawiązać połączenie z maszyną zdalną za pośrednictwem protokołu SSH:

        1. Wybierz pozycję Dodaj..., aby połączyć się z systemem zdalnym.
          zrzut ekranu przedstawiający łączenie się z systemem zdalnym.
          zrzut ekranu przedstawiający łączenie się z systemem zdalnym.
        2. Wprowadź wymagane informacje o połączeniu i wybierz pozycję Connect.
        3. Po nawiązaniu połączenia z protokołem SSH wybierz uruchomiony kontener do dołączenia, a następnie wybierz pozycję OK.
      • Aby ustawić kontener zdalny jako docelowy, który uruchamia proces za pośrednictwem demona Docker :

        1. Określ adres demona (czyli za pośrednictwem protokołu TCP, IP itd.) w obszarze hosta Docker (opcjonalnie), a następnie wybierz opcję Odśwież.
        2. Po pomyślnym nawiązaniu połączenia z demonem wybierz uruchomiony kontener, do którego chcesz się dołączyć, a następnie wybierz OK.
  4. Wybierz odpowiadający proces kontenera z listy Dostępne procesy i wybierz Dołącz, aby rozpocząć debugowanie procesu kontenera C# w programie Visual Studio!

    Zrzut ekranu przedstawiający okno dialogowe Dołączanie do procesu w programie Visual Studio. Typ połączenia jest ustawiony na Docker (kontener systemu Linux), a wybrano proces dotnet.

    Zrzut ekranu przedstawiający okno dialogowe Dołącz do procesu w programie Visual Studio. Typ połączenia jest ustawiony na Docker (Kontener Linux) i wybrano proces dotnet.

Dołączanie do procesu uruchomionego w kontenerze platformy Docker systemu Windows

Debuger programu Visual Studio można dołączyć do procesu uruchomionego w kontenerze platformy Docker systemu Windows na komputerze lokalnym przy użyciu okna dialogowego Dołączanie do procesu.

Ważny

Aby użyć tej funkcji z procesem .NET Core, należy zainstalować pakiet Programowanie wieloplatformowe .NET Core i mieć lokalny dostęp do kodu źródłowego.

Aby dołączyć do uruchomionego procesu w kontenerze platformy Docker systemu Windows:

  1. W programie Visual Studio wybierz pozycję Debugowanie > Dołączanie do procesu (lub CTRL+ALT+P), aby otworzyć okno dialogowe Dołączanie do procesu.

  2. Ustaw typ połączenia na Docker (Kontener systemu Windows).

    Zrzut ekranu przedstawiający okno dialogowe Podłącz do procesu w programie Visual Studio z typem połączenia platformy Docker (Kontener systemu Windows).

    Zrzut ekranu przedstawiający okno dialogowe w programie Visual Studio do dołączania do procesu, z typem połączenia Docker (Kontener Windows).

  3. Wybierz pozycję Znajdź..., aby ustawić cel połączenia przy użyciu okna dialogowego Wybierz kontener platformy Docker.

    Ważny

    Proces docelowy musi mieć taką samą architekturę procesora, jak kontener systemu Windows platformy Docker, na którym jest uruchomiony.

    Ustawienie elementu docelowego na kontener zdalny za pośrednictwem protokołu SSH jest obecnie niedostępne i można to zrobić tylko przy użyciu demona platformy Docker.

    Aby ustawić element docelowy kontenerowi zdalnemu uruchamiającego proces za pośrednictwem demona platformy Docker :

    1. Określ adres demona (czyli za pośrednictwem protokołu TCP, IP itd.) w obszarze hosta platformy Docker (opcjonalnie), a następnie wybierz pozycję Odśwież.

    2. Po pomyślnym nawiązaniu połączenia z demonem wybierz uruchomiony kontener do dołączenia, a następnie wybierz OK.

  4. Wybierz odpowiedni proces kontenera z listy Dostępne procesy i kliknij Dołącz, aby rozpocząć debugowanie procesu kontenera języka C#.

    Zrzut ekranu okna dialogowego Dołączanie do procesu w programie Visual Studio. Typ połączenia jest ustawiony na Docker (kontener Windows), a wybrano proces dotnet.exe.

    Zrzut ekranu przedstawiający okno dialogowe Dołącz do procesu w programie Visual Studio. Typ połączenia jest ustawiony na Docker (kontener Windows), a wybrano proces dotnet.exe.