gpt4 book ai didi

javascript - 无论如何,我可以在一个 docker 容器中构建网络并将其部署在另一个 docker 容器中吗?

转载 作者:行者123 更新时间:2023-11-30 13:49:19 25 4
gpt4 key购买 nike

你知道我现在正在尝试在一个 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-build

jump-ui-build 服务运行并成功完成并在 jump-ui 文件夹下生成 dist 文件夹,但是当我尝试“docker exec -it”访问 nginx 服务并切换到/usr/share/nginx/html,是empy文件夹,所以我必须手动启动jump-ui-build服务和启动nginx服务,部署成功?

有没有修改yum脚本可以成功自动搭建和部署web的?

最佳答案

你可以使用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/nginx

关于javascript - 无论如何,我可以在一个 docker 容器中构建网络并将其部署在另一个 docker 容器中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58585756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com