I’m having issues deploying Discourse to a VM in my test environment. The VM is configured with 1 core and 1gb of ram. It is running on ubuntu 18.04, via docker’s basic install method. I am running these as root. I’ve removed sensitive data from the output below.
root@progcodedev-01:/var/discourse# ./discourse-setup
The configuration file containers/app.yml already exists!
. . . reconfiguring . . .
Saving old file as app.yml.2019-03-11-153340.bak
Stopping existing container in 5 seconds or Control-C to cancel.
app was not started !
Found 1GB of memory and 1 physical CPU cores
setting db_shared_buffers = 128MB
setting UNICORN_WORKERS = 2
containers/app.yml memory parameters updated.
ENTER to continue, 'n' to try again, Ctrl+C to exit:
Configuration file at updated successfully!
Updates successful. Rebuilding in 5 seconds.
Building app
Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
cd /pups && git pull && /pups/bin/pups --stdin
docker: Failed to create the container ID file: open cids/app_bootstrap.cid: no such file or directory.
See 'docker run --help'.
cat: cids/app_bootstrap.cid: No such file or directory
"docker rm" requires at least 1 argument.
See 'docker rm --help'.
Usage: docker rm [OPTIONS] CONTAINER [CONTAINER...]
Remove one or more containers
rm: cannot remove 'cids/app_bootstrap.cid': No such file or directory
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one
root@progcodedev-01:/var/discourse#
Any idea what could be going on?
Here are the current directory permissions:
root@progcodedev-01:/var/discourse# ls -la
total 128
drwxr-xr-x 11 root root 4096 Mar 11 14:34 .
drwxr-xr-x 14 root root 4096 Mar 11 14:34 ..
drwxr-xr-x 2 root root 4096 Mar 11 14:34 bin
drwxr-xr-x 2 root root 4096 Mar 11 15:27 cids
drwxr-xr-x 2 root root 4096 Mar 11 15:35 containers
-rwxr-xr-x 1 root root 11394 Mar 11 14:34 discourse-doctor
-rwxr-xr-x 1 root root 20820 Mar 11 14:34 discourse-setup
drwxr-xr-x 8 root root 4096 Mar 11 15:20 .git
-rw-r--r-- 1 root root 309 Mar 11 14:34 .gitignore
drwxr-xr-x 8 root root 4096 Mar 11 14:34 image
-rwxr-xr-x 1 root root 22215 Mar 11 14:34 launcher
-rw-r--r-- 1 root root 1099 Mar 11 14:34 LICENSE
-rw-r--r-- 1 root root 8900 Mar 11 14:34 README.md
drwxr-xr-x 2 root root 4096 Mar 11 14:34 samples
drwxr-xr-x 2 root root 4096 Mar 11 14:34 scripts
drwxr-xr-x 2 root root 4096 Mar 11 14:34 shared
drwxr-xr-x 3 root root 4096 Mar 11 14:34 templates
-rw-r--r-- 1 root root 1266 Mar 11 14:34 Vagrantfile
I believe I got this working now. I noticed while looking at syslog that the docker container was having issues with it’s networking. When I originally installed Ubuntu, I opted to use the installer supplied version of docker. I re-rolled the instance and this time used the script on get.docker.com to install docker. This version of docker worked fine and discourse is now running without issues (as far as I can tell.)
Solo nel caso in cui qualcuno si imbatta di nuovo in questo…
Ho avuto lo stesso problema con Docker installato tramite snap su Ubuntu 20.04. Il syslog era pieno di errori relativi all’interfaccia docker0.
Jan 30 14:28:17 mel kernel: [169365.081105] veth23ac856: rinominato da eth0
Jan 30 14:28:17 mel networkd-dispatcher[782]: WARNING: Index 103 non riconosciuto, ricarica della lista delle interfacce
Jan 30 14:28:17 mel systemd-udevd[103811]: ethtool: l'autonegoziazione non è impostata o è abilitata, la velocità e il duplex non sono scrivibili.
Jan 30 14:28:17 mel systemd-networkd[730]: veth7651758: Link DOWN
Jan 30 14:28:17 mel kernel: [169365.208636] docker0: porta 1(veth7651758) entrata nello stato disabilitato
Jan 30 14:28:17 mel kernel: [169365.212027] dispositivo veth7651758 uscito dalla modalità promiscua
Jan 30 14:28:17 mel kernel: [169365.212031] docker0: porta 1(veth7651758) entrata nello stato disabilitato
Jan 30 14:28:17 mel systemd-udevd[103811]: veth23ac856: Impossibile ottenere la configurazione del link: dispositivo inesistente
L’ultimo pacchetto direttamente dal repository di docker.com ha risolto il problema..
Penso che questo sia correlato all’installazione di Docker da parte di Ubuntu come snap con il proprio file system virtuale. Proverei a mantenere questa configurazione, quindi lavorerei sulla configurazione di /var/discourse in modo che sia visibile per il demone Docker.
Ok, posso confermare, l’isolamento snap era il problema nel mio caso. (potrebbe essere il mount del volume e non il --cidfile come sospettato, dato che funziona e non viene utilizzato)
Dato che Ubuntu ci sta “ancora lavorando” (o almeno non sono riuscito a trovare come esporre i filesystem) e l’opzione --classic non funziona nemmeno per lo snap docker:
snap remove docker && snap install --classic docker
Warning: flag --classic ignored for strictly confined snap docker
Ho scelto la via “facile” e ho usato /home/discourse invece di /var/discourse come directory base. (non deve nemmeno essere eseguito come questo utente).
Posso capire che tu richieda docker upstream, ma d’altra parte posso anche capire che Ubuntu supporti la propria versione, quindi è un dilemma per gli utenti.