我使用Docker和Aurelia创建了一个简单的网站。该站点在Docker中运行,但无法从我的localhost访问。我做了什么:
创建容器
docker build -t randy/node-web-app .
docker run -p 9000:9000 -d randy/node-web-app
97f57c3d0da5d03f53b4ba893fdb866ca528e10e6c4a1b310726e514d8957650
查看脚本是否已运行:
docker logs 97f57c3d0da5
应用程序可在以下位置:http://localhost:9000
进入码头集装箱码头查看该网站是否已启动:
docker exec -it 97f57c3d0da5 /bin/bash
看看它是否正常运行:
curl -i localhost:9000
摘要:
HTTP / 1.1 200确定
<!DOCTYPE html>
(我实际上看到它应该返回的HTML,但是这个太大了,不能在这里发布。)
返回主机终端:
exit
curl -i localhost:9000
卷曲:(7)无法连接到localhost端口9000:拒绝连接
如何确保我可以通过电脑访问该网站?在第一个命令中,我在9000:9000
上设置了公开,这不应该是一个问题。
FROM node:latest
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY . /usr/src/app
RUN npm install -g aurelia-cli
RUN npm install
EXPOSE 9000
CMD ["npm", "start"]
答案 0 :(得分:2)
我在部署此映像的计算机上使用了 Kitematic 而不是正常版本的Docker。 Kitematic 将docker镜像映射到(内部)IP地址,而不是主机的localhost。
我的回答是使用192.168.1.67
作为IP而不是127.0.0.1
。
如果您在没有 Kitematic 的情况下安装Docker,这应该不是问题。