我的任务是将有角度的应用程序码头化,并与Nginx一起使用。
遵循了很多博客示例和教程,但是似乎没有帮助。 我已经将angular项目构建到了dist文件夹,并希望将此文件夹连同其他不同的微服务一起移到已构建容器中的nginx-> html目录中。
这就是我的docker项目的结构
-dist
-Docker文件
-dockerignore
-default.config
FROM nginx
删除默认的nginx网站 运行rm -rf / usr / share / nginx / html / *
复制./dist / usr / share / nginx / html
复制./nginx.conf /etc/nginx/conf.d/default.conf
在该目录的顶部还有一堆其他需要与angular应用程序一起运行的服务,这些应用程序均按预期运行。使用以下docker-compose.yml文件
版本:“ 3.2”
服务:
管理员入口:
版本:./adminPortal
端口:
-“ 80:80”
卷:
-“ / usr / share / nginx / html:/ usr / share / nginx / html”
-“ /etc/nginx/conf.d:/etc/nginx/conf.d”
当我使用docker build构建此容器并运行时,它按预期运行“将dist内容复制到正确的文件夹并将配置复制到正确的dir”。 但是,如果使用docker-compose up --build进行构建,则一切运行正常,不返回错误,但不会将文件复制到各自的nignx文件夹中。
谢谢。 :(
答案 0 :(得分:1)
我遇到了类似的问题,我解决了将 --build
参数传递给 docker-compose
命令的问题,如下所示:
docker-compose up --build
通过这种方式,您将强制 docker-compose 构建您的镜像。就我而言,docker-compose.yml
文件如下所示:
version: '3'
services:
nginx:
ports:
- "80:80"
- "443:443"
build:
context: .
dockerfile: Dockerfile