我有一个简单的VUE+Django项目,我希望能够与 docker 集装箱这个项目,但我遇到了一些问题.我有docker文件和docker编写文件在每个子文件夹-前端和后端-如果我CD到任何一个,我可以成功地启动每个单独的项目使用docker编写没有问题.
然而,我希望能够运行一个可以同时创建两个图像的Docker Compose命令.我目前在项目的根目录中有一个docker组合文件,我正在包括组合文件并在服务中引用它们.它只适用于VUE服务,但当我包括Django服务时,它会给我一个错误.错误代码为:
failed to solve: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount2369903057/Dockerfile: no such file or directory
个
Django项目是使用cookiecuter创建的,因此它包含了我在项目中需要的所有内容.以下是我的文件 struct 的一个简单版本:
- api
- compose
- Dockerfile
- docker-compose.yml
- frontend
- Dockerfile
- docker-compose.yml
- docker-compose.yml
以下是我的后端 compose 文件:
volumes:
api_local_postgres_data: {}
api_local_postgres_data_backups: {}
services:
django:
build:
context: .
dockerfile: ./compose/local/django/Dockerfile
image: api_local_django
container_name: api_local_django
depends_on:
- postgres
volumes:
- .:/app:z
env_file:
- ./.envs/.local/.django
- ./.envs/.local/.postgres
ports:
- '8000:8000'
command: /start
postgres:
build:
context: .
dockerfile: ./compose/production/postgres/Dockerfile
image: api_production_postgres
container_name: api_local_postgres
volumes:
- api_local_postgres_data:/var/lib/postgresql/data
- api_local_postgres_data_backups:/backups
env_file:
- ./.envs/.local/.postgres
docs:
image: api_local_docs
container_name: api_local_docs
build:
context: .
dockerfile: ./compose/local/docs/Dockerfile
env_file:
- ./.envs/.local/.django
volumes:
- ./docs:/docs:z
- ./config:/app/config:z
- ./api:/app/api:z
ports:
- '9000:9000'
command: /start-docs
以下是根部构图:
include:
- ./frontend/docker-compose.yml
- ./api/docker-compose.yml
services:
frontend_vue:
build: ./frontend
depends_on:
- vue-ui
backend_django:
build: ./api
depends_on:
- django
backend_postgres:
build: ./api
depends_on:
- postgres
backend_docs:
build: ./api
depends_on:
- docs