Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Invalid bind address protocol: ssh:// in DOCKER_HOST #2159

Closed
minamijoyo opened this issue Oct 26, 2018 · 1 comment · Fixed by #2165
Closed

Invalid bind address protocol: ssh:// in DOCKER_HOST #2159

minamijoyo opened this issue Oct 26, 2018 · 1 comment · Fixed by #2165

Comments

@minamijoyo
Copy link

minamijoyo commented Oct 26, 2018

Hi there,

Docker 18.09 now supports docker -H ssh://me@server

docker/cli#1014

I tried using it with docker-compose, but got an error.
I found this error caused by docker-py instead of docker-compose.
So, I will report this here.

version

docker-py version: 3.4.1

environments

docker client

  • Mac OSX 10.14 (Mojave)
  • Docker for Mac Edge (2.0.0.0-beta1-mac75 2018-09-14)
  • Docker CE 18.09.0-ce-beta1
  • docker-compose 1.22.0
$ docker version
Client: Docker Engine - Community
 Version:           18.09.0-ce-beta1
 API version:       1.39
 Go version:        go1.10.4
 Git commit:        78a6bdb
 Built:             Thu Sep  6 22:41:53 2018
 OS/Arch:           darwin/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.0-ce-beta1
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       78a6bdb
  Built:            Thu Sep  6 22:49:35 2018
  OS/Arch:          linux/amd64
  Experimental:     true

$ docker-compose version
docker-compose version 1.22.0, build f46880f
docker-py version: 3.4.1
CPython version: 3.6.4
OpenSSL version: OpenSSL 1.0.2o  27 Mar 2018

docker daemon

  • AWS EC2
  • Ubuntu 18.04 LTS
  • Docker CE 18.09.0-beta5
$ docker version
Client:
 Version:           18.09.0-beta5
 API version:       1.39
 Go version:        go1.10.4
 Git commit:        e1910c5
 Built:             Tue Oct 23 22:25:31 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.0-beta5
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.4
  Git commit:       e1910c5
  Built:            Tue Oct 23 21:50:22 2018
  OS/Arch:          linux/amd64
  Experimental:     false

Configuration

$ cat docker-compose.yml
version: '3'
services:
  web:
    image: nginx:alpine
    ports:
      - "80:80"

Expected Behavior

docker-py should parse ssh:// as a valid protocol,
and docker-compose command can connect to remote the docker daemon.

Actual Behavior

Failed to parse protocol ssh://

$ docker-compose -H ssh://docker-18-09-test up -d
Traceback (most recent call last):
  File "docker-compose", line 6, in <module>
  File "compose/cli/main.py", line 71, in main
  File "compose/cli/main.py", line 124, in perform_command
  File "compose/cli/command.py", line 41, in project_from_options
  File "compose/cli/command.py", line 121, in get_project
  File "compose/cli/command.py", line 92, in get_client
  File "compose/cli/docker_client.py", line 127, in docker_client
  File "site-packages/docker/api/client.py", line 118, in __init__
  File "site-packages/docker/utils/utils.py", line 256, in parse_host
docker.errors.DockerException: Invalid bind address protocol: ssh://docker-18-09-test
[8412] Failed to execute script docker-compose
$ DOCKER_HOST=ssh://docker-18-09-test docker-compose up -d
Traceback (most recent call last):
  File "docker-compose", line 6, in <module>
  File "compose/cli/main.py", line 71, in main
  File "compose/cli/main.py", line 124, in perform_command
  File "compose/cli/command.py", line 41, in project_from_options
  File "compose/cli/command.py", line 121, in get_project
  File "compose/cli/command.py", line 92, in get_client
  File "compose/cli/docker_client.py", line 127, in docker_client
  File "site-packages/docker/api/client.py", line 118, in __init__
  File "site-packages/docker/utils/utils.py", line 256, in parse_host
docker.errors.DockerException: Invalid bind address protocol: ssh://docker-18-09-test
[8460] Failed to execute script docker-compose

It would be great if docker-py supports ssh:// in DOCKER_HOST
Thanks!

@minamijoyo
Copy link
Author

@shin- Thanks !!!

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants