-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Labels
Description
Hi there,
Docker 18.09 now supports docker -H ssh://me@server
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!
AkihiroSuda, hilli, NavinF, WonderBeat and Avrmaster