docker - составление занимает много времени в облачной сборке, но я увеличил тип машины - PullRequest
0 голосов
/ 10 марта 2020

Я использую cloud-builder-communitry docker -compose image для запуска django тестов юнитов, и он работает намного медленнее в облаке, однако я увеличил machineType до (N1_HIGHCPU_8, N1_HIGHCPU_32)

Требуется на моей машине (Intel® Core ™ TM i7-4600M CPU @ 2,90 ГГц): 7м48,115 с И в облачной сборке: 15 м 18,019 с, а иногда + 20 м

Решения, которые я пробовал : - Назначение процессоров каждому docker -композитному сервису - Запуск django тестов параллельно

Что бы вы порекомендовали оптимизировать мою реализацию?

Пример docker -создать облако, создайте шаг, который я использую:

- name: gcr.io/${PROJECT_ID}/docker-compose
  id: run_tests
  args: ['-f' , 'docker/docker-compose.yml' , 'up' , '--abort-on-container-exit' , '--exit-code-from' , 'django']

Пример dockercompose.yaml:

version: '2.2'
services:
    redis:
        image: redis
        expose:
            - 6379
    postgres:
        image: postgres:9.6-alpine
        command: -c max_connections=3000 -c fsync=off -c synchronous_commit=off -c full_page_writes=off -c max_locks_per_transaction=64
        tmpfs:
            - /var/lib/postgresql
    datastore:
        image: registry.hub.docker.com/google/cloud-sdk
        entrypoint: bash
        command: gcloud beta emulators datastore start --host-port=datastore:8081
    pubsub:
        image: registry.hub.docker.com/google/cloud-sdk
        entrypoint: bash
        command: gcloud beta emulators pubsub start --host-port=pubsub:8085
    django:
        entrypoint: bash
        image: gcr.io/turing-striker-251910/base-image-python
        command: >
            -c "
            coverage run ./manage.py test -v 0 core.tests --noinput --parallel &&
            coverage combine &&
            coverage report &&
            coverage xml"
        depends_on:
            - pubsub
            - datastore
            - redis
            - postgres

1 Ответ

0 голосов
/ 10 марта 2020

Docker compose не работает только с типом машины, он также работает с сетью, и если вы заметили, что docker изображение имеет размер в значении переменной, я протестировал пустой контейнер, чтобы создать его изображение, и он имеет размер 1,42 ГБ, и этот размер очень подходит для загрузки и создания приложения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...