【问题标题】:Dockerode - custom folder for containerDockerode - 容器的自定义文件夹
【发布时间】:2021-05-19 02:35:32
【问题描述】:
从昨天开始,我一直在尝试使用名为“dockerode”的 docker 库在 node.js api 的“文件夹”文件夹中为每个容器创建一个单独的文件夹。不幸的是,我没有找到任何可行的好解决方案。我查看了他们拥有的 Pterodactyl Daemon(旧)源代码,但不幸的是它也对我不起作用。你知道有什么好的解决方案可以很好地工作吗?
如果您需要更多信息,我会在这里为您写。
祝你今天休息愉快,多米
【问题讨论】:
标签:
javascript
node.js
docker
express
dockerode
【解决方案1】:
您只想创建一个临时文件夹吗?如果是这样,您可以使用 fs 模块:
const fs = require('fs');
exports.createTmpDir = (dir) => {
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir, { recursive: true });
}
};
exports.generateRandomString = (length = 15) => {
return Math.random().toString(36).substring(2, length);
};
你可以这样使用它:
// assume you call it from the root project directory
const root = ${process.cwd()}`;
// create a temp folder path. use this if you want to clean up later.
const tempDir = `${root}/tmp/${generateRandomString()}`;
createTmpDir(tempDir);
您也可以使用 fs 将您的 dockerfile 复制或移动到该文件夹中
不确定这是否回答了您的问题?