bfirsh / bfirsh/serverless-docker-voting-app

does not work with dockerrun 0.1.2 and docker 1.12

Open
#2 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
HTML
Stars
61
Forks
14
PR merge metrics
No merged PRs in 30d

Description

When I click vote for cats, or dogs, I get a 500 error, and this in the logs.
This was built with the latest dockerrun https://github.com/bfirsh/dockerrun/blob/master/dockerrun/client.py with the fix for 1.12. It seems the 1.12 fix introduces a new error.

```
entrypoint_1 | [2016-11-13 01:47:46,784] ERROR in app: Exception on / [POST]
entrypoint_1 | Traceback (most recent call last):
entrypoint_1 | File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1988, in wsgi_app
entrypoint_1 | response = self.full_dispatch_request()
entrypoint_1 | File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1641, in full_dispatch_request
entrypoint_1 | rv = self.handle_user_exception(e)
entrypoint_1 | File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1544, in handle_user_exception
entrypoint_1 | reraise(exc_type, exc_value, tb)
entrypoint_1 | File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1639, in full_dispatch_request
entrypoint_1 | rv = self.dispatch_request()
entrypoint_1 | File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1625, in dispatch_request
entrypoint_1 | return self.view_functions[rule.endpoint](**req.view_args)
entrypoint_1 | File "app.py", line 30, in hello
entrypoint_1 | network_mode="serverlessdockervotingapp_default"
entrypoint_1 | File "/usr/local/lib/python2.7/site-packages/dockerrun/client.py", line 30, in run
entrypoint_1 | container = self.create_container(image, command, **create_kwargs)
entrypoint_1 | File "/usr/local/lib/python2.7/site-packages/docker/api/container.py", line 135, in create_container
entrypoint_1 | return self.create_container_from_config(config, name)
entrypoint_1 | File "/usr/local/lib/python2.7/site-packages/docker/api/container.py", line 146, in create_container_from_config
entrypoint_1 | return self._result(res, True)
entrypoint_1 | File "/usr/local/lib/python2.7/site-packages/docker/client.py", line 178, in _result
entrypoint_1 | self._raise_for_status(response)
entrypoint_1 | File "/usr/local/lib/python2.7/site-packages/docker/client.py", line 174, in _raise_for_status
entrypoint_1 | raise errors.APIError(e, response, explanation=explanation)
entrypoint_1 | APIError: 500 Server Error: Internal Server Error ("{"message":"Invalid bind mount spec \"network_mode:serverlessdockervotingapp_default:rw\": Invalid volume destination path: 'serverlessdockervotingapp_default' mount path must be absolute."}")
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in app.py at hello, where voting invokes dockerrun/client.py:30, and reproduce the cat/dog vote with Docker 1.12 and dockerrun 0.1.2. Trace the create_container call through the logged bind-mount error. Done means voting no longer returns HTTP 500 under the reported versions.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, flask, python
Domain
backend, devops
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.