Tag: docker

你可以改变节点层的CMD – Docker

我是新来的docker工人,所以我不知道如果这是一个更简单的方法来解决它,但。 我想使用节点docker层作为我的基础层,默认情况下,只有docker文件中的CMD被设置为CMD ["npm", "start]有没有办法改变这个初始CMD? 改变原因:我有一个特定的启动脚本来启用生产模式,我会保持我的设置相同。 FROM node:6.6.0 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app ONBUILD ARG NODE_ENV ONBUILD ENV NODE_ENV $NODE_ENV ONBUILD COPY package.json /usr/src/app/ ONBUILD RUN npm install ONBUILD COPY . /usr/src/app CMD [ "npm", "start" ]

select一个GKE kubernetes集群的节点大小

我们正在讨论生产GKE集群的最佳节点大小。 总体上有更多的小节点还是更小的节点会更好吗? 例如,我们在以下两个选项之间进行select 3 x n1-standard-2(7.5GB 2vCPU) 2 x n1-standard-4(15GB 4vCPU) 我们在这些节点上运行: 弹性search群集 Redis集群 PHP API微服务 节点API微服务 3个独立的Node / React网站

如何将我的本地源文件安装到docker容器?

我是新来的docker,我已经创build了我的自定义图像。 这是我的Dockerfile FROM node:latest MAINTAINER FF COPY . /var/www WORKDIR /var/www RUN npm install EXPOSE 3000 ENTRYPOINT ["npm", "start"] 然后我build立一个图像 docker build -t test/node . 形象build成后,我跑了 docker run -p 8888:3000 -v $(pwd):/var/www -w "/var/www" test/node 我使用-v,因为我想挂载我的主机src文件夹到/var/www 。 它回来了 > expresssite@0.0.0 start /var/www > node ./bin/www module.js:472 throw err; ^ Error: Cannot find module 'express' at […]

加快Docker容器中的NPM安装

我们在版本控制中使用不包含node_modules的标准做法。 但是,当通过CI / CDpipe道时,我们必须在几个地方重新安装NPM依赖项,这使得一切都非常缓慢。 有没有办法以某种方式与DockercachingNPM依赖关系? 我search了Google“docker cache npm dependencies”,2014年的第一个命中产生了一个死链接。 没有什么值得的。 一个解决scheme是在版本控制中包含node_modules,但是我认为这将是一个巨大的错误。 我认为caching依赖关系将是最好的select。 Dockerfile是这样的: FROM node:6 COPY . . # copy all files, but node_modules does not exist ( => gitignored) RUN npm install –no-optional –only=production > /dev/null 2>&1 RUN npm install -g bower > /dev/null 2>&1 RUN bower install –config.interactive=false –allow-root > /dev/null 2>&1 ENTRYPOINT […]

用docker连接nodejs和mongo

这是我的docker-compose-file: version: "2" services: rest-api: build: . ports: – "3007:3007" links: – mongo mongo: image: mongo volumes: – /data/mongodb/db:/data/db ports: – "27017:27017" 这是我的Dockerfile: FROM mhart/alpine-node:latest RUN rm -rf /tmp/node_modules ADD package.json /tmp/package.json RUN cd /tmp && npm install RUN mkdir -p /opt/app && cp -a /tmp/node_modules /opt/app/ WORKDIR /opt/app ADD . /opt/app EXPOSE 3007 CMD […]

如何查看Docker容器中正在运行的应用程序的日志?

我有一个节点js应用程序运行在/ usr / src / app中的docker容器中。 我想用nohup(nohup node index.js&)来运行这个应用程序。 出于一般/debugging目的,将输出附加到nohup.out的最佳方法是什么? 我是否需要一直使用docker cp复制到主机操作系统。 有没有更好的方法来实现这一目标?

Docker容器中的高山linux =>`env:不能执行'node':没有这样的文件或目录

我正在像这样在Alpine linux容器中安装Node.js版本8: RUN apk add –no-cache wget RUN wget http://nodejs.org/dist/v8.1.1/node-v8.1.1-linux-x64.tar.gz RUN sudo tar -C /usr/local –strip-components 1 -xzf node-v8.1.1-linux-x64.tar.gz RUN ls -l /usr/local/bin/node RUN ls -l /usr/local/bin/npm RUN ln -s /usr/local/bin/node /usr/bin/node RUN ln -s /usr/local/bin/npm /usr/bin/npm ENV PATH "/usr/local/bin:${PATH}" RUN echo "PATH env variable => '$PATH'" /usr/local/bin/node和/usr/local/bin/npm存在,并且npm确实在命令行中被识别。 但是对于可执行节点,我得到这个错误: Step 23/53 : RUN npm cache […]

Docker上的节点服务器即使在端口绑定后也不能在本地主机上访问

我有graphql节点服务器。 我可以在没有docker的情况下在本地运行它。 但是在创build服务器的docker容器并将容器端口与主机端口绑定后,这不起作用。 这是我的Dockerfile代码: FROM node:boron-alpine WORKDIR /app COPY package.json /app RUN npm install COPY . /app ENV SERVER_PORT 8080 EXPOSE 8080 CMD npm run build && npm start 我的节点服务器代码是这样的: app.listen(process.env.SERVER_PORT,'0.0.0.0') console.log(`listening at ${port}`) 我使用以下命令运行docker: docker run -it -p 8080:8080 nodeapi 这完美的工作nodejs可以看到env SERVER_PORT导致它显示 "listening at 8080" 在控制台。 但是当我打开本地主机:8080这不起作用(该网站无法到达)。 我也尝试运行docker命令 docker run -it -p 127.0.0.1:8080:8080 nodeapi […]

通过Node.js连接到远程Docker

我有一个Docker在我的一台服务器上build立并运行,可以像这样远程连接到它: docker –tlsverify -H tcp://web2.webcom.dk:4243 images 我用这个和这个来设置它。 我想要做的是能够通过Node.js连接到它,并试图用dockerode这对我来说似乎是最好的select。 这是我的代码: Docker = require 'dockerode' docker = new Docker host: 'tcp://web2.webcom.dk' port: 4243 tls: true tlscacert: '/Users/jacob/.docker/ca.pem' tlscert: '/Users/jacob/.docker/cert.pem' tlskey: '/Users/jacob/.docker/key.pem' tlsverify: true container = docker.getContainer '826544226fdc' container.start (err, data) -> return console.error err if err? console.log data 这不工作,但我得到这个错误: { [Error: connect ECONNREFUSED] code: 'ECONNREFUSED', errno: 'ECONNREFUSED', […]

Docker Node JS设置env

如何使用docker run设置节点ENV process.env.mysql-host ? 我可以以这种方式做吗? docker run –mysql-host:127.0.0.1 -p 80:80 -d myApp 我正在使用FROM node:onbuild作为图像。