Conectar a un proceso que se está ejecutando en un contenedor de Docker
Puede depurar aplicaciones que se ejecutan en un contenedor de Docker de Windows o en un contenedor de Docker de .NET Core de Linux mediante Visual Studio.
Prerrequisitos
Si aún no está presente en el servidor Linux, debe instalar el servidor SSH, descomprimir e instalar con curl o wget. Por ejemplo, en Ubuntu puede hacerlo mediante la ejecución de:
sudo apt-get install openssh-server unzip curl
El Protocolo seguro de transferencia de archivos (SFTP) también debe estar habilitado. La mayoría de las distribuciones SSH instalan y habilitan SFTP de forma predeterminada, pero eso no siempre es el caso.
Asociar 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.
Nota
Puede usar estas instrucciones para asociar a Docker de Linux que se ejecuta en WSL a través de SSH, pero la instancia de WSL debe ejecutar primero un servidor SSH. Por ejemplo, puede instalar Open SSH Server (por ejemplo: sudo apt-get install openssh-server
), configurar el servidor editando el archivo de configuración (por ejemplo: /etc/ssh/sshd_config) e iniciar el servidor (por ejemplo: sudo service ssh start
).
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 local o remotamente.
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 de Docker mediante una de las dos opciones. La primera opción, para usar SSH, es ideal si no tiene instaladas herramientas de Docker en el equipo local. Si tiene herramientas de Docker instaladas en su equipo local y tiene un daemon de Docker configurado para aceptar solicitudes remotas, pruebe la segunda opción, utilizando un daemon de Docker.
Para conectarse a una máquina remota mediante SSH:
- Seleccione Agregar... para conectarse a un sistema remoto.
- Escriba la información de conexión necesaria y elija Connect.
- Después de conectarse a SSH, seleccione un contenedor en ejecución al que asociar y, a continuación, elija Aceptar.
- Seleccione Agregar... para conectarse a un sistema remoto.
Para configurar el objetivo en un contenedor remoto que ejecuta un proceso a través de un daemon de Docker :
- Especifique la dirección del demonio (por ejemplo, a través de TCP, IP, etc.) en el host de Docker (Opcional) y luego elija Actualizar.
- Después de conectarse al demonio correctamente, seleccione un contenedor en ejecución al que asociar y, a continuación, elija 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.
Conectar a un proceso que se ejecuta en un contenedor Docker de Windows
Puede adjuntar 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 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 ejecuta.
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 de Docker:
Especifique la dirección del demonio (por ejemplo, a través de TCP, IP, etc.) en el host de Docker (Opcional) y luego elija Actualizar.
Después de conectarse al demonio correctamente, seleccione un contenedor en ejecución al que asociar y, a continuación, elija 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#.