你知道,我现在正在尝试在一个docker容器中构建web,并在构建后使用volume获取dist,然后启动nginx容器来部署dist文件夹。这是docker-compose脚本:
version: '3'
services:
jump-ui-build:
image: node:12.13.0
volumes:
- ~/jump-ui:/usr/local/app
working_dir: /usr/local/app
ports:
- 8082:8082
command: bash -c "npm install && npm run build:test"
nginx:
restart: always
image: nginx:1.16.1
ports:
- 80:80
- 443:443
volumes:
- ~/jump-ui/dist:/usr/share/nginx/html
- ~/nginx-log:/var/log/nginx
depends_on:
- jump-ui-buildjump-ui-build服务运行结束成功,并在jump-ui文件夹下生成dist文件夹,但当我尝试使用docker exec -it访问nginx服务,切换到/usr/share/ nginx /html时,是空文件夹,所以必须手动启动jump-ui-build服务,启动nginx服务,部署成功?
有没有什么办法可以修改yum脚本,让我可以成功地自动构建和部署web?
发布于 2019-10-28 14:45:41
您可以使用multistage Dockerfile文件:
FROM node:12.13.0
WORKDIR /usr/local/app
RUN bash -c "npm install && npm run build:test"
FROM nginx:1.16.1
COPY --from=0 /usr/local/app /usr/share/nginx/html
EXPOSE 80 443这样,您最终将得到一个nginx镜像,构建它:
docker build -t my_image .你的作文应该是:
nginx:
restart: always
image: my_image
ports:
- 80:80
- 443:443
volumes:
- $HOME/nginx-log:/var/log/nginxhttps://stackoverflow.com/questions/58585756
复制相似问题