Auf dieser Seite wird beschrieben, wie Sie Cloud Code for VS Code für die Remote-Entwicklung verwenden, d. h. wie Sie Ihre Codebasis in einem Remote-Container öffnen, in dem Ihre Anwendung erstellt, debuggt und bereitgestellt wird. Dadurch wird eine portable Anwendung erstellt, unabhängig vom Betriebssystem Ihres Entwicklungsrechners.
Vorbereitung
Zusätzlich zur unter Cloud Code-Erweiterung installieren beschriebenen Einrichtung müssen Sie das VS Code-Erweiterungspaket Remote Development installieren.
Einrichtung
Wenn Sie einen
.devcontainer
-Ordner mit einem Dockerfile und einerDevcontainer.json
-Datei für die von Ihnen verwendete Sprache einrichten möchten, klicken Sie aufRemote-Fenster öffnen > Konfigurationsdateien für Entwicklungscontainer hinzufügen. Alternativ können Sie der Anleitung unter Remote-Entwicklung in Containern folgen.
Nachdem Sie den Anweisungen gefolgt sind, enthält Ihr Arbeitsbereich Folgendes:
Dockerfile: Hiermit wird ein Container-Image definiert, das die Entwicklertools enthält, die in einem Remote-Entwicklungscontainer installiert werden sollen.
Devcontainer.json
: Gibt an, wie die VS Code-Erweiterung „Remote-Tools“ den Remote-Entwicklungscontainer ausführen soll.
Öffnen Sie die Dockerfile und fügen Sie eine Anleitung zum Installieren der Google Cloud CLI und Skaffold hinzu. Aktuelle Befehle finden Sie in den Installationsanleitungen.
Fügen Sie in der Dockerfile eine Anleitung zum Kopieren der gcloud CLI- und Skaffold-Konfigurationen von localhost vor dem Befehl
>> $HOME/.bashrc
hinzu. Alternativ können Sie die Befehle zum Installieren der gcloud CLI und Skaffold neu schreiben.# 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' \
Öffnen Sie die Datei
Devcontainer.json
und fügen Sie die folgenden Ausführungsargumente hinzu, um die gcloud-CLI und die Skaffold-Konfigurationen von localhost zu kopieren:"-e", "SYNC_LOCALHOST_KUBECONFIG=true", "-e", "SYNC_LOCALHOST_GCLOUD=true",
Nachdem Sie die erforderlichen Inhalte in die Dateien kopiert haben, klicken Sie auf
Remote-Fenster öffnen.
Beispiel für eine devcontainer.json-Datei
Die Datei devcontainer.json
gibt der Remote Container-Erweiterung an, welche Ports im Container freigegeben werden sollen, wie Laufwerke bereitgestellt werden und welche Erweiterungen im Remote-Container installiert werden sollen. In der folgenden Beispieldatei devcontainer.json
wird angegeben, dass die Remote-Container-Erweiterung die Cloud Code-Erweiterung für VS Code installieren soll:
"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"
]
Nächste Schritte
- Lesen Sie die Visual Studio-Dokumentation zur Remote-Entwicklung mit SSH.
- In dieser Anleitung erfahren Sie, wie Sie Visual Studio Code in einem Docker-Container ausführen, indem Sie die Erweiterung „Dev Containers“ verwenden.