docker ERR_NAME_NOT_RESOLVED当尝试打开部署在Heroku上的应用时

aiazj4mn  于 2023-08-03  发布在  Docker
关注(0)|答案(1)|浏览(117)

我有一个使用express的node应用程序,正在尝试使用heroku进行部署。

import http from 'http';
import express from 'express';
import pagesRouter from './routes/pages';
import nconf from 'nconf';

const app = express();

app.use(pagesRouter);

const port = process.env.PORT || nconf.get('port');

server = http.createServer(app);
server.listen(port);

字符串
在本地创建服务器并为我创建的所有路由提供服务时,这种方法工作得很好。
然后,我尝试通过创建一个dockerfile将其dockerize以部署到heroku,并为此创建heroku.yml:

FROM node:18.12.1
WORKDIR ./
COPY . .
ENV NODE_ENV production
RUN npm ci
RUN npm run build
RUN npm prune --production
EXPOSE 6001
CMD ["npm", "run", "start"]
build:
  docker:
    web: Dockerfile

的数据
查看heroku的日志,我可以看到它正在运行并正确启动,但是当我尝试单击“打开应用程序”以查看在https://www.damp-garden-69923.herokuapp.com/上运行的应用程序时,我得到以下错误:

This site can’t be reached

www.damp-garden-69923.herokuapp.com’s server IP address could not be found.

ERR_NAME_NOT_RESOLVED


我不知道我是不是漏掉了什么,但如果有任何帮助,我会很感激的
注意:我使用的是GUI而不是heroku CLI

xqk2d5yq

xqk2d5yq1#

根据这里的answer,你不应该使用expose,你应该使用docker compose文件中的ports。

相关问题