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 por si alguien vuelve a encontrarse con esto..
Tuve el mismo problema con Docker instalado vía snap en Ubuntu 20.04. El syslog estaba lleno de errores relacionados con la interfaz docker0.
Jan 30 14:28:17 mel kernel: [169365.081105] veth23ac856: renombrado desde eth0
Jan 30 14:28:17 mel networkd-dispatcher[782]: ADVERTENCIA: Índice 103 desconocido detectado, recargando lista de interfaces
Jan 30 14:28:17 mel systemd-udevd[103811]: ethtool: la autonegociación no está configurada o está habilitada, la velocidad y el dúplex no son modificables.
Jan 30 14:28:17 mel systemd-networkd[730]: veth7651758: Enlace DESACTIVADO
Jan 30 14:28:17 mel kernel: [169365.208636] docker0: puerto 1(veth7651758) entró en estado deshabilitado
Jan 30 14:28:17 mel kernel: [169365.212027] dispositivo veth7651758 salió del modo promiscuo
Jan 30 14:28:17 mel kernel: [169365.212031] docker0: puerto 1(veth7651758) entró en estado deshabilitado
Jan 30 14:28:17 mel systemd-udevd[103811]: veth23ac856: No se pudo obtener la configuración del enlace: Dispositivo no existe
El paquete más reciente obtenido directamente del repositorio de docker.com resolvió el problema..
Creo que esto está relacionado con Ubuntu que instala Docker como un snap con su propio sistema de archivos virtual. Intentaría ceñirme a esta configuración, así que estoy trabajando en configurar /var/discourse como visible para el demonio de Docker.
Ok, confirmo que el aislamiento snap fue el problema en mi caso. (Podría ser el montaje del volumen y no el --cidfile como se sospechaba, ya que eso funciona y no se utiliza).
Dado que Ubuntu “todavía está trabajando en ello” (o al menos no pude encontrar cómo exponer sistemas de archivos) y la opción --classic tampoco funciona para el snap de docker:
snap remove docker && snap install --classic docker
Advertencia: se ignora la bandera --classic para el snap estrictamente confinado docker
Opté por la ruta “fácil” y utilicé /home/discourse en lugar de /var/discourse como directorio base. (Ni siquiera tiene que ejecutarse como este usuario).
Puedo entender que requieras docker upstream, pero por otro lado, también puedo entender que Ubuntu respalde su propia versión, por lo que es un dilema para los usuarios.