New Install: docker: Failed to create the container ID file: open cids/app_bootstrap.cid: no such file or directory

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

Can you try a bootstrap?

./launcher bootstrap app

1 个赞

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.)

6 个赞

Just in case some runs into it again…

I’ve had the same problem with snap installed Docker on Ubuntu 20.04. Syslog was full of docker0 interface errors.

Jan 30 14:28:17 mel kernel: [169365.081105] veth23ac856: renamed from eth0
Jan 30 14:28:17 mel networkd-dispatcher[782]: WARNING:Unknown index 103 seen, reloading interface list
Jan 30 14:28:17 mel systemd-udevd[103811]: ethtool: autonegotiation is unset or enabled, the speed and duplex are not writable.
Jan 30 14:28:17 mel systemd-networkd[730]: veth7651758: Link DOWN
Jan 30 14:28:17 mel kernel: [169365.208636] docker0: port 1(veth7651758) entered disabled state
Jan 30 14:28:17 mel kernel: [169365.212027] device veth7651758 left promiscuous mode
Jan 30 14:28:17 mel kernel: [169365.212031] docker0: port 1(veth7651758) entered disabled state
Jan 30 14:28:17 mel systemd-udevd[103811]: veth23ac856: Failed to get link config: No such device

Latest package straight from docker.com repository solved the problem…

我认为这与 Ubuntu 将 Docker 作为 snap 安装并使用其自己的虚拟文件系统有关。我将尝试坚持此配置,因此正在处理将 /var/discourse 配置为对 Docker 守护程序可见。

好的,我确认了,snap 隔离是我遇到的问题。(可能是卷挂载而不是我怀疑的 --cidfile,因为那个可以正常工作且未使用)

由于 Ubuntu “还在处理中”(或者至少我找不到如何暴露文件系统的方法),并且 --classic 选项对 docker snap 也不起作用:

snap remove docker && snap install --classic docker
Warning: flag --classic ignored for strictly confined snap docker

我选择了“简单”的方法,使用 /home/discourse 而不是 /var/discourse 作为基础目录。(甚至不需要以该用户身份运行)。

我理解您需要上游的 Docker,但另一方面,我也理解 Ubuntu 支持他们自己的版本,这对用户来说真是两难。