thc*_*ark 7 visual-studio-code devcontainer remote-containers
在这个问题上建议应该.devcontainer.json
承诺。
我同意,但有一个问题。我需要将本地目录绑定挂载到我的 devcontainer 中。这需要我的同事没有的本地路径。目的是将我的 GCP 凭证挂载到我的 devcontainer 中,以便与 gcloud CLI 一起使用。
我的 .devcontainer.json 看起来像:
{
"image": "some/image",
// ... settings, extensions, forwardPorts, postCreateCommand, remoteUser, runArgs ...
// Mount gcloud configuration directory
"mounts": [
"source=/Users/myname/.config/gcloud,target=/gcp/config,type=bind,consistency=cached"
]
}
Run Code Online (Sandbox Code Playgroud)
这是可行的,但如果我提交这个,它会破坏其他人的设置。
如何创建到我本地定义的 vscode devcontainer 的绑定挂载,而不添加条目.devcontainer.json
?
解决方法
一种解决方法是将其转换为 docker-compose 设置,然后定义一个docker-compose.developer-overrides.yml
不提交但必需的文件。但这似乎是错误的解决方案,应该有一个我错过的设置覆盖。
另一个方法是挂载用户的主目录(vscode 用户指南展示了如何为 Windows 和 Linux 用户执行此操作:
"source=${localEnv:HOME}${localEnv:USERPROFILE},target=/host-home-folder,type=bind,consistency=cached"
...但是所有用户都必须将其 gcloud 配置安装在本地计算机的同一位置;我我不确定这是否可能。
小智 2
我将配置保存在 Docker 卷中。有一个例子:
devcontainer.json
文件
{
"initializeCommand": ["init-host.sh"],
"mounts": [
"type=volume,source=devvolume-gcloud,target=/root/.config/gcloud"
]
}
Run Code Online (Sandbox Code Playgroud)
init-host.sh
文件
#!/usr/bin/env sh
set -e
docker context use default
docker volume create devvolume-gcloud
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2947 次 |
最近记录: |