【问题标题】:Persistent Docker volume持久的 Docker 卷
【发布时间】:2018-12-13 17:16:08
【问题描述】:

我正在尝试构建一个 Apache WebDAV 私有云服务器。

我所有的文件都在 /usr/John/ 目录中,我可以挂载这个位置供容器使用。问题是我还将通过此服务器添加新文件,但无论我尝试什么,它们都只保留在容器中。有没有办法在主机目录(/usr/John/)中也反映相同的新文件?

我可以做一个经常性的工作来进入这个容器并将所有文件 CP 到主机目录,但这不是一个非常优雅的解决方案。

【问题讨论】:

  • 您使用的是 docker-compose 文件吗?可以发一下吗?
  • 您能否粘贴您用于运行容器的完整命令?
  • 是的,我正在使用带有 docker-compose 的卷,但更改仅反映在容器中,.. 我用作卷的目录没有按照应有的新文件更新。

标签: apache docker containers persistence


【解决方案1】:

使用 docker 卷。容器生成的所有持久数据都将保存到var/lib/docker/volumes。如果您使用的是 docker-compise,则可以执行以下操作。在这里,我有 3 卷,我将其命名为 tomcat-datahost-uploadtomcat-webapps。这里我放入tomcat-data/home/foo/upload/usr/local/tomcat/webapps的所有数据都将存储在var/lib/docker/volumes内部的主机上。因此,即使容器关闭并且您启动另一个容器,这些目录中的所有数据都将被保留。如果您有任何问题,请告诉我。

您还可以将挂载主机目录直接绑定到 docker 容器上。如果您有任何问题,请告诉我

version: '3.2'
services:
  tomcat:
    image: "ciena/tomcat"
    volumes:
      - tomcat-data:/tomcat-data
      - host-upload:/home/foo/upload
      - tomcat-webapps:/usr/local/tomcat/webapps
    ports:
      - target: 8080
        published: 8080
        protocol: tcp
        mode: ingress
      - target: 2222
        published: 22
        protocol: tcp
        mode: ingress
    environment:
      - JAVA_MIN_HEAP=256m
      - JAVA_MAX_HEAP=512m
    deploy:
      placement:
        constraints:
          - node.role == manager
      replicas: 1
      resources:
        limits:
          memory: 1024M
          cpus: '0.5'
        reservations:
          memory: 512M
          cpus: '0.001'
      restart_policy:
        condition: any
        delay: 5s
        max_attempts: 3
        window: 60s
volumes:
  tomcat-data:
  host-upload:
  tomcat-webapps:
networks:
  default:

【讨论】:

  • 我希望挂载和主机文件夹的目录相同。直接挂载是指挂载这个“var/lib/docker/volume”并将所有文件保存在那里?
  • Docker 卷是首选。但是,如果您想维护相同的目录,请使用 bind mount 。 volumes - type: bind source: ./static target: /opt/app/static
  • 我正在尝试通过 docker-compose.yaml 进行此操作,但它不起作用。我收到语法错误。您还有其他想法吗?
  • 由于语法错误,您无法规避解决方案。修好它。有多难?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-13
  • 2021-12-28
  • 1970-01-01
  • 2018-04-19
  • 1970-01-01
  • 2019-06-02
  • 1970-01-01
相关资源
最近更新 更多