Devilbox: Fix bind connect

Created on 6 Dec 2017  路  21Comments  路  Source: cytopia/devilbox

Hi,

I seem to have some bind connect issues. It doesn't affect me much but I would like to solve them.
Any ideas on where to start?
screen shot 2017-12-05 at 10 56 13 pm

Thank you

DNS docker

All 21 comments

Could you please provide your Docker and Docker Compose versions as well as your operating system.

Also, please attach your .env file here.

Could you also have a look here to see if it is of any help:

docker-compose version 1.16.1, build 6d1ac21
docker-py version: 2.5.1
CPython version: 2.7.12
OpenSSL version: OpenSSL 1.0.2j 26 Sep 2016

Client:
Version: 17.09.0-ce
API version: 1.32
Go version: go1.8.3
Git commit: afdb6d4
Built: Tue Sep 26 22:40:09 2017
OS/Arch: darwin/amd64

Server:
Version: 17.09.0-ce
API version: 1.32 (minimum version 1.12)
Go version: go1.8.3
Git commit: afdb6d4
Built: Tue Sep 26 22:45:38 2017
OS/Arch: linux/amd64
Experimental: false

env copy.txt

Additionally the DNS goes offline randomly(?) and almost immediately after a restart(on home page reload)
After a stop and up it seems to go back Online

Maybe related:
random.loc
Failed to connect to Httpd host on random.loc. I added random loc in etc/hosts but not sure why random.loc is

Unfortunately I am totally unable to reproduce any of those bind issues people are reporting. Is there any way you can provide a reproducible scenario?

applying
https://github.com/cytopia/devilbox/pull/138/commits/b499d5ebdf884561a85cfa8970a9eddbf47b2cdf

to my project seems to have fixed the issue

also did a stop/down/up after it

Not a networking expert but pinging 127.0.0.1 and localhost works but pinging the IP in WILDCARD_ADDRESS doesn't work.
Maybe there is mapping missing somewhere

Pinging the WILDCARD_ADDRESS should work inside the Docker container. If it doesn't, please let me know.

When you also want to enable Auto-DNS for your host system, have a look at this section: https://github.com/cytopia/devilbox/blob/master/docs/Configure.md#62-auto-dns

Also be aware that b499d5e seemed to have worked initially for some people, but then somehow stopped working after some time without any explanation.

netstat -tulpen | grep ':53'
did not work for me. I got
netstat: en: unknown or uninstrumented protocol

netstat -tuln | grep ':53'
returns nothing

I will try your auto dns instructions and report back

What operating system are you on?

I have disabled Auto-DNS by default, simply by setting the DNS port to 1053 instead of 54. See here: https://github.com/cytopia/devilbox/blob/master/env-example#L504

You will need to set it to 53 in order to enable Auto-DNS on the host system.

Looks like this is not yet documented. I will add it to the documentation.

On Ubuntu 16.04 VM with Windows 7 host I have the same problem.
The first time I run docker-compose up php httpd bind bind runs successfully.
After that when I restart the containers bind seems to have problem starting. I get devilbox_bind_1 exited with code 1
To start it again I have to rm the containers.
b499d5ebdf884561a85cfa8970a9eddbf47b2cdf did not fix my issue

@panigrc might be that bind is not shutting down correctly and keeping ports open. I will have to look into the container again

@cytopia Mmm... it seems that the ports aren't an issue because:

running devilbox after rm -f the port 53 is open and listening which is normal.
vagrant@vagrant:~/devilbox$ netstat -tuln | grep ':53' tcp6 0 0 :::53 :::* LISTEN udp6 0 0 :::53 :::*

then stopping the docker containers the netstat command at port 53 is empty, which means that the ports closed.

And of course after starting the docker containers again, without removing them first, the bind container fails to start and the netstat command at port 53 is empty again.

Somehow the problem now also occurs on my system (Debian 9). So at least it is reproducable for me now.

OK, I finally tracked the error down. Inside the bind container the /etc/bind/named.conf.options file is getting a new forwarder section each time bind is started.

  1. First run: 1 forwarder line
  2. Sec run: 2 forwarder lines
    ...

This causes a silent syntax error for bind and not starting up.
I will provide a fix as soon as possible.

@Cipa @panigrc can you adjust docker-compose.yml under the bind: section (only adjusting the Docker image tag):

From this:

  bind:
    image: cytopia/bind:latest

To this:

  bind:
    image: cytopia/bind:release-0.12

@cytopia I can say that now it's fixed :smile:
I have stopped and started the docker containers multiple times and no rm -f required. Thanx!

Cool. I will leave the issue open for a few days before merging. Just to make sure there are no further bugs introduced with this one. I will let you know when it gets merged (you can revert docker-compose.yml afterwards).

Pr has been merged.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

zack6849 picture zack6849  路  5Comments

Novitsh picture Novitsh  路  6Comments

robots4life picture robots4life  路  6Comments

joshjacksoncastus picture joshjacksoncastus  路  3Comments

sustained picture sustained  路  6Comments