Migrating my Discourse install to a new hosted server and running into some serious head-smash-on-desk problems that I can’t figure out. On executing the launcher bootstrap command, I get this:
./launcher bootstrap app /usr/bin/docker: Error response from daemon: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"process_linux.go:334: running prestart hook 0 caused \\\"error running hook: exit status 1, stdout: , stderr: time=\\\\\\\"2016-11-10T14:20:29-05:00\\\\\\\" level=fatal msg=\\\\\\\"failed to add interface veth7d2a024 to sandbox: failed to get link by name \\\\\\\\\\\\\\\"veth7d2a024\\\\\\\\\\\\\\\": Link not found\\\\\\\" \\\\n\\\"\"\n". Your Docker installation is not working correctly See: https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam
The relevant errors are the “failed to add interface vethxxx to sandbox” and “link not found” errors, i believe.
This is on a server running ubuntu 16.04 LTS, with the
app.yml file and templates set up identically to the running instance from which I’m migrating (except for a change in the hostname).
edited to add - Using Docker 1.12.3, via the
docker-engine package provided by Docker’s official repo.
I am using iptables (will attach my rules at the bottom), and some googling seems to reveal that Docker shits itself into a blind fury sometimes with iptables (representative error discussion, but there are many). So, I’ve already modified Docker with
--iptables=false and bounced the server. Problem behavior is unaffected.
I’ve also followed this page’s advice and thrown in a pair of iptables rules to allow unrestricted traffic flow between
docker0. Problem behavior is unaffected.
I’ve tried flushing all iptables rules and bootstrapping again, both with and without ’
--iptables=false set for Docker. Problem behavior is unaffected.
One weird thing which may or may not matter is that the veth interface listed in the error message does not match any interfaces shown when I do an
ifconfig. Every time the bootstrap fails I’m left with another orphaned veth interface, but none of them match the ones listed in each error.
Any assistance would be great. I am totally lost as to where to go from here, especially if this turns out to be some kind of stupid docker bug.
Current iptables rules:
:INPUT DROP [110:10149] :FORWARD DROP [0:0] :OUTPUT ACCEPT [65:13032] :LOG_AND_DROP - [0:0] -A FORWARD -i docker0 -o eth0 -j ACCEPT -A FORWARD -i eth0 -o docker0 -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -i docker0 -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --mask 255.255.255.255 --rsource -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --name DEFAULT --mask 255.255.255.255 --rsource -j LOG_AND_DROP -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT -A LOG_AND_DROP -j LOG --log-prefix "iptables rate deny: " --log-level 7 -A LOG_AND_DROP -j DROP