Code Monkey home page Code Monkey logo

Comments (8)

amaltson avatar amaltson commented on August 22, 2024

Indeed, dvm is really cool but without port forwarding I can't access any of the running docker images from OS X.

from dvm.

drnic avatar drnic commented on August 22, 2024

Perhaps it'd be nice to manage these via the dvm client. dvm add-port 5000 would update the internal Vagrantfile and run vagrant reload.

from dvm.

amaltson avatar amaltson commented on August 22, 2024

👍 to @drnic's idea, I like it.

from dvm.

lalyos avatar lalyos commented on August 22, 2024

My workaround to access any port used by a container (even the ones not forwarded) is to use good old ssh as a socks proxy.

  • You can ssh into docker and from docker you can ssh into the container.
  • So you can set up ssh to do it in one step via proxy command. Now you can ssh directly to the container
  • add a -D 1099 parameter to ssh, and you reach any ports of the container via ssh provided proxy listening on the port 1099

detailed description is here : http://lalyos.github.io/blog/2013/10/06/access-docker-containers-via-internal-ip/

from dvm.

drewcrawford avatar drewcrawford commented on August 22, 2024

IMHO dvm should be assigned a private network address. That way all ports are reachable on the private network without having to manage any forwarding. Only 1 LOC.

from dvm.

fnichol avatar fnichol commented on August 22, 2024

There isn't really a need for Vagrant port forwarding in this project, or at least that wasn't the initial goal. While boot2docker is kickass awesome, it currently forwards the Docker daemon port (TCP/4243) back to your localhost. In other words docker -h tcp://127.0.0.1:4243.

The driving need I had for something like dvm was for running infrastructure testing, like Test Kitchen using the kitchen-docker driver. For the driver to work we needed access to all the dynamically assigned ports, not just the Docker daemon port. That's why it uses a private network segment and address (192.168.42.43 by default). Once Docker supported the DOCKER_HOST environment variable, the actual IP address was less important and consequently makes the docker command on non-Linux distros feel almost native.

Additionally, I wanted something slightly more convenient than cd <some-vagrant-project-dir>; vagrant up every time I needed "dockers". dvm is a glorified shell wrapper around a slightly crazy Vagrantfile and passes most of its commands, magic, and awesome directly down to Vagrant.

Does that help clear up the confusion a little?

from dvm.

fnichol avatar fnichol commented on August 22, 2024

Hopefully the commit above in the README helps to clarify things a bit better for future new users. Thanks all!

from dvm.

stevepereira avatar stevepereira commented on August 22, 2024

I think I'm missing something that could keep me from dvm - is there a possibility I could have a docker container port (for a webserver) available to my host mac @ localhost:8080 for instance using dvm? Do people do this with some other mechanism? Is 'export FORWARD_DOCKER_PORTS=1' related? I feel very noob asking, but I haven't been able to figure this out...

from dvm.

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.