Auf dieser Seite wird beschrieben, wie Sie Remote Development von Cloud Code for VS Code verwenden, um Ihren Code in einem Remote-Container zu öffnen, in dem Ihre Anwendung erstellt, debuggt und bereitgestellt wird. Dadurch wird eine Anwendung erstellt, die unabhängig vom Betriebssystem Ihres Entwicklungscomputers portierbar ist.
Vorbereitung
Zusätzlich zur Einrichtung, die unter Cloud Code-Erweiterung installieren beschrieben wird, 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 auf
Remote-Fenster öffnen > Dev-Container-Konfigurationsdateien hinzufügen.
Alternativ können Sie die Schritte unter Remote-Entwicklung in Containern ausführen.Nachdem Sie den Anweisungen 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, wie der Remote-Entwicklungscontainer ausgeführt werden soll.
Öffnen Sie die Dockerfile und fügen Sie Anweisungen zum Installieren der Google Cloud CLI und Skaffold hinzu. Aktuelle Befehle finden Sie in den Installationsanleitungen.
Fügen Sie dem Dockerfile Anweisungen hinzu, um die gcloud CLI- und Skaffold-Konfigurationen von localhost vor dem Befehl
>> $HOME/.bashrczu kopieren. Alternativ können Sie die Befehle zum Installieren der gcloud CLI und von 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.jsonund 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 Ihre Dateien die erforderlichen Inhalte enthalten, klicken Sie auf
Remote-Fenster öffnen.
Beispieldatei „devcontainer.json“
Die Datei devcontainer.json teilt der Remote Container-Erweiterung mit, 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 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
- Lesen Sie die Visual Studio-Dokumentation zur Remote-Entwicklung mit SSH.
- Führen Sie Visual Studio Code in einem Docker-Container aus. Verwenden Sie dazu die Dev Containers-Erweiterung.