progrium / envy

Lightweight dev environments with a twist
MIT License
321 stars 21 forks source link

tcp://host:port instead of /var/run/docker.sock? #5

Closed leafmulch closed 9 years ago

leafmulch commented 9 years ago

Is there a nice way I can use this with a docker engine configured to use a tcp:// port instead of /var/run/docker.sock?

I get this currently:-

docker logs envy

2015/06/24 12:48:36 Failed to handshake: EOF 2015/06/24 12:48:48 Failed to handshake: EOF 2015/06/24 12:48:57 Failed to handshake: EOF

Tried running without sharing /var/run/docker.sock as a volume and instead setting DOCKER_HOST to the same as docker engine hosting envy, but get a connection that just sits and does nothing.

progrium commented 9 years ago

I'm not sure I want to support non-socket Docker API ... means people will do weird stuff like try it with Swarm or remote hosts in general and that's not supported. Why do you want to use tcp?

leafmulch commented 9 years ago

I have a Sun box for my docker system that I contact over tcp. No big deal, just a nice to have. I was 'thinking' about swarm, so you already have me down as a trouble maker ;-) On 25 Jun 2015 20:01, "Jeff Lindsay" notifications@github.com wrote:

I'm not sure I want to support non-socket Docker API ... means people will do weird stuff like try it with Swarm or remote hosts in general and that's not supported. Why do you want to use tcp?

— Reply to this email directly or view it on GitHub https://github.com/progrium/envy/issues/5#issuecomment-115362982.

progrium commented 9 years ago

One of the reasons to avoid supporting this case is the confusion around how mounts/volumes work. Mounting the Docker socket should still work even when you run it remotely because Docker evaluates those paths on the host Docker runs on. If it doesn't work it's because your daemon is set to only listen on TCP, which if you decided to do that there's no reason to not also listen on the unix socket (you can have docker daemon listen multiple places).

leafmulch commented 9 years ago

Maybe wait for orchestration to catch up? You could create new containers and push them to remote servers etc. You have switch, how about clone and later push. Anyway, envy is awesome and I haven't even had time to scratch the surface for use cases. Thanks Jeff your work is really inspiring... On 25 Jun 2015 20:22, "Jeff Lindsay" notifications@github.com wrote:

One of the reasons to avoid supporting this case is the confusion around how mounts/volumes work. Mounting the Docker socket should still work even when you run it remotely because Docker evaluates those paths on the host Docker runs on. If it doesn't work it's because your daemon is set to only listen on TCP, which if you decided to do that there's no reason to not also listen on the unix socket (you can have docker daemon listen multiple places).

— Reply to this email directly or view it on GitHub https://github.com/progrium/envy/issues/5#issuecomment-115368978.

progrium commented 9 years ago

Even if orchestration catches up I'm not sure I would even recommend it. I'm thinking more about clone/pull working with repos than direct instance to instance. Though I admit Docker should have always worked that way as well.