jpbruinsslot / docker-django

A project to get you started with Docker and Django.
MIT License
179 stars 62 forks source link

Can't run starter-project #8

Closed egregors closed 8 years ago

egregors commented 8 years ago

Hi! Thanks for your project, it's pretty useful for me. I have used previous version, but got problem with current release. Literally, I can't run starter project. All containers are completely done, all looks fine, but I can't get any response on MYIP:80, or MYIP:443.

logs:

➜  docker-django git:(master) ls
LICENSE            README.md          circle.yml         config             docker-compose.yml services           webapp
➜  docker-django git:(master) docker-compose up
Pulling db (postgres:9.4)...
9.4: Pulling from library/postgres
523ef1d23f22: Pull complete
140f9bdfeb97: Pull complete
8b57c6bf5c36: Pull complete
ada8aa55613a: Pull complete
b3de40c730c6: Pull complete
7b8f7ba65711: Pull complete
1bb8b8636476: Pull complete
eca1007b842c: Pull complete
189c3f75d39c: Pull complete
b17cf3653712: Pull complete
0b26aa7cec73: Pull complete
31fca6a6d25c: Pull complete
67eebf86eece: Pull complete
6b4a2f54d551: Pull complete
dc6bef69cb62: Pull complete
392fdc82075f: Pull complete
75a9a1efb957: Pull complete
8249cabadf94: Pull complete
553a94d3ee6d: Pull complete
2e5da4125733: Pull complete
8692541324b3: Pull complete
Digest: sha256:f185069f51973c98b553e4b742fc9fd8bb8cec758c223ad8c64d6cb76dd9c863
Status: Downloaded newer image for postgres:9.4
Creating dockerdjango_db_1
Building webapp
Step 1 : FROM python:3.4
3.4: Pulling from library/python
5c63804eac90: Pull complete
ce2b29af7753: Pull complete
5c2bdca41b86: Pull complete
b48f4076b06d: Pull complete
d6788afe8670: Pull complete
bbdcc687a0f0: Pull complete
e947b4ddfa1b: Pull complete
67716873f83e: Pull complete
a061b101ffad: Pull complete
11fe22a6a6d3: Pull complete
453cd3efd83e: Pull complete
Digest: sha256:0b53d27ef6eab3d340f8566601cb42fb8831f6a0368b622341c8f2eb30fdbd7b
Status: Downloaded newer image for python:3.4
 ---> 453cd3efd83e
Step 2 : ADD ./webapp/starter /srv/starter
 ---> bb2c4b8b0191
Removing intermediate container 50a0f5ff7fde
Step 3 : ADD ./webapp/config/requirements.txt /srv/starter/
 ---> 0acf93c2e437
Removing intermediate container df40bd08280a
Step 4 : RUN pip3 install -r /srv/starter/requirements.txt
 ---> Running in 6de42a4895e9
Collecting django==1.9.1 (from -r /srv/starter/requirements.txt (line 1))
  Downloading Django-1.9.1-py2.py3-none-any.whl (6.6MB)
Collecting uwsgi==2.0.11.1 (from -r /srv/starter/requirements.txt (line 2))
  Downloading uwsgi-2.0.11.1.tar.gz (782kB)
Collecting psycopg2==2.6.1 (from -r /srv/starter/requirements.txt (line 3))
  Downloading psycopg2-2.6.1.tar.gz (371kB)
Installing collected packages: django, uwsgi, psycopg2
  Running setup.py install for uwsgi
  Running setup.py install for psycopg2
Successfully installed django-1.9.1 psycopg2-2.6.1 uwsgi-2.0.11.1
 ---> 8cb8dfda9fa4
Removing intermediate container 6de42a4895e9
Step 5 : ADD ./webapp/config/start.sh /
 ---> 34f9302090bc
Removing intermediate container ac45ecb9b981
Step 6 : ADD ./webapp/config/django-uwsgi.ini /etc/uwsgi/django-uwsgi.ini
 ---> 6f338cf307a1
Removing intermediate container cc8956bbaa27
Step 7 : ADD ./webapp/config/database-check.py /srv/config/database-check.py
 ---> 6a69b18bcde9
Removing intermediate container e61053d06816
Step 8 : RUN adduser --no-create-home --disabled-login --group --system django
 ---> Running in 8cddddcd366d
Adding system user `django' (UID 104) ...
Adding new group `django' (GID 108) ...
Adding new user `django' (UID 104) with group `django' ...
Not creating home directory `/home/django'.
 ---> d65bd967ca77
Removing intermediate container 8cddddcd366d
Step 9 : RUN chown -R django:django /srv/starter
 ---> Running in a2c69aa27461
 ---> a1488a5fca17
Removing intermediate container a2c69aa27461
Step 10 : CMD ./start.sh
 ---> Running in a3a2dc807025
 ---> 6e7461918ece
Removing intermediate container a3a2dc807025
Successfully built 6e7461918ece
Creating dockerdjango_webapp_1
Building webserver
Step 1 : FROM nginx:1.9.6
1.9.6: Pulling from library/nginx
a719479f5894: Pull complete
91bac885982d: Pull complete
3df5aff384fc: Pull complete
4f3dc531a45a: Pull complete
687dd94c3fd3: Pull complete
c82313fe3553: Pull complete
2382c1a417f1: Pull complete
ae6f47df6e10: Pull complete
011ed111f209: Pull complete
a155348e45f6: Pull complete
341926a0a917: Pull complete
81415e35fc6c: Pull complete
Digest: sha256:55aa237fd10b203d2160b65c33b444c8dd94ebdbe121f3ff0e05daa496301c70
Status: Downloaded newer image for nginx:1.9.6
 ---> 81415e35fc6c
Step 2 : ADD ./services/webserver/config/start.sh /
 ---> 7375523f5c7e
Removing intermediate container 063a6e4bd91d
Step 3 : RUN chmod +x start.sh
 ---> Running in 55b57e098d8c
 ---> f7c739b05833
Removing intermediate container 55b57e098d8c
Step 4 : ADD ./config/utils/template/template /usr/local/bin/template
 ---> 3a0157d40ec4
Removing intermediate container e9f32a3034df
Step 5 : RUN chmod +x /usr/local/bin/template
 ---> Running in 811d8c9364e8
 ---> c0c186b4fb88
Removing intermediate container 811d8c9364e8
Step 6 : ADD ./services/webserver/config/nginx.tmpl /
 ---> 554b81cf6e7a
Removing intermediate container af463ba0be19
Step 7 : ADD ./services/webserver/config/*.crt /etc/ssl/certs/
 ---> 9502a719ed2d
Removing intermediate container 837c3092495b
Step 8 : ADD ./services/webserver/config/*.key /etc/ssl/private/
 ---> c68093d4978a
Removing intermediate container f381802e4a3a
Step 9 : CMD ./start.sh
 ---> Running in 77d8e7f21fb0
 ---> 30a92014e828
Removing intermediate container 77d8e7f21fb0
Successfully built 30a92014e828
Creating dockerdjango_webserver_1
Attaching to dockerdjango_db_1, dockerdjango_webapp_1, dockerdjango_webserver_1
webapp_1    | ==> Django setup, executing: flush
webapp_1    | ==> Django setup, executing: migrate
db_1        | The files belonging to this database system will be owned by user "postgres".
db_1        | This user must also own the server process.
db_1        |
webapp_1    | Operations to perform:
webapp_1    |   Apply all migrations: sessions, auth, admin, contenttypes
db_1        | The database cluster will be initialized with locale "en_US.utf8".
webapp_1    | Running migrations:
db_1        | The default database encoding has accordingly been set to "UTF8".
db_1        | The default text search configuration will be set to "english".
webapp_1    |   Rendering model states... DONE
db_1        |
webapp_1    |   Applying contenttypes.0001_initial... OK
webapp_1    |   Applying auth.0001_initial... OK
db_1        | Data page checksums are disabled.
db_1        |
db_1        | fixing permissions on existing directory pgdata ... ok
webapp_1    |   Applying admin.0001_initial... OK
db_1        | creating subdirectories ... ok
webapp_1    |   Applying admin.0002_logentry_remove_auto_add... OK
webapp_1    |   Applying contenttypes.0002_remove_content_type_name... OK
db_1        | selecting default max_connections ... 100
webapp_1    |   Applying auth.0002_alter_permission_name_max_length... OK
db_1        | selecting default shared_buffers ... 128MB
webapp_1    |   Applying auth.0003_alter_user_email_max_length... OK
webapp_1    |   Applying auth.0004_alter_user_username_opts... OK
db_1        | selecting dynamic shared memory implementation ... posix
webapp_1    |   Applying auth.0005_alter_user_last_login_null... OK
db_1        | creating configuration files ... ok
webapp_1    |   Applying auth.0006_require_contenttypes_0002... OK
db_1        | creating template1 database in pgdata/base/1 ... ok
webapp_1    |   Applying auth.0007_alter_validators_add_error_messages... OK
db_1        | initializing pg_authid ... ok
webapp_1    |   Applying sessions.0001_initial... OK
db_1        | initializing dependencies ... ok
webapp_1    | ==> Django setup, executing: collectstatic
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/fonts/LICENSE.txt'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Light-webfont.woff'
db_1        | creating system views ... ok
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Bold-webfont.woff'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Regular-webfont.woff'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/fonts/README.txt'
db_1        | loading system objects' descriptions ... ok
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/js/prepopulate.js'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/js/collapse.js'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/js/calendar.js'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/js/urlify.js'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/js/actions.min.js'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/js/jquery.init.js'
db_1        | creating collations ... ok
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/js/collapse.min.js'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/js/actions.js'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/js/core.js'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/js/inlines.js'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/js/SelectFilter2.js'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/js/timeparse.js'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/js/inlines.min.js'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/js/SelectBox.js'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/js/prepopulate.min.js'
db_1        | creating conversions ... ok
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js'
db_1        | creating dictionaries ... ok
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE-XREGEXP.txt'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/LICENSE-JQUERY.txt'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.js'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/img/selector-icons.svg'
db_1        | setting privileges on built-in objects ... ok
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/img/tooltag-add.svg'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/img/calendar-icons.svg'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/img/LICENSE'
db_1        | creating information schema ... ok
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/img/icon-yes.svg'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/img/tooltag-arrowright.svg'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/img/icon-alert.svg'
db_1        | loading PL/pgSQL server-side language ... ok
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/img/sorting-icons.svg'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/img/icon-addlink.svg'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/img/icon-no.svg'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/img/icon-changelink.svg'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/img/icon-unknown-alt.svg'
db_1        | vacuuming database template1 ... ok
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/img/icon-calendar.svg'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/img/inline-delete.svg'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/img/icon-deletelink.svg'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/img/icon-clock.svg'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/img/search.svg'
db_1        | copying template1 to template0 ... ok
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/img/README.txt'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/img/icon-unknown.svg'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_off.svg'
db_1        | copying template1 to postgres ... ok
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_on.svg'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/css/rtl.css'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/css/fonts.css'
db_1        | syncing data to disk ... ok
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/css/forms.css'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/css/login.css'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/css/base.css'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/css/dashboard.css'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/css/widgets.css'
webapp_1    | Copying '/usr/local/lib/python3.4/site-packages/django/contrib/admin/static/admin/css/changelists.css'
db_1        |
webapp_1    |
webapp_1    | 56 static files copied to '/srv/static-files'.
db_1        | WARNING: enabling "trust" authentication for local connections
db_1        | You can change this by editing pg_hba.conf or using the option -A, or
webapp_1    | ==> Starting uWSGI ...
db_1        | --auth-local and --auth-host, the next time you run initdb.
webapp_1    | *** Starting uWSGI 2.0.11.1 (64bit) on [Mon Jan 25 03:41:12 2016] ***
db_1        |
db_1        | Success. You can now start the database server using:
db_1        |
db_1        |     postgres -D pgdata
db_1        | or
webapp_1    | compiled with version: 4.9.2 on 25 January 2016 03:40:06
db_1        |     pg_ctl -D pgdata -l logfile start
db_1        |
webapp_1    | os: Linux-4.1.13-boot2docker #1 SMP Fri Nov 20 19:05:50 UTC 2015
webapp_1    | nodename: 3e264d68836e
db_1        | waiting for server to start....LOG:  database system was shut down at 2016-01-25 03:38:07 UTC
webapp_1    | machine: x86_64
db_1        | LOG:  MultiXact member wraparound protections are now enabled
db_1        | LOG:  database system is ready to accept connections
webapp_1    | clock source: unix
db_1        | LOG:  autovacuum launcher started
webapp_1    | pcre jit disabled
webapp_1    | detected number of CPU cores: 1
webapp_1    | current working directory: /
db_1        |  done
webapp_1    | detected binary path: /usr/local/bin/uwsgi
webapp_1    | uWSGI running as root, you can use --uid/--gid/--chroot options
db_1        | server started
webapp_1    | *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
db_1        | ALTER ROLE
webapp_1    | *** WARNING: you are running uWSGI without its master process manager ***
webapp_1    | your processes number limit is 1048576
webapp_1    | your memory page size is 4096 bytes
webapp_1    | detected max file descriptor number: 1048576
webapp_1    | *** starting uWSGI Emperor ***
db_1        |
webapp_1    | *** has_emperor mode detected (fd: 5) ***
db_1        |
webapp_1    | [uWSGI] getting INI configuration from /etc/uwsgi/django-uwsgi.ini
db_1        | /docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*
webapp_1    | *** Starting uWSGI 2.0.11.1 (64bit) on [Mon Jan 25 03:41:12 2016] ***
db_1        |
webapp_1    | compiled with version: 4.9.2 on 25 January 2016 03:40:06
webapp_1    | os: Linux-4.1.13-boot2docker #1 SMP Fri Nov 20 19:05:50 UTC 2015
db_1        | LOG:  received fast shutdown request
webapp_1    | nodename: 3e264d68836e
db_1        | LOG:  aborting any active transactions
webapp_1    | machine: x86_64
db_1        | LOG:  autovacuum launcher shutting down
db_1        | LOG:  shutting down
webapp_1    | clock source: unix
webapp_1    | pcre jit disabled
webapp_1    | detected number of CPU cores: 1
webapp_1    | current working directory: /
webapp_1    | detected binary path: /usr/local/bin/uwsgi
webapp_1    | setgid() to 108
webapp_1    | setuid() to 104
webapp_1    | chdir() to /srv/starter/
db_1        | waiting for server to shut down....LOG:  database system is shut down
webapp_1    | your processes number limit is 1048576
webapp_1    | your memory page size is 4096 bytes
db_1        |  done
webapp_1    |  *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers ***
db_1        | server stopped
webapp_1    | detected max file descriptor number: 1048576
webapp_1    | lock engine: pthread robust mutexes
webapp_1    | thunder lock: disabled (you can enable it with --thunder-lock)
webapp_1    | uwsgi socket 0 bound to TCP address :8000 fd 3
db_1        |
webapp_1    | Python version: 3.4.4 (default, Jan 18 2016, 19:45:07)  [GCC 4.9.2]
webapp_1    | Python main interpreter initialized at 0xb0c950
db_1        | PostgreSQL init process complete; ready for start up.
webapp_1    | python threads support enabled
db_1        |
webapp_1    | your server socket listen backlog is limited to 100 connections
db_1        | LOG:  database system was shut down at 2016-01-25 03:38:08 UTC
webapp_1    | your mercy for graceful operations on workers is 60 seconds
db_1        | LOG:  MultiXact member wraparound protections are now enabled
webapp_1    | mapped 496512 bytes (484 KB) for 20 cores
db_1        | LOG:  database system is ready to accept connections
webapp_1    | *** Operational MODE: preforking+threaded ***
db_1        | LOG:  autovacuum launcher started
webapp_1    | *** uWSGI is running in multiple interpreter mode ***
webapp_1    | spawned uWSGI master process (pid: 16)
webapp_1    | Mon Jan 25 03:41:12 2016 - [emperor] vassal /etc/uwsgi/django-uwsgi.ini has been spawned
webapp_1    | spawned uWSGI worker 1 (pid: 17, cores: 10)
webapp_1    | spawned uWSGI worker 2 (pid: 18, cores: 10)
webapp_1    | unable to stat() /etc/uwsgi/reload-uwsgi.ini, events will be triggered as soon as the file is created
webapp_1    | WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0xb0c950 pid: 18 (default app)
webapp_1    | WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0xb0c950 pid: 17 (default app)
webapp_1    | Mon Jan 25 03:41:13 2016 - [emperor] vassal /etc/uwsgi/django-uwsgi.ini is ready to accept requests

And nmap test looks like 80 / 433 ports are closed:

➜  docker-django git:(master) nmap -Pn 192.168.99.100

Starting Nmap 7.01 ( https://nmap.org ) at 2016-01-25 14:02 VLAT
Nmap scan report for 192.168.99.100
Host is up (0.0011s latency).
Not shown: 998 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
9080/tcp open  glrpc

Nmap done: 1 IP address (1 host up) scanned in 1.18 seconds

What I do wrong?

jpbruinsslot commented 8 years ago

Hi @Egregors!

I'm glad you like the project, as for your question to access the application use https://localhost:9443

egregors commented 8 years ago

@erroneousboat thank you. It worked. One more question, if I may: how can I make SSL-support optional? Which the right way to do this?

jpbruinsslot commented 8 years ago

@Egregors glad to hear it worked! To make it optional you have to remove some things, however I would advise against this, for I haven't tested this:

  1. remove the following lines: https://github.com/erroneousboat/docker-django/blob/master/services/webserver/Dockerfile#L14-L16
  2. remove the following lines: https://github.com/erroneousboat/docker-django/blob/master/services/webserver/config/nginx.tmpl#L22-L28
  3. remove the following lines: https://github.com/erroneousboat/docker-django/blob/master/services/webserver/config/nginx.tmpl#L12-L14
  4. remove the following lines: https://github.com/erroneousboat/docker-django/blob/master/services/webserver/config/nginx.tmpl#L31-L44
  5. remove the following lines: https://github.com/erroneousboat/docker-django/blob/master/docker-compose.yml#L19