Tag: JavaScript

返回函数外的值

我正在寻找使用graphQL来查询docker机api,并获得反应dockerpipe理员风格项目的容器列表。 我正在使用dockerode一个NPM模块来提出请求。 第一个函数getCOntainerById是我通常会从rethinkdb返回一些项目。 我似乎无法弄清楚如何返回docker.listContainers函数中的容器数组,因为它只在范围内定义,在fetchContainers函数返回结束时未定义。 import Docker from 'dockerode' var docker = new Docker({host: 'http://127.0.0.1', port: 52376}); export default { getContainerById: { type: Container, args: { id: {type: new GraphQLNonNull(GraphQLID)} }, async resolve(source, {id}, {rootValue}) { isLoggedIn(rootValue); const container = await r.table('containers').get(id); if (!container) { throw errorObj({_error: 'Container not found'}); } return container; } }, fetchContainers: […]

本地NodeJS开发的Docker

在我的笔记本电脑file system上有可能具有node_modules时,在容器中本地开发应用程序的正确方法是什么? 目前我在Dockerfile有以下settings COPY package.json /app/ RUN npm install COPY . /app/ 而下面的docker-compose volumes: – "/app/node_modules" 在这种情况下,我可以在容器中运行npm命令, package.json中的更改反映在我的本地源代码树中。 哪个好。 但有一件事是缺less的:我没有本地node_modules文件夹,这意味着我的IDE不能看到这些文件。 不知何故可以解决吗?

创build一个包含数组types的mongoose模型将会返回未定义的docker容器中的数据

我有一个mongoose模型包含2个属性数组的string和其他一些: var Model = new Schema({ _id: {type: Number, required: true, unique: true}, name: {type: String, required: true}, oneList: [String], anotherList: [String] }); 我创build模型: var model = new Model({ _id: 1, name: 'model', oneList: ['a', 'b'], anotherList: ['c', 'd'] }) 但是当我检查模型时,所有的列表都是未定义的: model._doc === { _id: 1, name: 'model', oneList: undefined, anotherList: undefined } 我尝试了一些变化: 将模型定义从[String]更改为[] […]

在Docker中运行nodejs应用程序,将标准输出redirect到文件

我已经创build了一个Dockerfile来运行nodejs应用程序,并且希望将其标准输出redirect到如下所示的文件: CMD [ "node", "app.js", ">", "/usr/src/kuku.out", "2>&1"] usr/src/kuku.out CMD [ "node", "app.js", ">", "/usr/src/kuku.out", "2>&1"]但文件kuku.out没有被创build。

在NGINX docker容器中启动之前运行一个bash脚本

我正在尝试使用docker在localhost:8000上运行一个JavaScript应用程序。 部分我想做的是换出一些基于docker run命令的configuration文件,我想传递一个环境variables到容器中,以便bash脚本可以使用它作为参数。 我的dockerfile看起来是这样的: FROM nginx COPY . /usr/share/nginx/html CMD ["bash","/usr/share/nginx/html/runfile.sh"] 而bash脚本看起来像这样: #!/bin/bash if [ "$SECURITY_VERSION" = "OPENAM" ]; then sed -i -e 's/localhost/openam/g' authConfig.js fi docker run -p 8000:80 missioncontrol:latest -e SECURITY_VERSION="TEST" Docker给了我一个exception,说-e执行命令没有find。 但是,如果我更改dockerfile使用ENTRYPOINT而不是CMD,-e标志工作,但Web服务器不启动。 有什么我在这里失踪? 入口点被覆盖或什么的? 编辑: 所以我更新了我的dockerfile来使用ENTRYPOINT ["bash","/usr/share/nginx/html/runfile.sh", ";", " nginx -g daemon off;"] 但docker集装箱仍然closures。 有什么我失踪?

使用JavaScript启动Docker机器

我实际上面临一个问题,我的JavaScript启动我的机器。 我可以停止运行的机器没有任何问题,但我无法启动。 错误是下一个: /Users/swisscom_NG/Desktop/mgmt-docker-gui/node_modules/docker-machine/index.js:79 W20170106-13:19:51.164(1)? (STDERR) done() W20170106-13:19:51.164(1)? (STDERR) ^ W20170106-13:19:51.165(1)? (STDERR) W20170106-13:19:51.165(1)? (STDERR) TypeError: done is not a function 执行的代码是: 'machine.start': function(name){ Machine.start(name); } 机器是这样定义的: import Machine from 'docker-machine'; 错误是因为它认为机器正在运行,但如果我看着Docker,我可以看到: 我正在使用节点docker-machine 感谢您的帮助。

在Docker中使用'opn'npm模块的未处理诺言拒绝

UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Exited with code 3 我显然遇到这个错误,当我打开使用Docker容器模块的链接。 在将代码放在使用Docker的服务器上之前,我在本地testing了代码。 而且它在我的本地运行良好,不使用Docker。 所以我认为docker工人出了问题,但实际上没有办法找出问题所在。 是否有人曾经使用Docker的“opn”模块? app.use('/:encoded_id', function(req, res) { let base58Id = req.params.encoded_id; let id = base58.decode(base58Id) Url.findOne({ _id:id }, function(err, doc) { if (err) console.error(err); if (doc) { opn(doc.long_url[i]); } else res.redirect(config.webhost); }) });

Docker for Windows REST API – 启用CROSS

现在我正在使用docker的小GUI。 我正在使用electron.js和Vue.js。 由于使用电子书写的桌面应用程序是embedded式的Chrome应用程序,所以在尝试向docker REST API发送请求时遇到问题: XMLHttpRequest cannot load http://localhost:2375/containers/json. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:9080' is therefore not allowed access 没有什么不寻常的,它的浏览器应该是这样。 真正的问题是如何启用Docker REST API的CROSS请求? 我正在使用版本17.03.0-ce

在Docker容器中运行命令“node filename.js”

我需要每天午夜在Docker容器中运行一个js文件。 这是我的文件midnight.sh #!/bin/bash docker exec -it hash_app bash node midnight.js Docker exec工作正常。 但命令“节点midnight.js”不起作用。 我怎样才能执行docker集装箱内的midnight.js?

如何使JS代码的独特版本(开发和生产)?

我开发了基于nginx镜像的小型Web应用程序,分布在Docker容器中。 它包含纯html和js代码,没有框架。 在JS代码中,可以通过WebSockets访问远程主机。 环境有所不同:在本地主机上进行testing时,它通过http工作,在生产服务器上使用https。 所以传递给WebSocket的URL可以用ws://或者wss:// 在代码中维护这两个URL版本的可靠解决scheme是什么?考虑到我希望为开发和生产保留一个Docker镜像,只使用不同的Docker Composeconfiguration脚本? 有一些使用WebSockets的例子: // This is for testing in localhost environment var url = "ws://" + window.location.host + window.location.pathname + "bridge/"; // This is for working in production environment var url = "wss://" + window.location.host + window.location.pathname + "bridge/"; BRIDGE.socket = new WebSocket(url);