Closed GordyD closed 10 years ago
What version of Docker / Dokku / Go / host OS are you running?
Off the top of my head, the only place I would possibly expect a Go json error in this plugin would be one of the lines where we're calling docker inspect
(since I think Go puts this kind of -f
templating as a function of json), and it would only get forwarded to Git in a case where we don't swallow errors, and there's only one of those: line 234 in commands
.
Based on the number-to-string unmarshaling error, my gut reaction was that this would be in the check for any statically-bound ports (line 55 of commands
), but since, even if you statically bind the webui / cluster interfaces and it fails when it should succeed, STDERR's being nulled and the exit code's or-trued, I ruled that out.
Then I thought it might be failing at line 47 in commands
, where we use docker inspect
to get an ID for the container if it's running (rather than brutally awking for it in docker ps
like some kind of caveman), but (ruling out the weirdness of Docker keeping ID as a number) that line is also err-null-trued, so it likewise wouldn't be causing this problem.
So, therefore, by process of elimination, this can only be happening in the first command after the ID check (which succeeds), when we output the IP address for informational purposes, and Docker is somehow failing to marshal the IP from a number to a string. All I can say to that end is that it's not remotely like what I'm seeing in Docker 0.10.0.
That or it's happening somewhere outside our code altogether, which at this point almost seems more plausible.
I'm using DigitalOcean with application setting: Dokku-v0.2.1 on Ubuntu 13.04 with: Docker version 0.7.6, build bc3b2ec Go does not seem to be installed as far as I can tell.
As you are on Docker version 0.10.0 I upgraded and now the process fails with this error message:
git push dokku master Counting objects: 1892, done. Delta compression using up to 8 threads. Compressing objects: 100% (1509/1509), done. Writing objects: 100% (1892/1892), 4.93 MiB | 123.00 KiB/s, done. Total 1892 (delta 1163), reused 629 (delta 348) -----> Building rtcont ... remote: 2014/04/21 17:07:54 Invalid namespace name (app), only [a-z0-9_] are allowed, size between 4 and 30 To dokku@xxx.xxx.xx.xx:rtcont ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'dokku@xxx.xxx.xx.xx:rtcont'
I try to delete the container so that I begin again afresh and it results in a similar error! What a mess. I'll drop this box and create a new one/install docker v.0.10.0 and report back on what happens.
I discovered a temporary fix to the issue I encountered in my last comment. I followed advice here and downgraded to docker version 0.9.0.
Pushing my repository to my dokku rethinkdb container now succesfully completes. However this container is missing an nginx.conf to proxy any traffic to this dokku container. Am I missing something here? I thought this was all meant to be automatically configured for me with dokku?
If you update Dokku that Docker error will go away: see progrium/dokku#533
Upon setting up rethinkdb dokku plugin and following instructions given. I encounter an error. Here is the output:
-----> Building runtime environment -----> Discovering process types Procfile declares types -> web -----> Releasing rtcont ... -----> Deploying rtcont ... -----> Starting linked container rethinkdb_rtcont ... remote: 2014/04/21 11:42:11 Error: create: ExportEnv json: cannot unmarshal number into Go value of type string To dokku@xxx.xxx.xxx.xx:rtcont ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'dokku@xxx.xxx.xxx.xx:rtcont'
Has anyone else encountered this?