我在带有 的 mac (El Capitan, stable, 10.11.6
) 上适用于 Mac 的 Docker 桌面 安装稳定。
我在官方节点图像上运行一个简单的 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
docker 但没有运气:(我在这里错过了什么?
最佳答案
您正在运行的服务只监听容器 localhost
接口(interface),所以容器之外的任何东西都不能访问它。它需要收听0.0.0.0
.
关于docker-compose - Docker Compose 端口问题。无法在 localhost 上启动 docker 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39166553/