【发布时间】:2021-07-18 14:07:18
【问题描述】:
Dockerfile
FROM node:alpine
WORKDIR /usr/app
COPY ./package.json ./
RUN npm install
COPY ./ ./
CMD ["npm","start"]
docker-compose.yml
version: '3'
services:
redis-server:
image: 'redis'
ports:
- "6379:6379"
node-app:
build: .
ports:
- "8081:8081"
app.js
const express = require('express');
const redis = require('redis');
const app = express();
const client = redis.createClient({ host:'redis-server', port: 6379 });
client.set('visits', 0);
app.get('/', (req, res) => { client.get('visits', (err, visits) => { res.send('Number of visits is ' + visits); client.set('visits', parseInt(visits) + 1); }); });
app.listen(8081, () => { console.log('Listening on port 8081'); });
错误
Error: getaddrinfo ENOTFOUND redis-server
Docker 镜像创建和运行连续步骤
############################
Image ID - f419c79d6ce7
Image Name - myapp
Image ID - 739b59b96069
Image Name - redis
#############################
docker run -d --net "redis" --name redis redis
docker run -d -p 8081:8081 myapp
######### --------------error ----------------########
Error: getaddrinfo ENOTFOUND redis-server
【问题讨论】:
-
你是如何启动容器的?使用普通的
docker run,它们是否都在同一个--net上? -
########################### 图像 ID - f419c79d6ce7 图像名称 - myapp 图像 ID - 739b59b96069 图像名称- redis ############################# docker run -d --net "redis" --name redis redis docker run -d -p 8081:8081 myapp ######### --------------错误 ----------------#### #### 错误:getaddrinfo ENOTFOUND redis-server
-
错误信息表示无法解析
redis-server。这里似乎没有告诉它地址,所以这似乎是一个不足为奇的错误。
标签: node.js docker ubuntu redis