Некоторое время я пытаюсь исправить интеграцию CI с gitlab runner. Мой бегун настроен на использование Docker для задач, и поэтому создается контейнер dind для автоматизации создания и развертывания образа с помощью CI / CD. На моей рабочей станции, когда я выполняю вручную docker -compose, развертывание работает. Когда мой бегун делает это, контейнер с клубом ломается и не встает.
version: '3.7'
services:
blub:
container_name: blub
image: blub:staging
privileged: true
volumes:
- ./:/code/blub
- /var/docker/blub/settings:/code/blub/blub/settings
- static_files:/code/static
- media_files:/code/media
depends_on:
- postgres
environment:
DJANGO_ENV: production
command: gunicorn blub.wsgi:application --bind 0.0.0.0:8000 --workers 3
postgres:
container_name: blub-postgres
image: postgres
restart: unless-stopped
environment: # will be used by the init script
LC_ALL: C.UTF-8
POSTGRES_USER: blub
POSTGRES_PASSWORD: thisisreal!
POSTGRES_DB: blub
volumes:
- postgres_data:/var/postgres/data/blub
nginx:
container_name: blub-nginx
image: nginx
ports:
- 8000
volumes:
- ./nginx-blub.conf:/etc/nginx/conf.d/default.conf
- static_files:/var/www/static
- media_files:/var/www/media
depends_on:
- blub
volumes:
static_files:
media_files:
postgres_data:
I guess the issues are coming from the volumes I try to bind, for example:
volumes:
- ./:/code/blub
Потому что, когда я пытаюсь отладить сломанный контейнер, я вижу, что внутри / code / blub нет содержимого, хотя я ожидаю, что вся структура кода из моего репозитория там.
Я уже много чего перепробовал, у меня заканчиваются идеи. Может быть, у кого-то есть ответ. Появляется сообщение об ошибке, когда я отлаживаю мои машины blub, что подтверждает мое расследование относительно пустой папки, которая должна быть заполнена исходным кодом et c.:
[2020-01-09 22:24:51 +0000] [1] [INFO] Starting gunicorn 20.0.4
[2020-01-09 22:24:51 +0000] [1] [INFO] Listening at: http://0.0.0.0:8000 (1)
[2020-01-09 22:24:51 +0000] [1] [INFO] Using worker: sync
[2020-01-09 22:24:51 +0000] [8] [INFO] Booting worker with pid: 8
[2020-01-09 22:24:51 +0000] [8] [ERROR] Exception in worker process
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
worker.init_process()
File "/usr/local/lib/python3.7/site-packages/gunicorn/workers/base.py", line 119, in init_process
self.load_wsgi()
File "/usr/local/lib/python3.7/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi
self.wsgi = self.app.wsgi()
File "/usr/local/lib/python3.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
File "/usr/local/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 49, in load
return self.load_wsgiapp()
File "/usr/local/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp
return util.import_app(self.app_uri)
File "/usr/local/lib/python3.7/site-packages/gunicorn/util.py", line 358, in import_app
mod = importlib.import_module(module)
File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'blub.wsgi'
[2020-01-09 22:24:51 +0000] [8] [INFO] Worker exiting (pid: 8)
[2020-01-09 22:24:51 +0000] [1] [INFO] Shutting down: Master
[2020-01-09 22:24:51 +0000] [1] [INFO] Reason: Worker failed to boot.