本頁說明如何使用 Cloud Code for VS Code Remote Development,也就是在遠端容器中開啟程式碼集,並在該容器中建構、偵錯及部署應用程式。這樣一來,無論開發機器的作業系統為何,都能建立可攜式應用程式。
必要條件
除了「安裝 Cloud Code 擴充功能」一節所述的設定外,請安裝 Remote Development VS Code 擴充功能套件。
設定
如要設定含有 Dockerfile 和
Devcontainer.json檔案的.devcontainer資料夾,並為您使用的語言設定檔案,請依序點選「Open a Remote Window」(開啟遠端視窗) >「Add Dev Container Config Files」(新增開發容器設定檔)。
或者,您也可以按照「在容器中進行遠端開發」一文中的步驟操作。按照提示操作後,工作區會包含:
Dockerfile:定義容器映像檔,其中包含要在遠端開發容器中安裝的開發人員工具。
Devcontainer.json:指示 VS Code Remote Tools 擴充功能如何執行遠端開發容器。
開啟 Dockerfile,並新增安裝 Google Cloud CLI 和 Skaffold 的指令。如需最新指令,請參閱安裝指南。
在 Dockerfile 中,新增指令來複製 localhost 的 gcloud CLI 和 Skaffold 設定,然後再執行
>> $HOME/.bashrc指令。或者,您也可以重新編寫指令,安裝 gcloud CLI 和 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' \開啟
Devcontainer.json檔案,並新增下列執行引數,從 localhost 複製 gcloud CLI 和 Skaffold 設定:"-e", "SYNC_LOCALHOST_KUBECONFIG=true", "-e", "SYNC_LOCALHOST_GCLOUD=true",確認檔案內容符合規定後,請按一下
「開啟遠端視窗」。
devcontainer.json 檔案範例
devcontainer.json 檔案會告知 Remote Container 擴充功能要在容器中公開哪些通訊埠、如何掛接磁碟機,以及要在遠端容器中安裝哪些擴充功能。下列 devcontainer.json 範例檔案指定 Remote Container 擴充功能應安裝 Cloud Code for 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"
]
後續步驟
- 請參閱 Visual Studio 說明文件,瞭解如何使用 SSH 進行遠端開發。
- 請參閱教學課程,瞭解如何在 Docker 容器中執行 Visual Studio Code,並使用開發容器擴充功能。