ult*_*tle 12 github docker codespaces vscode-devcontainer github-codespaces
首先,问题是:有没有办法为 GitHub Codespace 选择平台(例如 x86_64、AMD64、ARM64)?
这是我到目前为止发现的:
尝试1(不起作用):
在 GitHub.com 中,您可以为 Codespace 选择“机器”,但唯一的选项是 RAM 和磁盘大小。
尝试2(编辑:不起作用): devcontainer.json
创建 Codespace 时,您可以通过创建包含两个文件的顶级.devcontainer
文件夹来指定选项:devcontainer.json
和Dockerfile
在这里您可以自定义运行时、安装的软件包等,但文档没有提及任何有关确定架构的信息...
...但是,VSCode 文档devcontainer.json
有一个runArgs
选项,“接受 Docker CLI 参数”...
--platform 上的 Docker CLI 文档说你应该能够传递--platform linux/amd64
or --platform linux/arm64
,但是......
当我尝试这样做时,代码空间会挂起,永远不会完成构建。
尝试 3(进行中):指定Dockerfile
这条路线似乎是最有前途的,但它对我来说都是新的(容器化、代码空间、docker)。尝试 2 和尝试 3 可能会同时发挥作用。不过,目前有太多新的动人的部分,我需要外部帮助。
dpkg --print-architecture
或uname -a
]参考资料:
https://code.visualstudio.com/docs/remote/devcontainerjson-reference
https://docs.docker.com/engine/reference/commandline/run/
https://docs.docker.com/engine/reference /builder/
https://docs.docker.com/desktop/multi-arch/
https://docs.docker.com/buildx/working-with-buildx/
编辑:2021 年 12 月
我收到了 GitHub 支持的回复:
Codespaces 的 VM 主机仅为 x86_64,我们不提供任何 ARM64 机器。
所以目前来说,设置平台什么也不做,或者失败。
但如果它们最终支持多个平台,您应该能够(在 Dockerfile 中)
RUN --platform=arm64|amd64|x86-64 [image-name]
,
这在 Docker 的非云版本中对我有用。
原答案:
我可能已经回答了我自己的问题
在Dockerfile
:
我有RUN alpine
变成
RUN --platform=linux/amd64 alpine
或者
RUN --platform=linux/x86-64 alpine
在命令行中检查
uname -a
打印架构。
仍在验证,但似乎很有希望。 [编辑:不]
因此,尽管有上述情况,我只能让 GitHub 代码空间运行 x86-64。尽管如此,上面的语法似乎是正确的。
线索:
在构建代码空间时出现的日志中,我看到target OS: x86
也许 GitHub 只是还不支持其他架构。仍在调查中。
归档时间: |
|
查看次数: |
1782 次 |
最近记录: |