我正在尝试在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。他们是不同的。