Tag: node.js

在容器中运行webserver之前,将文件从主机复制到docker容器

在Docker容器中有一个nodejs应用程序。 我运行一个docker容器与AV标志和映射一些主机文件夹到一个docker文件夹,说/select主机映射到/select在docker实例。 比docker运行一个node app.js和一个应用程序启动和运行,但是在我运行node app.js之前,我想将容器内的文件/opt/kuku.txt复制到另一个文件夹/ var / src / application / etc / 。 我应该在CMD指令之前在Dockerfile中执行它吗?

无法从Docker Registry远程API获取有效的响应

我正在使用Nodejs和请求来形成我的API调用,我可以直接与API调用一个UnixSocket,但它每次尝试从Dockerregistry容器请求时,我已经运行,所以我相信这是我的registryconfiguration的错误。 我已经像下面的文档步骤一样将其设置为开箱即用 。 docker run -d -p 5000:5000 –restart=always –name registry registry:2 docker pull alpine docker tag alpine localhost:5000/alpine docker push localhost:5000/alpine 我用来请求的代码如下,它收到404 not found 。 const request = require('request') request({ method: 'GET', uri: 'http://localhost:5000/images/json', // status 404 // uri: 'http://unix:/var/run/docker.sock:/images/json', // this works headers: { host : 'localhost' } }, (e, res, body) => […]

使用Nginx作为微服务API网关

我们正在将我们的巨无霸API分成微服务。 我们不需要速度限制,authentication,caching或任何其他网关,如能力。 使用非常简单的无状态Nginx容器路由到底层服务是否是一种有效的方法?

mongoDB多个实例或多个数据库

我select了使用node-js和mongoDB的docker制作游戏,并将所有游戏部分(战斗,聊天,资源等)设置到不同的服务器上,因此每个部分都有自己的进程,例如我的资源服务器将会运行很多,因为它会每秒钟完成每个用户的资源计算,并处理来自其他服务器的请求,例如用户有足够的资源build造一个build筑,或者如果受到攻击等,玩家将失去多less资源。 。 对于我的alpha和beta版本,我计划运行一个服务器,这将运行我的游戏的所有部分,但我现在这样做,每个部分都有自己的mongodb实例,所以我有resourcesDB,mainDB (用户信息,login信息和东西),所有的实例将不会有很多集合,例如resourcesDB只有2个集合,资源集合,每个用户将有1个与资源相关的东西的文档,以及将存储所有用户的使用(build筑升级,战斗失败等) 我已经在同一台服务器上了解了多个实例,他们都说这不是最好的方法,因为它会影响我的性能,将来我会把所有的部分分成不同的服务器所以如果需要的话每个部分都会有自己的服务器和数据库服务器 我应该可以构build1个实例并将其在数据库级别分开吗? 这意味着我将不得不从多个服务器连接到相同的实例,资源服务器将每秒更新所有用户的资源数量,并将其与战争服务器结合起来,以更新DB中的部队状态以及更多的战争上,我也将有聊天数据库,将与每个私人消息或聊天消息更新,会导致任何问题? 或者只有当我连接到单个数据库并在集合级别上分离它时,才会导致问题? 是否有一个原因,我不应该继续创build多个实例? 我读过,如果在同一台服务器上使用多个实例,configuration文件可能有问题,但我认为docker处理该部分。 更新 – 我已经find了一个很好的答案在这里: https : //dba.stackexchange.com/questions/156811/mongodb-in-micro-services-structure/156984#156984

Docker群模式下服务副本之间的networking请求负载均衡

在群集模式下,Docker服务副本之间的负载均衡algorithm找不到任何文档。 我创build了一个基于Dockerfile的图像mynodeapp: FROM node:latest RUN mkdir -p /usr/src/app WORKDIR /usr/src/app COPY package.json /usr/src/app/ RUN npm install COPY . /usr/src/app EXPOSE 8080 CMD [ "npm", "start" ] npm启动以下server.js : const LATENCY = 5000; var app = require('express')(); app.get('/', (req,res)=>{ console.log('Sending response'); setTimeout( function() { res.send('All ok'); }, LATENCY ); }); app.listen( 8080 ); 代码在延迟5秒后才发送All ok 。 […]

Docker容器npm全局影响主机还是唯一的容器?

当我在Docker容器中执行一个npm install -g时,它只会影响容器,还是会实际上将容器安装在容器的主机上? 问候。

Docker – Nodejs到Mongodb连接工作,但收集为空

我正尝试从NodeJS Docker容器连接到MongoDB Docker容器。 我可以从RoboMongo这样的客户端访问MongoDb。 但是,在NodeJS中,它连接到数据库,但数据库为空,当我试图获取一个集合时出现错误。 url = 'mongodb://127.0.0.1:27017/mydb'; router.get('/api/v1/test', function (req, res, next) { MongoClient.connect(url, function(err, db) { var collection = db.collection('myApptbl'); }); }); 我在我的docker日志中得到以下错误。 /usr/src/myapp/node_modules/mongodb/lib/mongo_client.js:225 throw err ^ TypeError: Cannot read property 'collection' of null at /usr/src/myapp/server.js:52:26 at connectCallback (/usr/src/app/node_modules/mongodb/lib/mongo_client.js:315:5) at /usr/src/myapp/node_modules/mongodb/lib/mongo_client.js:222:11 at _combinedTickCallback (internal/process/next_tick.js:67:7) at process._tickCallback (internal/process/next_tick.js:98:9) 你可以请帮忙或提供build议,为什么我得到这个错误。

使用系统mongodb的多个docker集装箱?

我对Docker非常陌生,而且我正在努力configuration。 我目前的configuration是,我的本地系统上有多个使用nodemon Node / Express微服务。 所有这些都连接到运行在mongodb://localhost:27017/localv2上的mongodb://localhost:27017/localv2 。 我试图dockerize我所有的微服务。 问题是他们无法连接到localhost:27017上的mongodb localhost:27017 。 我有两个问题: 为什么他们不能连接到本地主机:27017? 如何使他们连接到我的系统中当前正在运行的mongodb?

在Docker容器中接收UDP多播

我在运行一个节点容器的覆盆子pi上使用docker compose和hypriotos。 我想在本地networking中收到udp组播消息发送到239.255.255.250:1982。 我的代码正在Docker之外的其他机器上工作,所以我认为这是一个docker问题。 我已经在Docker文件中显示了端口1982 / udp,并且在端口中添加了“1982:1982”和“239.255.255.250:1982:1982 /udp”的docker-compose文件。 我仍然收不到任何东西。 我错过了什么吗? 我的具体计划是接收来自yeelight的广告信息。 这些消息logging在这里 你能帮忙的话,我会很高兴。 谢谢。

尝试连接到节点应用程序作为反向代理时,Nginx连接被拒绝

我试图用Docker容器构build一个web应用程序,并且在尝试运行Nginx作为我的节点应用程序的反向代理时,连接被拒绝。 我不知道这是一个nginx服务器configuration问题或docker-composeconfiguration问题。 [error] 5#5: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.20.0.1, server: foo.com, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:7770/", host: "foo.com" 当遇到foo.com时,我得到这个错误,奇怪的是我的应用程序在端口号被引用时工作,所以foo.com:7770运行应用程序。 我的nginx服务器configuration: server { listen 80; server_name foo.com; port_in_redirect off; autoindex on; location / { proxy_pass http://127.0.0.1:7770; proxy_redirect off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host […]