0

我总是使用 docker 来部署我的 django 应用程序,但今天我遇到了问题。

这是uwsgidocker-compose.yml 文件中的容器。

uwsgi:
  # Note you cannot scale if you use conteiner_name
  container_name: catalogue-uwsgi
  build: docker
  hostname: uwsgi
  environment:
    - DATABASE_NAME=gis
    - DATABASE_USERNAME=docker
    - DATABASE_PASSWORD=docker
    - DATABASE_HOST=db
    - RABBITMQ_HOST=rabbitmq
    - DJANGO_SETTINGS_MODULE=core.settings.prod_docker
    - VIRTUAL_HOST=catalogue.kartoza.com
    - VIRTUAL_PORT=8080
  volumes:
    - ../django_project:/home/web/django_project
    - ./static:/home/web/static
    - ./media:/home/web/media
    - ./reports:/home/web/reports
    - ./logs:/var/log/
    - ./data:/home/web/django_project/data
  links:
    - smtp:smtp
    - db:db
    - rabbitmq:rabbitmq
    - worker:worker
  restart: on-failure:5

一切正常,但我需要挂载一个包含这么多缩略图文件的目录。尺寸相当大。

我将此行添加/EOSHARE/Karabo/CATALOGUE/thumbnails_cat3:/django_project/thumbs_out volumes行中。然后我重新部署容器。

问题是无法挂载本地目录中的某些文件/目录。我不确定,这是我第一次需要挂载大尺寸目录的经验。

这是我的分析:

这是ls目录:

本地目录:

root@testenv:/EOSHARE/Karabo/CATALOGUE/thumbnails_cat3# ls
AQA  cache  E2  L3  L5  N11  N14  N16  N9   RE2  RE4  S1  S3  S5    S-C  ZA2
C2B  E1     L2  L4  L7  N12  N15  N17  RE1  RE3  RE5  S2  S4  SACC  TER
root@testenv:/EOSHARE/Karabo/CATALOGUE/thumbnails_cat3# 

码头集装箱:

root@uwsgi:/home/web/django_project/thumbs_out# ls
S1  S2  S4  S5  cache

码头集装箱尺寸:

root@testenv:/home/web/catalogue/deployment# docker ps -s
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS                                      NAMES                     SIZE
f1380ac2e1f1        catalogue_uwsgi           "python manage.py mig"   5 minutes ago       Up 5 minutes        8080/tcp                                   catalogue_uwsgi_run_119   283.4 kB (virtual 2.468 GB)
c18553c5141b        nginx                     "nginx -g 'daemon off"   5 minutes ago       Up 5 minutes        80/tcp, 443/tcp, 0.0.0.0:62080->8080/tcp   catalogue-web             2 B (virtual 190.5 MB)
0bb98b3f4500        catalogue_uwsgi           "uwsgi --ini /uwsgi.c"   5 minutes ago       Up 5 minutes        8080/tcp                                   catalogue-uwsgi           252.7 kB (virtual 2.468 GB)
b9166d6cfa8d        catalogue_worker          "celery worker -A cat"   8 days ago          Up 8 days           8080/tcp                                   catalogue_worker_1        373.2 kB (virtual 2.468 GB)
bd65f624cded        library/rabbitmq          "/docker-entrypoint.s"   8 days ago          Up 8 days           4369/tcp, 5671-5672/tcp, 25672/tcp         catalogue_rabbitmq_1      0 B (virtual 300.8 MB)
07f212b09ef8        kartoza/pg-backup:9.4     "/start.sh"              12 weeks ago        Up 4 weeks          5432/tcp                                   catalogue-db-backups      1.071 MB (virtual 497.9 MB)
d32576b47c75        catatnight/postfix        "/bin/sh -c '/opt/ins"   12 weeks ago        Up 4 weeks                                                     catalogue-smtp            11.42 MB (virtual 268 MB)
6404c753dbf8        kartoza/postgis:9.4-2.1   "/bin/sh -c /start-po"   12 weeks ago        Up 6 days           5432/tcp                                   catalogue-db              3.915 GB (virtual 4.411 GB)

容器内部:

root@uwsgi:/home/web/django_project# df -h
Filesystem                                                           Size  Used Avail Use% Mounted on
none                                                                  73G   73G     0 100% /
tmpfs                                                                2.0G     0  2.0G   0% /dev
tmpfs                                                                2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/disk/by-uuid/d02bdc6c-2230-40ce-8407-079095f72488                73G   73G     0 100% /var/log
41.74.147.98:/lustre/lfs01/EOSHARE/Karabo/CATALOGUE/thumbnails_cat3  151T  134T  9.8T  94% /home/web/django_project/thumbs_out
shm                                                                   64M     0   64M   0% /dev/shm

我一直在寻找有关 docker 容器最大大小的答案,我也尝试创建一个卷(docker 卷),然后将目录挂载到该卷,结果是相同的。并非所有目录都可以挂载。

我的问题是:

  1. 码头集装箱是否有任何最大尺寸,如果有,它是多少以及如何增加它?
  2. 有了这个问题,有没有最好的方法将大目录挂载到 docker 容器?
  3. 的输出docker ps -s显示大约 GB 的虚拟大小,但是当我执行到容器时df -h,T 中的输出 -> 请参见上面的输出151T 134T

谢谢。

4

0 回答 0