我在mac(El Capitan,稳定,10.11.6
)上安装 Docker Desktop for Mac 。
我在官方节点图片上运行一个简单的JavaScript应用程序。这是Dockerfile
的样子:
FROM node
WORKDIR /usr/local/src
这是docker-compose.yml
:
version: '2'
services:
web:
container_name: myproject_dev
build: .
command: npm run development
ports:
- "1234:8000"
- "1235:8080"
- "80:80"
volumes:
- ./my-project:/usr/local/src
正常运行docker-compose up
:
myproject_dev | http://localhost:8080/webpack-dev-server/
myproject_dev | webpack result is served from /assets/
myproject_dev | content is served from /usr/local/src
docker ps
显示端口已映射:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
820694f618b4 myproject_web "npm run development" 20 minutes ago Up 20 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:1234->8000/tcp, 0.0.0.0:1235->8080/tcp myproject_dev
但我无法在浏览器上看到项目页面(使用localhost:1234
)。当我在docker之外运行项目时工作正常。因此,该项目的问题被排除在外。
尝试以下方法:
node
泊坞窗但没有运气:(我在这里失踪了什么?
答案 0 :(得分:7)
您正在运行的服务只是监听容器localhost
接口,因此容器外部的任何内容都无法访问它。它需要听0.0.0.0
。
答案 1 :(得分:0)
Ping无法正常工作;它查询主机,而不是该主机的端口。要测试您连接到给定主机上给定端口的能力,您可能需要nc -vz <host> <port>
之类的内容。