我总是使用 docker 来部署我的 django 应用程序,但今天我遇到了问题。
这是uwsgi
docker-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 卷),然后将目录挂载到该卷,结果是相同的。并非所有目录都可以挂载。
我的问题是:
- 码头集装箱是否有任何最大尺寸,如果有,它是多少以及如何增加它?
- 有了这个问题,有没有最好的方法将大目录挂载到 docker 容器?
- 的输出
docker ps -s
显示大约 GB 的虚拟大小,但是当我执行到容器时df -h
,T 中的输出 -> 请参见上面的输出151T 134T
。
谢谢。