Anyone interested in getting a Fedora Docker image going?


(Philip Rhoades) #1

I see there is an Ubuntu Docker image available - has anyone attempted to do something similar for Fedora? - I couldn’t see anything . .

Thanks,

Phil.


(Chad) #2

I followed this for Centos and it worked. I suspect something similar will work for Fedora.


(Jens Maier) #3

What exactly do you mean? The Howto explains how to install Dicourse’s docker image on a Ubuntu host, but the host is pretty much exchangeable. The same instructions should work just fine on a Fedora box, as long as Docker with its dependencies is already installed.

The inside of the container should not make much of a difference. It may be based on Ubuntu, but it only takes the package management straight from Ubuntu. Everything else is either inherited from the host (i.e. kernel, filesystems, device management) or rather insignificant.


(Philip Rhoades) #4

elberet,

OK, if the host is supposed to be interchangeable then I might give it a shot - but I was referring to the “inside” of the container. I am just starting to play with Docker but I would have thought that the package management could be an issue with a different container setup to the host? - in any case I would still prefer to have Fedora on the “inside” just so I know where everything is and I don’t waste any time because of unfamiliarity etc.

Thanks!

Phil.


(Philip Rhoades) #5

I tried that and got all the way through but failed on:

/var/docker/launcher start app

getting the much reported known problem:

Error: Cannot start container 3d2de3d1039be501ea1d55e353beceb079dc923019af6c61eb7db2b9cb864672: port has already been allocated
2014/07/30 07:38:18 Error: failed to start one or more containers

Regards,

Phil.


(Jens Maier) #6

Programs running inside the container are isolated from the host’s file system. That includes the container’s package manager – so nope, no conflicts there. Basically, the host must have two properties:

  • it must run a modern Linux kernel that satisfies Docker’s requirements,
  • it must support the x86_64 (also known as amd64) ABI.

Unless you’re running on old large servers (with intel Xeon CPUs, for example) or big irons, neither of these will be of any concern. IA64 is all but dead and if you have access to something even bigger you should probably get back to smashing atoms rather then worry about running Discourse on it. :slight_smile:

Regarding your error report: The standalone container includes nginx as a webserver and the host’s port 80 is forwarded to the container. If you wish to run a webserver on the host, first replace the string "80:80" under expose in your app.yml with "8081:80" and restart the container, then configure your webserver to proxy requests to Discourse to 127.0.0.1:8081.


(Chad) #7

I’ve seen that once or twice. If a restart of the app didn’t fix it, then a reboot of the OS did. I recall seeing that for sure after I disabled iptables and tried to start the app. Rather than try to figure it out, I rebooted and everything was fine when it came back up.

It’d be helpful if it would spit out which port was already allocated. :smile:


(Sam Saffron) #8

This could totally happen in Docker 1.1.0 and 1.1.1 but should be fixed in 1.1.2, the shutdown had a race condition so it could get to a state where it did not clean up right.