Auf dieser Seite wird erläutert, wie Sie Cloud Code für die Remote-Entwicklung von VS Code verwenden, um Ihre Codebasis in einem Remote-Container zu öffnen, in dem Ihre Anwendung erstellt, debuggen und bereitgestellt wird. Dadurch wird eine Anwendung erstellt, die unabhängig vom Betriebssystem Ihres Entwicklungscomputers portierbar ist.
Vorbereitung
Installieren Sie zusätzlich zu der unter Cloud Code-Erweiterung installieren beschriebenen Einrichtung das VS Code-Erweiterungspaket Remote Development.
Einrichtung
Klicken Sie zum Einrichten eines
.devcontainer
-Ordners mit einem Dockerfile und einerDevcontainer.json
-Datei, die für die von Ihnen verwendete Sprache konfiguriert sind, auf Remote-Fenster öffnen > Entwickler-Containerkonfigurationsdateien hinzufügen. Alternativ können Sie die Schritte unter Remote-Entwicklung in Containern ausführen.Nachdem Sie der Anleitung gefolgt sind, enthält Ihr Arbeitsbereich Folgendes:
Dockerfile: definiert ein Container-Image, das die Entwicklertools enthält, die in einem Remote-Entwicklungscontainer installiert werden sollen.
Devcontainer.json
: Weist die VS Code Remote Tools-Erweiterung an, den Remote-Entwicklungscontainer auszuführen.
Öffnen Sie das Dockerfile und fügen Sie eine Anleitung zum Installieren der Google Cloud CLI und von Skaffold hinzu. Aktuelle Befehle finden Sie in den Installationsanleitungen.
Fügen Sie im Dockerfile vor dem Befehl
>> $HOME/.bashrc
eine Anleitung zum Kopieren der gcloud CLI und der Skaffold-Konfigurationen des lokalen Hosts hinzu. Alternativ können Sie die Befehle neu schreiben, um die gcloud CLI und Skaffold zu installieren.# 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 Skaffold-Konfigurationen von localhost zu kopieren:"-e", "SYNC_LOCALHOST_KUBECONFIG=true", "-e", "SYNC_LOCALHOST_GCLOUD=true",
Wenn alle Dateien den erforderlichen Inhalt haben, klicken Sie auf Remote-Fenster öffnen.
Beispiel für eine devcontainer.json-Datei
Die Datei devcontainer.json
teilt der Remote Container-Erweiterung mit, welche Ports im Container freigegeben werden sollen, wie Laufwerke bereitgestellt und welche Erweiterungen im Remote-Container installiert werden sollen. Die folgende Beispieldatei devcontainer.json
gibt an, dass die Remote Container-Erweiterung die Cloud Code for VS Code-Erweiterung 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
- Visual Studio-Dokumentation zur Remoteentwicklung mit SSH
- Sehen Sie sich eine Anleitung zur Ausführung von Visual Studio Code in einem Docker-Container mithilfe der Dev-Container-Erweiterung an.