Asociación a procesos que se ejecutan en contenedores de Docker
Con Visual Studio, puede depurar aplicaciones que se ejecutan en un contenedor de Docker en Windows o en un contenedor de Docker de .NET Core en Linux.
Requisitos previos
Si aún no está presente en el servidor Linux, debe instalar el servidor SSH, descomprimirlo e instalarlo con curl o wget. Por ejemplo, en Ubuntu puede hacerlo mediante la ejecución de:
sudo apt-get install openssh-server unzip curl
El Secure File Transfer Protocol (SFTP) también debe estar habilitado. La mayoría de las distribuciones SSH instalan y habilitan SFTP de forma predeterminada, pero no siempre es así.
Asociación a un proceso que se ejecuta en un contenedor de Docker de Linux
Puede asociar el depurador de Visual Studio a un proceso que se ejecuta en un contenedor de Docker de .NET Core de Linux en el equipo local o remoto mediante el cuadro de diálogo Asociar al proceso.
Importante
Para usar esta característica, debe tener acceso local al código fuente.
Para asociar a un proceso en ejecución en un contenedor de Docker de Linux:
En Visual Studio, seleccione Depurar > Asociar al proceso (CTRL+ALT+P) para abrir el cuadro de diálogo Asociar al proceso.
Establezca Tipo de conexión en Docker (contenedor de Linux) .
Seleccione Buscar... para establecer el Destino de conexión mediante el cuadro de diálogo Seleccionar contenedor de Docker.
Puede depurar un proceso de contenedor de Docker de forma local o remota.
Para depurar un proceso de contenedor de Docker localmente:
Establezca Docker CLI host (Host de CLI de Docker) en Máquina local.
Seleccione un contenedor en ejecución con el que establecer la conexión de la lista y presione Aceptar.
Para depurar un proceso de contenedor de Docker de forma remota:
Puede conectarse a un proceso en ejecución en un contenedor Docker mediante una de las dos opciones. La primera opción, usar SSH, es idónea si no tiene herramientas de Docker instaladas en la máquina local. Si tiene herramientas de Docker instaladas localmente y tiene un demonio de Docker que está configurado para aceptar solicitudes remotas, pruebe la segunda opción: usar un demonio de Docker.
Para conectarse a un equipo remoto a través de SSH:
- Seleccione Agregar... para conectarse a un sistema remoto.
- Escriba la información de conexión necesaria y elija Conectar.
- Tras conectarse a SSH, seleccione un contenedor en ejecución al que asociarse y seleccione Aceptar.
- Seleccione Agregar... para conectarse a un sistema remoto.
Para establecer el destino en un contenedor remoto que ejecuta un proceso a través de un demonio Docker:
- Especifique la dirección del demonio (es decir, a través de TCP, IP, etc.) en Docker host (Optional) (Host de Docker [opcional]) y, a continuación, seleccione Actualizar.
- Tras conectarse al demonio correctamente, seleccione un contenedor en ejecución al que asociarse y seleccione Aceptar.
Elija el proceso de contenedor correspondiente en la lista Procesos disponibles y seleccione Asociar para empezar a depurar el proceso de contenedor de C# en Visual Studio.
Asociación a un proceso que se ejecuta en un contenedor de Docker de Windows
Puede asociar el depurador de Visual Studio a un proceso que se ejecuta en un contenedor de Docker de Windows en el equipo local mediante el cuadro de diálogo Asociar al proceso.
Importante
Para usar esta característica con un proceso de .NET Core, debe instalar la carga de trabajo de desarrollo multiplataforma de .NET Core y tener acceso local al código fuente.
Para asociar a un proceso en ejecución en un contenedor de Docker de Windows:
En Visual Studio, seleccione Depurar > Asociar al proceso (o CTRL+ALT+P) para abrir el cuadro de diálogo Asociar al proceso .
Establezca Tipo de conexión en Docker (contenedor de Windows) .
Seleccione Buscar... para establecer el Destino de conexión mediante el cuadro de diálogo Seleccionar contenedor de Docker.
Importante
El proceso de destino debe tener la misma arquitectura de procesador que el contenedor de Windows de Docker en el que se está ejecutando.
El establecimiento del destino en un contenedor remoto a través de SSH no está disponible actualmente y solo puede realizarse mediante un demonio de Docker.
Para establecer el destino en un contenedor remoto que ejecuta un proceso a través de un demonio Docker:
Especifique la dirección del demonio (es decir, a través de TCP, IP, etc.) en Docker host (Optional) (Host de Docker [opcional]) y, a continuación, seleccione Actualizar.
Tras conectarse al demonio correctamente, seleccione un contenedor en ejecución al que asociarse y seleccione Aceptar.
Elija el proceso de contenedor correspondiente en la lista Procesos disponibles y seleccione Asociar para empezar a depurar el proceso de contenedor de C#.