主机端口映射无法与docker-compose一起使用

时间:2018-03-13 22:18:07

标签: docker docker-compose docker-machine

我有一个侦听端口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

0 个答案:

没有答案