浏览器无法访问正在运行的Docker容器

时间:2019-02-13 16:13:39

标签: node.js macos docker

我开始与docker合作。我将简单的node.js应用程序码头化了。我无法从外部访问容器(通过浏览器访问)。

堆栈:

    具有四个端点的
  • node.js应用程序(我使用了hapi服务器)。
  • macOS
  • docker桌面社区版本2.0.0.2

这是我的dockerfile:

FROM node:10.13-alpine
ENV NODE_ENV production
WORKDIR /usr/src/app
COPY ["package.json", "package-lock.json*", "npm-shrinkwrap.json*", "./"]
RUN npm install --production --silent && mv node_modules ../
RUN npm install -g nodemon
COPY . .
EXPOSE 8000
CMD  ["npm","run", "start-server"]

我做了以下步骤:

我从工作目录中的命令行运行:

  1. docker image build -t ares-maros .
  2. docker container run -d --name rest-api -p 8000:8000 ares-maros
  3. 我检查了容器是否通过docker container ps运行 结果如下: enter image description here-容器正在运行

  4. 我打开浏览器并输入0.0.0.0:8000(也尝试使用127.0.0.1:8000或localhost:8000) 结果: enter image description here 因此,运行中的Docker容器无法通过浏览器获取

我还进入容器,键入docker exec -it 81b3d9b17db9 sh,并尝试通过wget / curl访问容器内的节点应用程序,并且可行。我从所有node.js端点获得响应。

可能出什么问题了?也许我的Mac可以阻止连接?

感谢帮助。

0 个答案:

没有答案