小编Cha*_*ste的帖子

Docker 卷 - 需要写入数据库的权限

我正在使用用作 REST API 的烧瓶服务器(在带有 python 3.5 的 virtualenv 中)(仅用于按照烧瓶的建议进行开发)。一开始,它连接到本地 sqlite 数据库,并会尽快提交任何 db 更改。现在我想在 docker 容器中运行所有东西,我想知道如何访问数据库,因为 sqlite 文件位于容器中。

所以我在 docker-compose 文件中创建了一个卷,它指向构建应用程序的 dockerfile。

Dockerfile:

FROM python:latest
ENV HOME /home/parkrep
WORKDIR $HOME
ADD requirements.txt $HOME/requirements.txt
RUN pip install -r requirements.txt
ADD . $HOME
EXPOSE 80
CMD ["python", "server.py"]
Run Code Online (Sandbox Code Playgroud)

.dockerignore

__pycache__
venv
.gitignore
.dockerignore
README.md
Dockerfile
docker-compose.yml
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml

version: '2'
services:
  parkrep:
    build:
      context: ./
      dockerfile: Dockerfile
    volumes:
      - ./output:/home/parkrep/output
    command: ["python", "server.py"]
    ports:
      - "80:80"
Run Code Online (Sandbox Code Playgroud)

如果我运行,docker-compose up我会得到以下信息

parkrep_1  |   File "/home/parkrep/db_connector.py", …
Run Code Online (Sandbox Code Playgroud)

python sqlite docker docker-compose docker-volume

7
推荐指数
1
解决办法
5148
查看次数

标签 统计

docker ×1

docker-compose ×1

docker-volume ×1

python ×1

sqlite ×1