Docker端口不暴露在本地主机上

我刚开始在mac上使用docker,我无法弄清楚为什么端口不在本地主机上暴露。

这是我的Dockerfile:

FROM node:alpine RUN apk add --update curl RUN mkdir -p /home/app WORKDIR /home/app COPY . /home/app RUN cd /home/app; npm install express EXPOSE 8080 CMD ["node", "app.js"] 

这是我的示例应用程序:

 var app = require("express")(); app.get('/', (req, res) => { res.send({'lorem': "ipsum"}); }); app.listen(8080); console.log('listening on 8080'); 

build设完成后,我做了docker运行:

 docker run -d -p 8080:8080 some/test 

我已经检查了docker日志,一切运行良好。 我已经在容器上运行docker exec并试图“curl”内部端口,它工作正常。 但是我无法在本地主机上打开它。

什么是错,我错过了什么?