这似乎是我对卷的误解。我有一个包含两个服务的 docker-compose 文件:jobs一个是从 Dockerfile 构建的 Flask api(见下文),另一个mongo是来自官方 MongoDb 镜像。
我有两个卷:- .:/code从我的主机工作目录链接到/code容器中的文件夹,以及一个命名卷mongodata。
version: "3"
services:
jobs:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
environment:
FLASK_ENV: ${FLASK_ENV}
FLASK_APP: ${FLASK_APP}
depends_on:
- mongo
mongo:
image: "mongo:3.6.21-xenial"
restart: "always"
ports:
- "27017:27017"
volumes:
- mongodata:/data/db
environment:
MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME}
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD}
volumes:
mongodata:
Run Code Online (Sandbox Code Playgroud)
服务的 Dockerfile jobs:
FROM python:3.7-alpine
WORKDIR /code
ENV FLASK_APP=job-checker
ENV FLASK_ENV=development
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
EXPOSE …Run Code Online (Sandbox Code Playgroud)