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.

Wymagania 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

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

Ważne

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

Uwaga

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. Na przykład można zainstalować program Open SSH Server (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 pozycję Dołącz debugowanie > do procesu (CTRL+ALT+P), aby otworzyć okno dialogowe Dołączanie do procesu .

  2. Ustaw wartość Typ połączenia na platformę Docker (Kontener systemu Linux)..

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

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

  3. Wybierz pozycję Znajdź..., aby ustawić element docelowy połączenia za pośrednictwem okna dialogowego Wybieranie kontenera platformy Docker.

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

    • Aby debugować proces kontenera platformy Docker lokalnie:

      1. Ustaw hosta interfejsu wiersza polecenia platformy Docker na Komputer lokalny.

      2. Wybierz uruchomiony kontener do dołączenia z listy i naciśnij przycisk 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 nawiązać połączenie z systemem zdalnym.
          Zrzut ekranu przedstawiający nawiązywanie połączenia z systemem zdalnym.
          Zrzut ekranu przedstawiający nawiązywanie połączenia z systemem zdalnym.
        2. Wprowadź wymagane informacje o połączeniu i wybierz pozycję Połącz.
        3. Po nawiązaniu połączenia z protokołem SSH wybierz uruchomiony kontener do dołączenia, a następnie wybierz przycisk OK.
      • Aby ustawić element docelowy na kontener zdalny, w którym jest uruchamiany 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 przycisk OK.
  4. Wybierz odpowiedni proces kontenera z listy Dostępne procesy i wybierz pozycję Dołącz , aby rozpocząć debugowanie procesu kontenera języka 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 platformę Docker (Kontener systemu Linux) i wybrano proces dotnet.

    Zrzut ekranu przedstawiający okno dialogowe Dołączanie do procesu w programie Visual Studio. Typ połączenia jest ustawiony na platformę Docker (Kontener systemu 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żne

Aby użyć tej funkcji z procesem .NET Core, należy zainstalować obciążenie Programowanie międzyplatformowe platformy .NET Core i mieć dostęp lokalny do kodu źródłowego.

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

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

  2. Ustaw wartość Typ połączenia na platformę Docker (Kontener systemu Windows).

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

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

  3. Wybierz pozycję Znajdź..., aby ustawić element docelowy połączenia przy użyciu okna dialogowego Wybieranie kontenera platformy Docker.

    Ważne

    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 na kontener zdalny, w którym jest uruchamiany proces za pośrednictwem demona platformy Docker:

    1. Określ adres demona (czyli za pośrednictwem protokołu TCP, IP itd.) w obszarze Host 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 przycisk OK.

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

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

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