gpt4 book ai didi

node.js - 已安装的主机卷无法从 Azure Pipelines 中的主机写入

转载 作者:行者123 更新时间:2023-12-04 19:05:30 24 4
gpt4 key购买 nike

我正在从主机到容器安装一个卷,该卷在运行 docker 容器时不会出现。

  volumes:
- "../foo:/app/foo"

foo 文件夹将由 docker 创建。容器将在 foo 内创建其他文件夹和文件。同样,主机内的另一个应用程序将在 foo 内创建其他文件夹和文件。我的期望是所有内容都应放置在容器应用程序和主机应用程序的 foo 文件夹中。

这在 Mac 中运行良好,但在 Azure Pipelines 中运行相同的操作无法从主机创建其他文件和文件夹。

Error: EACCES: permission denied, mkdir './foo'
at Object.mkdirSync (fs.js:921:3)

我尝试在卷安装末尾添加 z 但没有成功 - ../foo:/app/foo:Z。我尝试运行 chmod,但该操作不被允许。

Azure 管道:

pool:
vmImage: 'ubuntu-latest'

最佳答案

您可以尝试在管道上创建一个文件夹:

- task: CmdLine@2
inputs:
script: 'mkdir .foo'
workingDirectory: System.DefaultWorkingDirectory

这样实际上会在 System.DefaultWorkingDirectory/.foo 中创建一个 .foo 文件夹

现在,如果您想进入该文件夹,您可以执行以下操作:

- task: CmdLine@2
inputs:
script: |
cd '($System.DefaultWorkingDirectory)/.foo'
dir

或者您可以只查看代码中 ref 的完整路径:

- task: CmdLine@2
inputs:
script: |
echo '($System.DefaultWorkingDirectory)/.foo'

创建文件后,您可以使用 docker 挂载它,这里的答案可能会有所帮助:

Mounting a host directory to a docker container from yaml/compose file

本质上你必须改变你的步骤。

关于node.js - 已安装的主机卷无法从 Azure Pipelines 中的主机写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70743853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com