Coder Social home page Coder Social logo

Comments (8)

vimishor avatar vimishor commented on August 15, 2024

Can you give more details about the problems you encountered ?
You could post your docker-compose.yml file or at least a snippet containing skydns & skydock sections.

from skydock.

IanMair avatar IanMair commented on August 15, 2024

I hit this issue as well. I can't seem to pass skydock/skydns the args they need via docker-compose. Everything works great with solely docker, but with my current docker-compose.yml (relevant bits pasted below), I get the following error in my skydock container logs, "Must specify your skydns domain". Note, I also tried passing in the args as environment variables, but that had the same issue.

skydns:
  image: crosbymichael/skydns
  hostname: skydns
  command: skydns -nameserver 8.8.8.8:53 -domain docker
  dns: 8.8.8.8:53
  ports:
   - 172.17.42.1:53:53/udp

skydock:
  image: crosbymichael/skydock
  hostname: skydock
  command: skydock -ttl 30 -environment dev -s /docker.sock -domain docker -name skydns
  volumes:
   - /var/run/docker.sock:/docker.sock

Any thoughts on solutions here?

from skydock.

vimishor avatar vimishor commented on August 15, 2024

@IanMair When you use docker-compose, each service name will be made from 3 parts, separated by underscore:

  • directory name in which docker-compose.yml file is found.
  • name of the service, as you defined it.
  • service instance number

So if you have a docker-composer.yml file with the content you just posted, in a directory named test, your skydns service will actually have a name of test_skydns_1, not skydns.

So in your skydock command, you need to replace -name skydns with -name test_skydns_1 and that should fix your issue.

from skydock.

IanMair avatar IanMair commented on August 15, 2024

@vimishor Thanks for the prompt reply. I updated the -name option to elements_skydns_1 (elements is the directory name). I also figured out that the "command" options should just pass the args to skydock and skydns rather than also trying to also pass the "skydock" or "skydns" executable. Now my docker-compose.yml looks like the following

skydns:
  image: crosbymichael/skydns
  command: -nameserver 8.8.8.8:53 -domain docker
  dns: 8.8.8.8:53
  ports:
   - 172.17.42.1:53:53/udp

skydock:
  image: crosbymichael/skydock
  command: -ttl 30 -environment dev -s /docker.sock -domain docker -name elements_skydns_1
  volumes:
   - /var/run/docker.sock:/docker.sock

This works now! The only weirdness is that DNS doesn't like underscores in the hostname. It appears that my services get registered to hostnames like "skydns.dev.docker" rather than "elements_skydns_1.skydns.dev.docker". It's unclear to me if there is another subdomain that the services are getting registered to instead of "elements_skydns_1", but I'm investigating now.

from skydock.

shtratos avatar shtratos commented on August 15, 2024

Have you managed to solve this?

from skydock.

dizzy avatar dizzy commented on August 15, 2024

You actually get both skydns.dev.docker and elements_skydns_1.skydns.dev.docker resolving to the same IP. Check skydns startup logs for how services added, e.g.

skydns_1 | 2015/07/28 15:14:53 Added Service: {e5ea90bd5d skydns elements_skydns_1 dev 172.17.0.46 53 30 2015-07-28 15:15:23.431177323 +0000 UTC map[]}

from skydock.

shtratos avatar shtratos commented on August 15, 2024

Thank you!

from skydock.

jeffreyporter avatar jeffreyporter commented on August 15, 2024

Testing this via Windows 7 and Kitematic (Alpha) just gives the error...

Must specify your skydns domain
Must specify your skydns domain

Trying to start via the "Docker Quickstart Terminal" with this command...

$ docker run -d -v /var/run/docker.sock:/docker.sock --name skydock crosbymichael/skydock -ttl 30 -environment dev -s /docker.sock -domain docker -name skydns

Gives...

invalid value "C:\Program Files\Git\var\run\docker.sock;C:\Program Files\Git\docker.sock" for flag -v: bad mode specified: \Program Files\Git\docker.sock
See 'C:\Program Files\Docker Toolbox\docker.exe run --help'.

Any suggestions would be great.

Thanks
Jeff Porter

from skydock.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.