The original poster, Blackglade, is experiencing issues with installing Discourse on a CoreOS container by Digital Ocean. After trying the installation steps exactly as listed, the installation failed.
codinghorror requested docker info and docker version output, which Blackglade provided. codinghorror noted that Docker doesn’t officially support CoreOS and suggested that the issue might be with the storage driver. Blackglade tried changing the storage driver, but was unsuccessful.
sam revealed that Discourse hasn’t been tested on CoreOS and that the hostname command is not supported. Blackglade eventually found the error and submitted a pull request to add CoreOS support.
ljpp asked about Blackglade’s experience with CoreOS, and sam recommended sticking with Ubuntu due to better support. richp10 shared their solution of running an Ubuntu Docker container within CoreOS to build and run the Discourse container.
The main issues with running Discourse on CoreOS seem to be the unsupported hostname command and the need for a more complex setup to run Docker within Docker.
Not sure what is happening here, but I can’t seem to get my installation for Discourse working on a CoreOS container by Digital Ocean. Everything went fine until the ouput the very end
Yeah I just read the select a storage driver option. Gonna see if I can change it. Will rebuilding the app potentially work, or will I need to rerun the entire script?
Also that’s really strange since CoreOs ships out of box with Docker as it’s baseline program. They even mention it on their about page…
So after a bit of research I found this: How to run AUFS on CoreOS stable? · Issue #1142 · coreos/bugs · GitHub stating that CoreOS used to support btrfs, but now they’ve switched to overlay. They gave me this link here to switch to btrfs, but it doesn’t seem to be working. Is there anyway I can fix this without actually having to change the filesystem? (To be fair, I’m still really confused about what exactly is going on here that is preventing the app from running and creating a docker instance)
Just read the launcher source code and figured out the error. Gonna see if it works. hostname -s gives me Unknown Host error even though -s is a valid flag. hostname works just fine.
How has CoreOS worked for you? I just moving one small Discourse instance from a server to another, and decided to try CoreOS.
Also, what is your update strategy? I am using Digital Ocean’s CoreOS droplet. I don’t know much about CoreOS, but I understood that the updates are automatic by default?
The main use case for CoreOS is if you have a fleet of servers hosting containers, it is much less centered around hosting a single site with a single machine. So you are getting a bunch of complexity here that you do not need together with the nifty features it has.
The problem with CoreOS is that you cannot run the Discourse tools to build and run the Discourse docker container. ./discourse-setup will not run on CoreOS.
My solution was to run an Ubuntu Docker container which itself runs docker - Docker in Docker - and within this container build and run the Discourse container. This is scripted so when I run the container, it updates Discourse and builds the new Discourse docker image.
The only problem with this is that restarting the container took ages - so I split the process: one container builds the Discourse image and saves it to a shared volume (I only run this when I want to update Discourse). A second Docker image just uses DinD to load the Discourse docker image from the shared volume (a folder on the host) and run it using the Discourse scripts.
All the benefit of CoreOs and still able to run Discourse. Bit of a hassle but it works well. Only issue that I am still looking at is that in order to run Docker in Docker, the Ubuntu container needs higher privileges than I would like.
Oh and I also run postgres in a separate container as this is shared with other containers on the box… finally, another container runs nginx as a reverse proxy which provides the SSL endpoing and some additional security.
(and @ljpp - you can add nano to Coreos, you just need a static build)