我有一个侦听端口8000的节点应用程序,我使用以下Docker文件将其容器化
FROM node:carbon
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install -g nodemon
RUN npm install
COPY . .
EXPOSE 8000
CMD [ "nodemon", "start" ]
我的撰写文件如下所示:
version: '3'
services:
node:
build:
context: .
dockerfile: node.dockerfile
ports:
- "8000:8000"
image: console:cp
volumes:
- .:/usr/src/app
我已确保节点应用程序侦听所有接口,即0.0.0.0。但是,每当我输入http://localhost:8000时,它都说无法访问此网站。
当我运行以下inspect命令列出所有端口绑定时,它返回:8000/tcp -> 8000
docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' a5c17883fd5c
有什么想法吗?我此刻正在拉我的头发。
我正在使用docker-compose up
命令。
Docker版本17.12.0-ce,构建c97c6d6
docker-compose版本1.18.0,build 8dd22a9
Mac 0SX 10.13.2