Stack/Service deployment and persistent data volumes

Expected behavior

I just install Docker for AWS from Stable channel as described here.
And tried to use/test persistent data volumes via cloudstor plugin that should be already installed and configured:

$ docker plugin ls
ID                  NAME                        DESCRIPTION                       ENABLED
f416c95c0dcc        docker4x/cloudstor:aws-v17.03.0-ce   cloud storage plugin for Docker   true

Then try to lunch service with provided in documentation:

$ docker service create \
    --replicas 5 \
    --name ping1 \
    --mount type=volume,volume-driver=docker4x/cloudstor:aws-v17.03.0-ce,source=sharedvol1,destination=/shareddata \
    alpine ping docker.com

And expect to have working service with mounted volume.

Actual behavior

First of all, after fresh installation, cloudstor plugin is not presented at all on all nodes:

~ $ docker node ls
ID                           HOSTNAME                                     STATUS  AVAILABILITY  MANAGER STATUS
u73au116nwau677sblixonve0 *  ip-172-31-8-220.eu-west-1.compute.internal   Ready   Active        Reachable
v8bn19m1wqw9uo2b86rn30ngn    ip-172-31-33-238.eu-west-1.compute.internal  Ready   Active        Leader
vtvzllq5lv7lbf6dq098gb20r    ip-172-31-30-178.eu-west-1.compute.internal  Ready   Active        Reachable
~ $ docker plugin ls
   ID                  NAME                DESCRIPTION         ENABLED

so I install it manually:

~ $ docker plugin install --grant-all-permissions docker4x/cloudstor
latest: Pulling from docker4x/cloudstor
74f0bc91ced9: Download complete
Digest: sha256:dacc1f72946487aa2ab2a956fd2a0914976f0e587818527a6d2325e77c0b1055
Status: Downloaded newer image for docker4x/cloudstor:latest
Installed plugin docker4x/cloudstor
~ $ docker plugin ls
ID                  NAME                        DESCRIPTION                       ENABLED
b5c5f1d683a5        docker4x/cloudstor:latest   cloud storage plugin for Docker   true
~ $ swarm-exec docker plugin install --grant-all-permissions docker4x/cloudstor
Your command : "docker plugin install --grant-all-permissions docker4x/cloudstor" is successfully execute

then

~ $ docker service create --replicas 3 --name ping1 --mount type=volume,volume-driver=docker4x/cloudstor:latest,source=sharedvol1,destination=/shareddata alpine ping docker.com
3d4papoygrcxxdv9m8op4765n

~ $ docker service ls
ID            NAME          MODE        REPLICAS  IMAGE
3d4papoygrcx  ping1         replicated  0/3       alpine:latest
l2ke4eaftljy  jolly_turing  global      0/0       docker4x/swarm-exec:v0.1

So service is not running.
What Im doing wrong?

Additional Information

Also tried to use compose format with stack deploy described in this post without success.

Steps to reproduce the behavior

  1. Install Docker for AWS by following official instruction

OK, never mind! It seems that feature available only in Beta.
Looks like related note about is missing in documentation.
Thanks!

@govale cloudstor is a Edge only feature at the moment. We are still gathering feedback from those who are using it at the moment regarding various configuration options they would like to have for finer control. Once we implement key elements from that feedback, we will install cloudstor in the stable versions.

1 Like