2015-10-03 13 views
9

Mam najnowszą instalację dokera (bez boot2docker) i nie mogę połączyć się z dokomizowaną instancją redis działającą lokalnie. Czy możesz mi powiedzieć, co robię źle?Nie można połączyć się z dokowanego obiektu redis z zewnętrznej stacji dokującej.

Utworzono dokowanym, odwzorowywane portu 6379 do 127.0.0.1:6379

bash-3.2$ docker run -p 127.0.0.1:6379:6379 --name webmonitor-redis -d redis 
3291541d58ab16c362f9e0cd7017d179c0bc9aef3a1323e79f1e1ca075e171c9 

wyjście dokowanym PS

bash-3.2$ docker ps 
CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS      NAMES 
3291541d58ab  redis    "/entrypoint.sh redis" 14 seconds ago  Up 6 seconds  127.0.0.1:6379->6379/tcp webmonitor-redis 

Próbowano łączenia ze zbiornika zewnętrznego (ale w tym samym gospodarzu tam, gdzie działa kontener), połączenie nie powiodło się:

bash-3.2$ ./src/redis-cli 
Could not connect to Redis at 127.0.0.1:6379: Connection refused 
not connected> exit 

To działa, gdy próbuję się połączyć z innym pojemniku chociaż ..

bash-3.2$ docker run -it --link webmonitor-redis:redis --rm redis sh -c 'exec redis-cli -h "$REDIS_PORT_6379_TCP_ADDR" -p "$REDIS_PORT_6379_TCP_PORT"' 
172.17.0.8:6379> 

oto doker wglądu do pojemnika:

bash-3.2$ docker inspect 3291541d58ab 
[ 
{ 
    "Id": "3291541d58ab16c362f9e0cd7017d179c0bc9aef3a1323e79f1e1ca075e171c9", 
    "Created": "2015-10-03T15:48:17.818355794Z", 
    "Path": "/entrypoint.sh", 
    "Args": [ 
     "redis-server" 
    ], 
    "State": { 
     "Running": true, 
     "Paused": false, 
     "Restarting": false, 
     "OOMKilled": false, 
     "Dead": false, 
     "Pid": 7769, 
     "ExitCode": 0, 
     "Error": "", 
     "StartedAt": "2015-10-03T15:48:17.954436198Z", 
     "FinishedAt": "0001-01-01T00:00:00Z" 
    }, 
    "Image": "2f2578ff984f013c9a5d6cbb6fe061ed3f73a17380a4c9b53b76d4b8da3eda7d", 
    "NetworkSettings": { 
     "Bridge": "", 
     "EndpointID": "b787e46d1219f36d4f1b1ea35c5f750f7174221137fb01889a26a3bc1e1c6aee", 
     "Gateway": "172.17.42.1", 
     "GlobalIPv6Address": "", 
     "GlobalIPv6PrefixLen": 0, 
     "HairpinMode": false, 
     "IPAddress": "172.17.0.8", 
     "IPPrefixLen": 16, 
     "IPv6Gateway": "", 
     "LinkLocalIPv6Address": "", 
     "LinkLocalIPv6PrefixLen": 0, 
     "MacAddress": "02:42:ac:11:00:08", 
     "NetworkID": "30176c9c7c14a6a052af784014832a0c52b5966089d7bcfe535041569e6bb1c9", 
     "PortMapping": null, 
     "Ports": { 
      "6379/tcp": [ 
       { 
        "HostIp": "127.0.0.1", 
        "HostPort": "6379" 
       } 
      ] 
     }, 
     "SandboxKey": "/var/run/docker/netns/3291541d58ab", 
     "SecondaryIPAddresses": null, 
     "SecondaryIPv6Addresses": null 
    }, 
    "ResolvConfPath": "/mnt/sda1/var/lib/docker/containers/3291541d58ab16c362f9e0cd7017d179c0bc9aef3a1323e79f1e1ca075e171c9/resolv.conf", 
    "HostnamePath": "/mnt/sda1/var/lib/docker/containers/3291541d58ab16c362f9e0cd7017d179c0bc9aef3a1323e79f1e1ca075e171c9/hostname", 
    "HostsPath": "/mnt/sda1/var/lib/docker/containers/3291541d58ab16c362f9e0cd7017d179c0bc9aef3a1323e79f1e1ca075e171c9/hosts", 
    "LogPath": "/mnt/sda1/var/lib/docker/containers/3291541d58ab16c362f9e0cd7017d179c0bc9aef3a1323e79f1e1ca075e171c9/3291541d58ab16c362f9e0cd7017d179c0bc9aef3a1323e79f1e1ca075e171c9-json.log", 
    "Name": "/webmonitor-redis", 
    "RestartCount": 0, 
    "Driver": "aufs", 
    "ExecDriver": "native-0.2", 
    "MountLabel": "", 
    "ProcessLabel": "", 
    "AppArmorProfile": "", 
    "ExecIDs": null, 
    "HostConfig": { 
     "Binds": null, 
     "ContainerIDFile": "", 
     "LxcConf": [], 
     "Memory": 0, 
     "MemorySwap": 0, 
     "CpuShares": 0, 
     "CpuPeriod": 0, 
     "CpusetCpus": "", 
     "CpusetMems": "", 
     "CpuQuota": 0, 
     "BlkioWeight": 0, 
     "OomKillDisable": false, 
     "MemorySwappiness": -1, 
     "Privileged": false, 
     "PortBindings": { 
      "6379/tcp": [ 
       { 
        "HostIp": "127.0.0.1", 
        "HostPort": "6379" 
       } 
      ] 
     }, 
     "Links": null, 
     "PublishAllPorts": false, 
     "Dns": null, 
     "DnsSearch": null, 
     "ExtraHosts": null, 
     "VolumesFrom": null, 
     "Devices": [], 
     "NetworkMode": "default", 
     "IpcMode": "", 
     "PidMode": "", 
     "UTSMode": "", 
     "CapAdd": null, 
     "CapDrop": null, 
     "GroupAdd": null, 
     "RestartPolicy": { 
      "Name": "no", 
      "MaximumRetryCount": 0 
     }, 
     "SecurityOpt": null, 
     "ReadonlyRootfs": false, 
     "Ulimits": null, 
     "LogConfig": { 
      "Type": "json-file", 
      "Config": {} 
     }, 
     "CgroupParent": "", 
     "ConsoleSize": [ 
      0, 
      0 
     ] 
    }, 
    "GraphDriver": { 
     "Name": "aufs", 
     "Data": null 
    }, 
    "Mounts": [ 
     { 
      "Name": "643a80cbd7a50cfd481acc48721b34030c8ce55ba64ac3bc161d5b330c9374d2", 
      "Source": "/mnt/sda1/var/lib/docker/volumes/643a80cbd7a50cfd481acc48721b34030c8ce55ba64ac3bc161d5b330c9374d2/_data", 
      "Destination": "/data", 
      "Driver": "local", 
      "Mode": "", 
      "RW": true 
     } 
    ], 
    "Config": { 
     "Hostname": "3291541d58ab", 
     "Domainname": "", 
     "User": "", 
     "AttachStdin": false, 
     "AttachStdout": false, 
     "AttachStderr": false, 
     "ExposedPorts": { 
      "6379/tcp": {} 
     }, 
     "PublishService": "", 
     "Tty": false, 
     "OpenStdin": false, 
     "StdinOnce": false, 
     "Env": [ 
      "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", 
      "REDIS_VERSION=3.0.3", 
      "REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-3.0.3.tar.gz", 
      "REDIS_DOWNLOAD_SHA1=0e2d7707327986ae652df717059354b358b83358" 
     ], 
     "Cmd": [ 
      "redis-server" 
     ], 
     "Image": "redis", 
     "Volumes": { 
      "/data": {} 
     }, 
     "VolumeDriver": "", 
     "WorkingDir": "/data", 
     "Entrypoint": [ 
      "/entrypoint.sh" 
     ], 
     "NetworkDisabled": false, 
     "MacAddress": "", 
     "OnBuild": null, 
     "Labels": {} 
    } 
} 
] 

Am I brakuje czegoś tutaj?

+0

Uwaga: Gospodarz jest Mac OS X – selflearner

Odpowiedz

3

Maszyna wirtualna ma własny adres IP 192.168.99.100, więc udało mi się połączyć, wiążąc się z 192.168.99.100:6379: 6379, a następnie nawiązując połączenie jak poniżej.

0c4de9a25467:redis-stable electron$ ./src/redis-cli -h 192.168.99.100 
192.168.99.100:6379> 
+0

Jak znaleźć IP VM? – jaycode

+0

@jaycode zazwyczaj można znaleźć IP poprzez 'docker-machine ip default' lub zobacz pełną listę z' docker-machine ls' – bonesbrigade

-1

docker run -p 6379:6379 -host 0.0.0.0 --name webmonitor-redis -d redis

4

upewnij port 6379 na komputerze jest przekazywany do portu 6379 na docker.
użycie -p 6379:6379 do ustalonego problemu:

docker run -d --name redisDev -p 6379:6379 redis 
Powiązane problemy