أنا أتابع التكوين المعطى في هذا مستودع. قررت الاحتفاظ بتكوين عامل الإرساء والرمز الفعلي في مستودعات منفصلة-سأقوم باستنساخ رمز الريبو باستخدام ملف الإرساء. أنا باستخدام عامل الميناء آلة (محليا ، وذلك باستخدام برنامج تشغيل فيرتثلبوإكس) والإعداد عامل الميناء يؤلف.
بنية الدليل رمز الريبو هو تقريبا على النحو التالي -:
|-- bower.json|-- CONTRIBUTORS|-- defsec| |-- defsec| | |-- aws_settings.py| | |-- heroku_settings.py| | |-- __init__.py| | |-- settings.py| | |-- urls.py| | |-- views.py| | `-- wsgi.py| |-- manage.py| |-- quiz_restful| | |-- __init__.py| | |-- permissions.py| | |-- serializers.py| | |-- services.py| | |-- tests.py| | `-- views.py| `-- users| |-- __init__.py| |-- models.py| |-- permissions.py| |-- serializers.py| `-- views.py|-- extras|-- gulpfile.js|-- package.json|-- Procfile|-- README.md|-- requirements.txt|-- scripts| `-- postInstall.sh|-- static| |-- javascripts| | |-- app.js| | |-- controllers| | | `-- controllers.js| | |-- directives| | | `-- directives.js| | `-- services| | `-- services.js| |-- partials| | |-- eval.html| | |-- exam.html| | |-- exam-partials| | | |-- exam-view.html| | | `-- sidebar.html| | |-- login.html| | `-- register.html| `-- stylesheets| `-- styles.css|-- templates| |-- index.html| |-- javascripts.html| |-- navbar.html| `-- stylesheets.html
ال docker-compose.yml
الملف هو نفسه تقريبا كما ان من مستودع أنا المذكورة أعلاه، مع اختلاف بسيط أنني شنت django
على حجم .:/root
- والتي بدونها [8] System error: no file or directory
تم طرح الخطأ. ربما كان هذا بسبب /usr/src/app
غير موجود قبل الاستنساخ (كمرجع, هذا هو الملف الأصلي). دوكيرفيل (ل django
الخدمة) لديه ما يلي -:
FROM ubuntu:14.04ENV DJANGO_CONFIGURATION Docker# First, we need to get git, and clone our repository# Additionally, get everything else here too, such as nodejs and npmRUN apt-get updateRUN apt-get install -y ca-certificates git-core ssh nodejs npm python-pip libpq-dev python-devRUN ln -s /usr/bin/nodejs /usr/bin/nodeENV HOME /root# Add custom ssh keypair - usually Bitbucket deployment keysADD ssh/ /root/.ssh/# Fix permissionsRUN chmod 600 /root/.ssh/*# Avoid first connection host confirmationRUN ssh-keyscan bitbucket.org > /root/.ssh/known_hosts# Clone the repoWORKDIR /usr/src/appRUN git clone git@bitbucket.org:username/defsec-exam-app.git# Install requirementsWORKDIR /usr/src/app/defsec-exam-appRUN pip install -r requirements.txtRUN npm install -g bowerRUN bower --allow-root install# Remember to perform migrations on your own, and also create DB when needed.# S3 Storage...# DB Settings...WORKDIR /usr/src/app/defsec-exam-app/defsecCMD ["gunicorn", "defsec.wsgi", "-w", "2", "-b", "0.0.0.0:8000", "--log-level", "-"]
وأخيرا ، فإن nginx.conf
لخدمة الملفات الثابتة على النحو التالي -:
worker_processes 1;events { worker_connections 1024;}http { server { listen 80; server_name example.org; access_log /dev/stdout; error_log /dev/stdout info; location /static/ { alias /usr/src/app/defsec-exam-app/static; } location /static/javascripts/ { default_type text/javascript; alias /usr/src/app/defsec-exam-app/static/javascripts/; } location /static/stylesheets/ { default_type text/css; alias /usr/src/app/defsec-exam-app/static/stylesheets/; } location /static/bower_components/ { alias /usr/src/app/defsec-exam-app/static/bower_components/; } location / { proxy_pass http://django:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $server_name; } }}
ومع ذلك ، لا أستطيع الحصول على إنجن إكس لخدمة الملفات الثابتة على الإطلاق - كل منهم يعود 404. تساءلت عما إذا كان الربط بين nginx
و django
خدمات الحاويات (كما هو محدد في docker-compose.yml
) كان غير صحيح ، ولكن لا يبدو مثل ذلك. أنا أيضا تفقد /etc/hosts
الملف في nginx
حاوية ، لربط يخلق إدخالات ملف المضيف.
172.17.0.136 151ca02e891a127.0.0.1 localhost::1 localhost ip6-localhost ip6-loopbackfe00::0 ip6-localnetff00::0 ip6-mcastprefixff02::1 ip6-allnodesff02::2 ip6-allrouters172.17.0.134 defsecdocker_django_1 eb900ed9600c172.17.0.135 defsecdocker_nginx_1 eec99206076a172.17.0.134 django eb900ed9600c defsecdocker_django_1172.17.0.134 django_1 eb900ed9600c defsecdocker_django_1172.17.0.135 nginx eec99206076a defsecdocker_nginx_1172.17.0.135 nginx_1 eec99206076a defsecdocker_nginx_1172.17.0.116 defsecdocker_postgres_1172.17.0.134 defsecdocker_django_1172.17.0.135 defsecdocker_nginx_1.bridge172.17.0.136 defsecdocker_nginx_run_10.bridge172.17.0.135 defsecdocker_nginx_1172.17.0.136 defsecdocker_nginx_run_10172.17.0.116 defsecdocker_postgres_1.bridge172.17.0.134 defsecdocker_django_1.bridge
لست متأكدا مما إذا كان هذا صحيحا ، حيث لا يوجد سوى 3 حاويات ولكن هناك الكثير من الإدخالات في ملف المضيفين ، وبعضها مكرر. هذا سلوك قابل للتكرار-أحصل على هذا الملف الدقيق في كل مرة أقوم فيها ببناء الحاوية وتشغيلها باستخدام عامل الإرساء. عامل الميناء-يؤلف سجلات ل nginx
تأكيد 404.
أي مؤشرات سيكون موضع تقدير كبير.