Tag: node.js

在Dockerfile中创build一个新用户,并且无法安装npm deps

这是我的Dockerfile : FROM node:7.10.0 RUN useradd –user-group –create-home –shell /bin/false app RUN mkdir -p /usr/src/hello ENV HOME=/usr/src/ COPY package.json $HOME/hello/ RUN chown -R app:app $HOME/* RUN npm install -g pm2 USER app WORKDIR $HOME/hello RUN npm install EXPOSE 8080 CMD ["npm", "start"] 它用于从docker-compose构build我的应用程序 version: '2' services: hello: build: ./hello command: "pm2-docker server.js" ports: – 8080:8080 […]

在Docker中使用SemanticUI

我设置了一个运行快速应用程序的Docker容器。 这是dockerfile: FROM节点:最新 # Create app directory RUN mkdir -p /usr/src/app WORKDIR /usr/src/app # Install app dependencies COPY package.json /usr/src/app/ RUN npm install RUN npm install -g nodemon RUN npm install –global gulp RUN npm i gulp # Bundle app source COPY . /usr/src/app EXPOSE 3000 CMD [ "nodemon", "-L", "./bin/www" ] 如您所见,它使用nodejs图像并在我的容器中创build一个应用程序文件夹,其本身包含我的应用程序。 它在docker容器上启动时运行npm install并在容器上安装我的模块(感谢我在本地文件夹中没有这个node_modules文件夹),我想集成使用gulp的SemanticUI。 […]

节点群集和/或Docker群集?

尽量从尽可能less的设置中获得应用程序的最佳性能。 我很努力地在网上find一个共识:在Docker容器中使用Node cluster模块还是使用Docker实例集群更好。 意见:首先是节点集群,然后是Docker集群 意见:不要在Docker实例中使用节点集群

为节点应用程序实现CI /部署pipe道

为了实现持续集成和TDD,我将很快在重写节点应用程序。 我也想devise和build立一个用于开发,分期和生产的部署pipe道。 目前我正在使用Shipit将更改推送到具有预configuration环境的不同实例。 我听说过部署Docker容器所需的环境,我想了解更多。 我正在看TravisCI和自动化testing/构build,并从我的理解,可以推动docker图像到构build成功后的registry。 我还在学习扩展,并且考虑了一个生产devise,该devise包含服务3个集群版本的节点应用程序,Redis集群和2个PostgreSQL节点的Google Cloud服务器/服务,每个服务位于负载平衡器后面。 我听说Kubernetes被用来pipe理和部署集装箱化的应用程序,但我很好奇它是如何融合在一起的。 在我的脑海里,我认为这个过程似乎如下: 在开发机器上提交更改 – 推送到存储库。 TravisCI构build并运行testing(如何将迁移和推送到postgreSQL服务的变化?)推送到Google云容器registry中。 loginGoogle容器引擎并使用Kubernetes运行应用程序。 那么Redis集群呢? PostgreSQL节点? 如果这个问题缺乏清晰度和知识,我会事先道歉,但是在我走之前,我正努力学习更多。

NodeJS:无法从另一个容器连接到postgreSQL容器

我有一个NodeJS应用程序的容器,它必须链接到另一个容器与Postgres数据库。 我docker-compose.yml是: version: "3" services: postgres: image: "postgres:9.5.6-alpine" container_name: postgres volumes: – /shared_folder/postgresql:/var/lib/postgresql ports: – "5432:5432" web: build: . container_name: web ports: – "3000:3000" links: – postgres depends_on: – postgres command: sh /usr/home/freebsd/wait-for-command.sh -c 'nc -z postgres 5432' command: sh start.sh 在postgres容器上有一个名为“bucket”的数据库,由用户“user”拥有,密码为“password”。 当我inputdocker-compose并尝试链接容器时,在从控制台发出以下消息之后: [INFO] console – postgres://user:password@localhost:5432/bucket 我得到这个错误: Error: Connection terminated at [object Object].<anonymous> 在/node_modules/massive/node_modules/deasync/index.js:46 […]

集装箱式服务器应用程序无法连接到MySQL数据库

我试图将在我们的Kubernetes集群中运行的服务器代码(在Google Container Engine上托pipe)连接到Google Cloud SQL托pipe的MySQL 5.7实例。 我遇到的问题是,每个连接都被数据库服务器Access denied for user 'USER'@'IP' (using password: YES) 。 数据库凭据(用户名,密码,数据库名称和SSL证书)在通过其他MySQL客户端连接或与本地实例上的容器相同的应用程序连接时都是正确的。 我已经validation所有凭据在应用程序的本地和服务器托pipe版本上都是相同的,并且与之连接的用户具有指定的通配符%主机。 真的不知道下一步要检查什么,说实话… 连接代码的编辑版本如下: let connectionCreds = { host: Config.SQL.HOST, user: Config.SQL.USER, password: Config.SQL.PASSWORD, database: Config.SQL.DATABASE, charset: 'utf8mb4', }; if (Config.SQL.SSL_ENABLE) { connectionCreds['ssl'] = { key: fs.readFileSync(Config.SQL.SSL_CLIENT_KEY_PATH), cert: fs.readFileSync(Config.SQL.SSL_CLIENT_CERT_PATH), ca: fs.readFileSync(Config.SQL.SSL_SERVER_CA_PATH) } } this.connection = MySQL.createConnection(connectionCreds); 附加信息:服务器应用程序是使用mysql2库连接到数据库的Node内置的。 没有专门的防火墙规则导致networking问题,这是由库连接,但未通过身份validation的事实。

将一个stringparsing为node.js中的数组

我想用Docker包装我的Node.js应用程序。 我需要从图像运行器获得的一个东西是一个包含数组的环境variables。 例如: docker run -d -e DM_HOSTS=['localhost:1234', 'localhost'] someimage… 而我的代码: let hosts:string[] = process.env.DM_HOSTS ? process.env.DM_HOSTS : ['localhost:1234']; 问题是 – 我需要parsing这个环境variables到一个真正的JS数组。 我试过JSON.parse()和Array.from(),它没有工作。 Appriciate你的帮助!

运行Docker容器的命令

这是我在Docker容器中运行命令的方式: $ docker run -it –rm –name myapp myimage:latest $ node –version 是否有可能作为一个命令来运行? 我可以将命令传递给docker run command吗? 就像是 $ docker run -it –rm –name myapp myimage:latest "node –version" 当然这只是一个简单的例子。 后来我会执行一些更复杂的命令…

如何创build一个PHP和节点的docker图像?

我正在尝试为我的angular度创build一个docker容器,其中有PHP文件。 Angular需要npm,所以我需要安装nodejs。 我不需要apache为我的项目,只是纯粹的PHP应该工作正常。 我的理解是我应该有一个 FROM node:latest ..install php here RUN mkdir -p /usr/src/app WORKDIR /usr/src/app COPY package.json /usr/src/app RUN npm install COPY . /usr/src/app 我不知道如何在我的情况下安装PHP,任何人都可以指向我的方向? 非常感谢!

Node.js Web应用程序在Docker堆栈中没有正确运行

我有一个用Node.js编写的Web应用程序,我试图进入Docker。 用docker run -p 80:80 image就好了; 我能够访问它托pipe的网页。 但是,当我尝试在堆栈中运行它时,我无法访问该页面,并且Chrome只是永远坐在“等待本地主机…”。 Dockerfile: FROM readytalk/nodejs WORKDIR /app ADD . /app RUN npm i EXPOSE 80 CMD [] ENTRYPOINT ["/nodejs/bin/npm", "start"] 泊坞窗,compose.yml: version: "3" services: web: image: image_name deploy: replicas: 5 resources: limits: cpus: "0.1" memory: 50M restart_policy: condition: on-failure ports: – "80:80" networks: – webnet networks: webnet: 任何帮助将不胜感激。 编辑:增加了一些日志logging,似乎HTTP请求是从来没有实际使它到Node.js应用程序。 […]