A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/omallo/docker-volume-plugin-dostorage/issues/8 below:

Volumes do not survive system reboot · Issue #8 · omallo/docker-volume-plugin-dostorage · GitHub

Hi there, a quick thanks for developing this plugin. It was pretty simple to get installed!

I'm having an issue persisting data through a server restart. I don't think this is the intended behavior so I'm filing an issue with the details.

I install the plugin, get it running (using systemd) and then create a volume using the following command:

docker volume create --driver dostorage --name volume-nyc1-coffeebot

This seems successful when I query Docker for volumes:

$ docker volume ls
DRIVER              VOLUME NAME
dostorage           volume-nyc1-coffeebot
$ docker volume inspect volume-nyc1-coffeebot
[
    {
        "Name": "volume-nyc1-coffeebot",
        "Driver": "dostorage",
        "Mountpoint": "/mnt/dostorage/volume-nyc1-coffeebot",
        "Status": {
            "AttachedDropletIDs": [
                3.3263643e+07
            ],
            "ReferenceCount": 0,
            "VolumeID": "6796b195-b677-11e6-90ec-000f53315820"
        },
        "Labels": {},
        "Scope": "local"
    }
]

So far so good, and this is what I see in the dostorage.service logs so far:

Nov 29 21:14:43 slackdevrel-docker dostorage[2222]: time="2016-11-29T21:14:43Z" level=info msg="[Get]: {Name:volume-nyc1-coffeebot Options:map[]}"
Nov 29 21:14:43 slackdevrel-docker docker-volume-plugin-dostorage[2222]: time="2016-11-29T21:14:43Z" level=info msg="[Get]: {Name:volume-nyc1-coffeebot Options:map[]}"
Nov 29 21:14:43 slackdevrel-docker docker-volume-plugin-dostorage[2222]: time="2016-11-29T21:14:43Z" level=info msg="volume named 'volume-nyc1-coffeebot' not found"
Nov 29 21:14:43 slackdevrel-docker docker-volume-plugin-dostorage[2222]: time="2016-11-29T21:14:43Z" level=info msg="[Create]: {Name:volume-nyc1-coffeebot Options:map[]}"
Nov 29 21:14:43 slackdevrel-docker dostorage[2222]: time="2016-11-29T21:14:43Z" level=info msg="volume named 'volume-nyc1-coffeebot' not found"
Nov 29 21:14:43 slackdevrel-docker dostorage[2222]: time="2016-11-29T21:14:43Z" level=info msg="[Create]: {Name:volume-nyc1-coffeebot Options:map[]}"
Nov 29 21:14:45 slackdevrel-docker dostorage[2222]: time="2016-11-29T21:14:45Z" level=info msg="[Capabilities]: {Name: Options:map[]}"
Nov 29 21:14:45 slackdevrel-docker docker-volume-plugin-dostorage[2222]: time="2016-11-29T21:14:45Z" level=info msg="[Capabilities]: {Name: Options:map[]}"
Nov 29 21:14:45 slackdevrel-docker dostorage[2222]: time="2016-11-29T21:14:45Z" level=info msg="[Path]: {Name:volume-nyc1-coffeebot Options:map[]}"
Nov 29 21:14:45 slackdevrel-docker docker-volume-plugin-dostorage[2222]: time="2016-11-29T21:14:45Z" level=info msg="[Path]: {Name:volume-nyc1-coffeebot Options:map[]}"
Nov 29 21:15:20 slackdevrel-docker dostorage[2222]: time="2016-11-29T21:15:20Z" level=info msg="[List]: {Name: Options:map[]}"
Nov 29 21:15:20 slackdevrel-docker docker-volume-plugin-dostorage[2222]: time="2016-11-29T21:15:20Z" level=info msg="[List]: {Name: Options:map[]}"
Nov 29 21:17:29 slackdevrel-docker dostorage[2222]: time="2016-11-29T21:17:29Z" level=info msg="[Get]: {Name:volume-nyc1-coffeebot Options:map[]}"
Nov 29 21:17:29 slackdevrel-docker docker-volume-plugin-dostorage[2222]: time="2016-11-29T21:17:29Z" level=info msg="[Get]: {Name:volume-nyc1-coffeebot Options:map[]}"

Now I set up another systemd service which runs my docker container, with the volume. It essentially runs the following command (i removed some environment variables):

/usr/bin/docker run -p=3000:3000 --name=coffeebot -v volume-nyc1-coffeebot:/app/data aoberoi/coffeebot:v1.0.1

Which seems to work, because I see this in the dostorage.service logs:

Nov 29 21:24:04 slackdevrel-docker dostorage[2222]: time="2016-11-29T21:24:04Z" level=info msg="[Mount]: {Name:volume-nyc1-coffeebot ID:3022fcb05988356cdf4cd8b83210476fd3e01246b84a6c490bbbca6a1c334f0a}"
Nov 29 21:24:04 slackdevrel-docker docker-volume-plugin-dostorage[2222]: time="2016-11-29T21:24:04Z" level=info msg="[Mount]: {Name:volume-nyc1-coffeebot ID:3022fcb05988356cdf4cd8b83210476fd3e01246b84a6c490bbbca6a1c334f0a}"
Nov 29 21:24:04 slackdevrel-docker docker-volume-plugin-dostorage[2222]: time="2016-11-29T21:24:04Z" level=info msg="mounting the volume upon detecting the first reference"
Nov 29 21:24:04 slackdevrel-docker dostorage[2222]: time="2016-11-29T21:24:04Z" level=info msg="mounting the volume upon detecting the first reference"

Next, I try restarting my systemd service which runs the docker container. One thing I noticed that was a little odd is that the volume gets unmounted and mounted twice instead of once:

Nov 29 21:26:59 slackdevrel-docker dostorage[2222]: time="2016-11-29T21:26:59Z" level=info msg="[Unmount]: {Name:volume-nyc1-coffeebot ID:3022fcb05988356cdf4cd8b83210476fd3e01246b84a6c490bbbca6a1c334f0a}"
Nov 29 21:26:59 slackdevrel-docker docker-volume-plugin-dostorage[2222]: time="2016-11-29T21:26:59Z" level=info msg="[Unmount]: {Name:volume-nyc1-coffeebot ID:3022fcb05988356cdf4cd8b83210476fd3e01246b84a6c490bbbca6a1c334f0a}"
Nov 29 21:26:59 slackdevrel-docker docker-volume-plugin-dostorage[2222]: time="2016-11-29T21:26:59Z" level=info msg="unmounting the volume since it is not referenced anymore"
Nov 29 21:26:59 slackdevrel-docker dostorage[2222]: time="2016-11-29T21:26:59Z" level=info msg="unmounting the volume since it is not referenced anymore"
Nov 29 21:27:00 slackdevrel-docker dostorage[2222]: time="2016-11-29T21:27:00Z" level=info msg="[Path]: {Name:volume-nyc1-coffeebot Options:map[]}"
Nov 29 21:27:00 slackdevrel-docker docker-volume-plugin-dostorage[2222]: time="2016-11-29T21:27:00Z" level=info msg="[Path]: {Name:volume-nyc1-coffeebot Options:map[]}"
Nov 29 21:27:00 slackdevrel-docker dostorage[2222]: time="2016-11-29T21:27:00Z" level=info msg="[Mount]: {Name:volume-nyc1-coffeebot ID:859f428ea73b686990c4d18e3d5cc750cb86bb433321451ce059277d72b0954a}"
Nov 29 21:27:00 slackdevrel-docker docker-volume-plugin-dostorage[2222]: time="2016-11-29T21:27:00Z" level=info msg="[Mount]: {Name:volume-nyc1-coffeebot ID:859f428ea73b686990c4d18e3d5cc750cb86bb433321451ce059277d72b0954a}"
Nov 29 21:27:00 slackdevrel-docker docker-volume-plugin-dostorage[2222]: time="2016-11-29T21:27:00Z" level=info msg="mounting the volume upon detecting the first reference"
Nov 29 21:27:00 slackdevrel-docker dostorage[2222]: time="2016-11-29T21:27:00Z" level=info msg="mounting the volume upon detecting the first reference"
Nov 29 21:27:12 slackdevrel-docker dostorage[2222]: time="2016-11-29T21:27:12Z" level=info msg="[Unmount]: {Name:volume-nyc1-coffeebot ID:859f428ea73b686990c4d18e3d5cc750cb86bb433321451ce059277d72b0954a}"
Nov 29 21:27:12 slackdevrel-docker docker-volume-plugin-dostorage[2222]: time="2016-11-29T21:27:12Z" level=info msg="[Unmount]: {Name:volume-nyc1-coffeebot ID:859f428ea73b686990c4d18e3d5cc750cb86bb433321451ce059277d72b0954a}"
Nov 29 21:27:12 slackdevrel-docker docker-volume-plugin-dostorage[2222]: time="2016-11-29T21:27:12Z" level=info msg="unmounting the volume since it is not referenced anymore"
Nov 29 21:27:12 slackdevrel-docker dostorage[2222]: time="2016-11-29T21:27:12Z" level=info msg="unmounting the volume since it is not referenced anymore"
Nov 29 21:27:13 slackdevrel-docker dostorage[2222]: time="2016-11-29T21:27:13Z" level=info msg="[Path]: {Name:volume-nyc1-coffeebot Options:map[]}"
Nov 29 21:27:13 slackdevrel-docker docker-volume-plugin-dostorage[2222]: time="2016-11-29T21:27:13Z" level=info msg="[Path]: {Name:volume-nyc1-coffeebot Options:map[]}"
Nov 29 21:27:13 slackdevrel-docker dostorage[2222]: time="2016-11-29T21:27:13Z" level=info msg="[Mount]: {Name:volume-nyc1-coffeebot ID:97998cad128fa8696ceabf005b6e8c6cf15cc48596ea337f2b4f4c4bc8e0b869}"
Nov 29 21:27:13 slackdevrel-docker docker-volume-plugin-dostorage[2222]: time="2016-11-29T21:27:13Z" level=info msg="[Mount]: {Name:volume-nyc1-coffeebot ID:97998cad128fa8696ceabf005b6e8c6cf15cc48596ea337f2b4f4c4bc8e0b869}"
Nov 29 21:27:13 slackdevrel-docker dostorage[2222]: time="2016-11-29T21:27:13Z" level=info msg="mounting the volume upon detecting the first reference"
Nov 29 21:27:13 slackdevrel-docker docker-volume-plugin-dostorage[2222]: time="2016-11-29T21:27:13Z" level=info msg="mounting the volume upon detecting the first reference"

Still, so far so good because the application seems to work as expected. Now I reboot the machine. Here is what I see in the logs:

-- Reboot --
Nov 29 21:31:13 slackdevrel-docker systemd[1]: Started Docker Volume Driver for DigitalOcean.
Nov 29 21:31:13 slackdevrel-docker dostorage[1457]: time="2016-11-29T21:31:13Z" level=info msg="creating a new driver instance"
Nov 29 21:31:13 slackdevrel-docker docker-volume-plugin-dostorage[1457]: time="2016-11-29T21:31:13Z" level=info msg="creating a new driver instance"
Nov 29 21:31:13 slackdevrel-docker dostorage[1457]: time="2016-11-29T21:31:13Z" level=info msg="droplet metadata: region='nyc1', dropletID=33263643"
Nov 29 21:31:13 slackdevrel-docker docker-volume-plugin-dostorage[1457]: time="2016-11-29T21:31:13Z" level=info msg="droplet metadata: region='nyc1', dropletID=33263643"
Nov 29 21:31:15 slackdevrel-docker dostorage[1457]: time="2016-11-29T21:31:15Z" level=info msg="[Get]: {Name:volume-nyc1-coffeebot Options:map[]}"
Nov 29 21:31:15 slackdevrel-docker docker-volume-plugin-dostorage[1457]: time="2016-11-29T21:31:15Z" level=info msg="[Get]: {Name:volume-nyc1-coffeebot Options:map[]}"
Nov 29 21:31:15 slackdevrel-docker docker-volume-plugin-dostorage[1457]: time="2016-11-29T21:31:15Z" level=info msg="volume named 'volume-nyc1-coffeebot' not found"
Nov 29 21:31:15 slackdevrel-docker dostorage[1457]: time="2016-11-29T21:31:15Z" level=info msg="volume named 'volume-nyc1-coffeebot' not found"

For reference, here are my systemd unit files:

/lib/systemd/system/dostorage.service

[Unit]
Description=Docker Volume Driver for DigitalOcean
Before=docker.service
After=network.target dostorage.socket
Requires=dostorage.socket docker.service

[Service]
ExecStart=/usr/bin/docker-volume-plugin-dostorage --access-token=xxxxxxxxxxxxxxx

[Install]
WantedBy=multi-user.target

/lib/systemd/system/dostorage.socket

[Unit]
Description=Socket for Docker Volume Driver for DigitalOcean

[Socket]
ListenStream=/run/docker/plugins/dostorage.sock
SocketUser=root
SocketGroup=docker
SocketMode=0660

[Install]
WantedBy=sockets.target

/etc/systemd/system/docker-coffeebot.service

[Unit]
Description=coffeebot application
Requires=docker.service dostorage.service
After=docker.service dostorage.service

[Service]
Restart=always
ExecStart=/usr/bin/docker run -p=3000:3000 --name=coffeebot -v volume-nyc1-coffeebot:/app/data aoberoi/coffeebot:v1.0.1
ExecStop=/usr/bin/docker stop coffeebot
ExecStopPost=/usr/bin/docker rm -f coffeebot

[Install]
WantedBy=default.target

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4