docker命令正确公开端口,但docker-compose不正确

时间:2019-02-03 22:28:52

标签: docker networking

我正在尝试在docker-compose设置中公开运行在docker容器中的vue.js服务器。但是,尽管我可以构建单个容器来正确执行此操作,但是我无法使用docker-compose使它工作。

当我运行命令-docker run -p 8888:8080 client(构建客户端映像之后)时,我能够访问默认的vue页面,该页面位于localhost:8888。

但是,当我运行docker-compose up时,我无法这样做。

这是我的docker-compose.yml-

version: '3.6'
services:
  client:
    restart: always
    container_name: client
    ports:
      - "8888:8080"
    environment:
      - VUE_CLI_BABEL_TARGET_NODE=true 
      - VUE_CLI_BABEL_TRANSPILE_MODULES=true
    build:
      context: .
      dockerfile: ./client/Dockerfile
    volumes:
      - "./client/:/client/"

这是我的Dockerfile-

FROM node:10-alpine

ARG PORT=8080
ENV PORT=$PORT

WORKDIR /client

RUN apk update && apk add --update bash git openssl yarn wget curl && \
    rm -rf /var/cache/apk/*

COPY client /client

RUN yarn install && yarn serve

应注意,我正在使用Docker for Mac。

编辑: 这是docker container ps --no-trunc的输出。

CONTAINER ID                                                       IMAGE                                                                     COMMAND                                     CREATED             STATUS              PORTS               NAMES
049db2af69db9979c5d3feea92d7b039f6c06502f24f76ce4da75f104ff5cf60   sha256:597bb7c8dd1b3c8510b565f211873c40935a6ac9d434f9379651fab94c9f1a7d   "/bin/sh -c 'yarn install && yarn serve'"   2 minutes ago       Up 2 minutes                            agitated_stallman
d86d0c4dcc3168705f0f949876823cf4c0188161a53754788d88c20e3e42d250   sha256:b332d7c0a2af04303eac7f37f566f0451bbb222b051705d9c9e6ca8e2e97e291   "/bin/sh -c 'yarn install && yarn serve'"   3 hours ago         Up 3 hours                              mystifying_payne

第一个是图像,第二个是docker-compose。他们是不同的。

0 个答案:

没有答案