Постоянный том Docker - PullRequest
       24

Постоянный том Docker

0 голосов
/ 13 декабря 2018

Я пытаюсь создать сервер частного облака Apache WebDAV.

Все мои файлы будут в каталоге / usr / John /, и я могу смонтировать это местоположение для контейнера.Проблема в том, что я также добавлю новые файлы через этот сервер, но что бы я ни пытался, они остаются только внутри контейнера.Есть ли способ отразить те же самые новые файлы также в каталоге хоста (/ usr / John /)?

Я мог бы выполнить периодическую работу, чтобы войти в этот контейнер и скопировать все файлы в каталог хоста, но этоне очень элегантное решение.

1 Ответ

0 голосов
/ 14 декабря 2018

Использовать тома докера.Все ваши постоянные данные, сгенерированные контейнером, будут сохранены в var/lib/docker/volumes.Если вы используете docker-compise, вы можете сделать что-то вроде ниже.Здесь у меня есть 3 тома, и я называю это tomcat-data, host-upload, tomcat-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:
...