NoMethodError on docker run

Hi guys,

I must admit, that I’m not a docker guru… only doing baby steps. I’ve installed Discourse about a year ago for testing on a local server. But as you know, things for “testing” suddenly get addopted and used on a daily basis.
Discourse is used for our local makerspace and I wanted do move the docker Image to new machine. Discourse itself got updates via the administrator webinterface.

So I first stopped the containter with docker stop <container-id> and then wanted to export the docker image. Just to be sure to not have broken something, I’ve tried to “start” the docker image again:

pm@mandark:~ docker run local_discourse/app:latest
From https://github.com/SamSaffron/pups
   2b8776d..7bde3d3  master     -> origin/master
Updating 2b8776d..7bde3d3
Fast-forward
 README.md          | 2 +-
 lib/pups/config.rb | 9 ++++++++-
 2 files changed, 9 insertions(+), 2 deletions(-)
I, [2017-04-13T14:34:38.212099 #17]  INFO -- : Loading --stdin
/pups/lib/pups/config.rb:23:in `initialize': undefined method `[]' for nil:NilClass (NoMethodError)
	from /pups/lib/pups/cli.rb:27:in `new'
	from /pups/lib/pups/cli.rb:27:in `run'
	from /pups/bin/pups:8:in `<main>'

As the Image worked some minutes ago I’m not aware what to do now. Also I’m not sure if I used the launcher or not. When I try to launcher start web it will load a new discourse docker image from the web.

I’m using Ubuntu 16.04.2 LTS with Docker version 17.04.0-ce, build 4845c56.

Any help is appreciated.
Thank you!

I recommend doing backup / restore through the web UI rather than moving the container itself.

1 Like

Hi Jeff,

sure will do - good point. But the problem at the moment is, that I can’t get the container to start up again.

Do you have any suggestions?

I can start /bin/bash with -i from within the container but don’t know how to fix the error in pups as the line 23 in the local config.rb is empty.

Thank you, cheers!

I have it up and running again with ./launcher rebuild app

3 Likes

The error was most likely caused by an error in your app.yml config file. Did you happen to fix anything before rebuilding?

Actually I did nothing in the app.yml. Only tried to fix pups’ config.rb which did not work.

1 Like

I am having same issue while run the container image from different machine. My image is running in A machine then I have pushed the container image to dockerhub then pulled it to B machine.
When I try to run the image I am not able to run it. Could some one help me fix it.

1 Like

how did you solve the problem?

please tell me how to make a backup without using ui?
(only via ssh)

upd: solved - How to backup Docker discourse from command-line before rebuilding broken Discourse?

cd /var/discourse
./launcher enter app
discourse backup
1 Like

I also got this error when trying to deploy on AWS ECS. I already passed the required environment variables from ./launcher start app. Container was running fine on my standalone EC2 server.