运行 docker-Saleor 的撰写似乎陷入了循环,想法?

Running docker-compose for Saleor appears to be caught in a loop, thoughts?

我正在尝试 运行 docker-按照说明 here 进行组合,但它似乎陷入了循环。在 Docker 安装之前,我能够启动示例站点并进行一些外观更改,但是尝试使用 docker-compose 生成缩略图 230180 次(我 运行一夜之间)。有什么想法吗?

saleor-celery | saleor-celery | INFO saleor.core.utils Created 6 thumbnails [PID:11:MainThread] saleor-celery | [2018-09-14 20:03:54,249: INFO/ForkPoolWorker-1] Created 6 thumbnails saleor-celery | [2018-09-14 20:03:54,295: INFO/ForkPoolWorker-1] Task saleor.product.thumbnails.create_product_thumbnails[7a05b320-4656-4304-a8a1-e9fef3cb4cd8] succeeded in 1.5320279000000028s: None saleor-celery | [2018-09-14 20:03:54,298: INFO/MainProcess] Received task: saleor.product.thumbnails.create_product_thumbnails[fd833000-45f5-4029-abec-e6b828ee01af] saleor-celery | INFO saleor.core.utils Creating thumbnails for 230179 [PID:11:MainThread] saleor-celery | [2018-09-14 20:03:54,302: INFO/ForkPoolWorker-1] Creating thumbnails for 230179 saleor-celery | [2018-09-14 20:03:55,135: INFO/MainProcess] Received task: saleor.product.thumbnails.create_product_thumbnails[7de5385c-7fc3-45c6-9ad0-133442b2ad0c] saleor-celery | saleor-celery | INFO saleor.core.utils Created 6 thumbnails [PID:12:MainThread] saleor-celery | [2018-09-14 20:03:56,049: INFO/ForkPoolWorker-2] Created 6 thumbnails saleor-celery | saleor-celery | INFO saleor.core.utils Created 6 thumbnails [PID:11:MainThread] saleor-celery | [2018-09-14 20:03:56,404: INFO/ForkPoolWorker-1] Created 6 thumbnails saleor-celery | [2018-09-14 20:03:56,545: INFO/ForkPoolWorker-1] Task saleor.product.thumbnails.create_product_thumbnails[96859bd2-cb9d-49d0-ac6c-0010bf3bf76d] succeeded in 2.244128099999898s: None saleor-celery | INFO saleor.core.utils Creating thumbnails for 230180 [PID:11:MainThread] saleor-celery | [2018-09-14 20:03:56,550: INFO/ForkPoolWorker-1] Creating thumbnails for 230180

Windows 10

Python3.6

最新(稳定)Saleor

您使用的 Saleor 是什么版本?

你能试试吗运行:

docker-compose up -d 
docker-compose exec web /bin/sh -c ' python3  manage.py migrate && python3 manage.py collectstatic && python3 manage.py populatedb --createsuperuser'

Saleor 中针对此错误提出了一个问题:https://github.com/mirumee/saleor/issues/3114

截至我撰写本文时,还没有官方修复程序,但列出了多种解决方法。

This issue should be already resolved, using --rm has been documented.

对于您关于 生成缩略图 的案例,我建议 运行 create_thumbnails between the code for populate the Example Data and docker-compose up

所以 documented code 稍微改变如下

$ docker-compose config
$ docker-compose build

$ docker-compose run --rm saleor python3 manage.py migrate
$ docker-compose run --rm saleor python3 manage.py collectstatic --noinput --clear
$ docker-compose run --rm saleor python3 manage.py populatedb --createsuperuser
$ docker-compose run --rm saleor python3 manage.py create_thumbnails

$ docker-compose up

请注意:

  • create_thumbnails 会将缩略图放在 app/media/__sized__
  • 一些缩略图,包括类别页面的背景图片,将由celeryapp/media/__sized__/*backgrounds单独制作针对来自 redis.
  • 任务

以下是完整的任务currently assigned by using celery:

Step #1: [tasks]
Step #1:   . saleor.account.emails.send_account_delete_confirmation_email
Step #1:   . saleor.account.emails.send_password_reset_email
Step #1:   . saleor.account.thumbnails.create_user_avatar_thumbnails
Step #1:   . saleor.core.analytics.ga_report
Step #1:   . saleor.core.utils.update_conversion_rates_from_openexchangerates
Step #1:   . saleor.dashboard.emails.send_promote_customer_to_staff_email
Step #1:   . saleor.dashboard.emails.send_set_password_customer_email
Step #1:   . saleor.dashboard.emails.send_set_password_staff_email
Step #1:   . saleor.order.emails.send_fulfillment_confirmation
Step #1:   . saleor.order.emails.send_fulfillment_update
Step #1:   . saleor.order.emails.send_order_confirmation
Step #1:   . saleor.order.emails.send_payment_confirmation
Step #1:   . saleor.product.tasks.update_variants_names
Step #1:   . saleor.product.thumbnails.create_category_background_image_thumbnails
Step #1:   . saleor.product.thumbnails.create_collection_background_image_thumbnails
Step #1:   . saleor.product.thumbnails.create_product_thumbnails

如果顺序错位,整个过程会消耗大量内存。你可能还想compose upthe services一个接一个。我发现正确的顺序如下:

$ docker-compose up -d redis
$ docker-compose up -d celery
$ docker-compose up -d postgres

$ docker-compose up saleor

全部合并

$ docker-compose config
$ docker-compose build

$ docker-compose run --rm saleor python3 manage.py migrate
$ docker-compose run --rm saleor python3 manage.py collectstatic --noinput --clear
$ docker-compose run --rm saleor python3 manage.py populatedb --createsuperuser
$ docker-compose run --rm saleor python3 manage.py create_thumbnails

$ docker-compose up -d redis
$ docker-compose up -d celery
$ docker-compose up -d postgres

$ docker-compose up saleor