En esta página se explica cómo usar la función Desarrollo remoto de Cloud Code para VS Code, es decir, cómo abrir tu base de código en un contenedor remoto donde se compila, depura y despliega tu aplicación. De esta forma, se crea una aplicación portátil, independientemente del sistema operativo de tu máquina de desarrollo.
Requisitos previos
Además de la configuración descrita en Instalar la extensión de Cloud Code, instala el paquete de extensiones de VS Code Desarrollo remoto.
Configuración
Para configurar una carpeta
.devcontainer
con un archivo Dockerfile y un archivoDevcontainer.json
configurado para el idioma que estés usando, haz clic enAbrir una ventana remota > Añadir archivos de configuración de contenedor de desarrollo. También puedes seguir los pasos que se indican en Desarrollo remoto en contenedores.
Después de seguir las indicaciones, tu espacio de trabajo incluirá lo siguiente:
Dockerfile: define una imagen de contenedor que contiene las herramientas de desarrollo que se van a instalar en un contenedor de desarrollo remoto.
Devcontainer.json
: indica a la extensión Herramientas remotas de VS Code cómo ejecutar el contenedor de desarrollo remoto.
Abre el archivo Dockerfile y añade instrucciones para instalar Google Cloud CLI y Skaffold. Para ver los comandos actualizados, consulta las guías de instalación.
En el archivo Dockerfile, añade instrucciones para copiar las configuraciones de la CLI de gcloud y de Skaffold de localhost antes del comando
>> $HOME/.bashrc
. También puedes reescribir los comandos para instalar la CLI de gcloud y Skaffold.# Copy localhost's ~/.kube/config file into the container and swap out localhost # for host.docker.internal whenever a new shell starts to keep them in sync. RUN echo '\n\ if [ "$SYNC_LOCALHOST_KUBECONFIG" == "true" ]; then\n\ mkdir -p $HOME/.kube\n\ cp -r $HOME/.kube-localhost/* $HOME/.kube\n\ sed -i -e "s/localhost/host.docker.internal/g" $HOME/.kube/config\n\ \n\ fi' \ if [ "$SYNC_LOCALHOST_GCLOUD" == "true" ]; then\n\ mkdir -p $HOME/.config/gcloud\n\ cp -r $HOME/.gcloud-localhost/* $HOME/.config/gcloud\n\ \n\ fi' \
Abre el archivo
Devcontainer.json
y añade los siguientes argumentos de ejecución para copiar la CLI de gcloud y las configuraciones de Skaffold desde localhost:"-e", "SYNC_LOCALHOST_KUBECONFIG=true", "-e", "SYNC_LOCALHOST_GCLOUD=true",
Una vez que los archivos tengan el contenido necesario, haz clic en
Abrir una ventana remota.
Archivo devcontainer.json de ejemplo
El archivo devcontainer.json
indica a la extensión Remote Container qué puertos se deben exponer en el contenedor, cómo montar unidades y qué extensiones se deben instalar en el contenedor remoto. El siguiente archivo devcontainer.json
de ejemplo
especifica que la extensión Remote Container debe instalar la
extensión Cloud Code para VS Code:
"runArgs": [
"-v","/var/run/docker.sock:/var/run/docker.sock",
"--mount", "type=bind,source=${env:HOME}${env:USERPROFILE}/.kube,target=/root/.kube-localhost",
"--mount", "type=bind,source=${env:HOME}${env:USERPROFILE}/.config/gcloud,target=/root/.gcloud-localhost",
"-e", "SYNC_LOCALHOST_KUBECONFIG=true",
"-e", "SYNC_LOCALHOST_GCLOUD=true",
"--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined"
]
Siguientes pasos
- Consulta la documentación de Visual Studio sobre el desarrollo remoto mediante SSH.
- Sigue un tutorial para ejecutar Visual Studio Code en un contenedor Docker con la extensión Dev Containers.