【问题标题】:How to store and recover data from docker container?如何从 docker 容器中存储和恢复数据?
【发布时间】:2020-08-09 10:23:51
【问题描述】:

我正在使用 docker 和 docker-compose 来部署我的烧瓶应用程序(顺便说一句,我注意到我的 django 应用程序也存在同样的问题)。问题是:当我开始向 database.db 添加一些静态文件或 sqlite 数据时,它在 docker 中运行时工作正常,但是当我重新启动容器时,所有数据和静态文件都消失了。似乎 docker 不存储数据,只是将其保存在容器中。我在我的服务中添加了卷,但不幸的是它仍然无法正常工作。

我的docker-compose.yml

  1   version: '3.5'
    1 
    2 services:
    3   flask_app:
    4     container_name: flask_app
    5     build:
    6       context: .
    7       dockerfile: Dockerfile
    8     environment:
    9       - TBOT_SECRET_KEY='youwillneverguess'
   10       - TBOT_ADMIN_PASSWORD='qwerty'
   11       - TBOT_ADMIN_USERNAME='admin'
   12     ports:
   13       - "80:5000"
   14     restart: always
   15     volumes:
!  16       - db:/var/lib/tarkov_bot/data
   17 
   18 volumes:
!  19     db:

还有Dockerfile

2   FROM python:3.7
  1 
  2 # create and set working directory
  3 RUN mkdir /app
  4 WORKDIR /app
  5 
  6 # Add current directory code to working directory
  7 ADD . /app/
  8 
  9 # set default environment variables
 10 ENV PYTHONUNBUFFERED 1
 11 ENV LANG C.UTF-8
 12 ENV DEBIAN_FRONTEND=noninteractive 
 13 
 14 # Install system dependencies
 15 RUN apt-get update && apt-get install -y --no-install-recommends \
 16         tzdata \
 17         python3-setuptools \
 18         python3-pip \
 19         python3-dev \
 20         python3-venv \
 21         git \
 22         && \
 23     apt-get clean && \
 24     rm -rf /var/lib/apt/lists/*
 25 
 26 
 27 # install environment dependencies
 28 RUN pip3 install --upgrade pip 
 29 
 30 # Install project dependencies
 31 RUN pip3 install -r requirements.txt
 32 
 33 EXPOSE 5000
 34 
 35 CMD gunicorn -b 0.0.0.0:5000 app:app

~

【问题讨论】:

    标签: docker deployment docker-compose


    【解决方案1】:

    我很害怕docker volumes 是这样做的方法。如果它不起作用,则意味着您需要在存储所需持久数据的地方安装更多卷。

    另一种不太优雅的可能性是使用docker commit 来保存当前 docker 的快照,并将其另存为新图像。

    我建议第一个目的:调查您需要在挂载的卷中保存哪些其他文件。

    【讨论】:

      猜你喜欢
      • 2020-10-15
      • 2021-06-02
      • 1970-01-01
      • 2021-02-26
      • 2022-01-04
      • 2018-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多