docker serve: add docs on what to expect when the plugin is restarted
This commit is contained in:
@@ -38,6 +38,31 @@ All mount and VFS options are submitted by the docker daemon via API, but
|
|||||||
you can also provide defaults on the command line as well as set path to the
|
you can also provide defaults on the command line as well as set path to the
|
||||||
config file and cache directory or adjust logging verbosity.
|
config file and cache directory or adjust logging verbosity.
|
||||||
|
|
||||||
|
## Restarting or upgrading the plugin
|
||||||
|
|
||||||
|
When the plugin is restarted (for example with
|
||||||
|
`docker plugin disable rclone && docker plugin enable rclone`, when upgrading
|
||||||
|
the plugin, or when the host reboots) rclone reads its `docker-plugin.state`
|
||||||
|
file and restores the volumes and mounts that were active before. The plugin
|
||||||
|
starts serving its socket straight away and re-establishes the mounts in the
|
||||||
|
background, so a slow or unreachable remote no longer prevents the plugin from
|
||||||
|
coming back up.
|
||||||
|
|
||||||
|
However, restarting the plugin necessarily stops and restarts the process that
|
||||||
|
serves the FUSE mounts. Any container that is **already running** and holding
|
||||||
|
files open on an rclone volume keeps a handle to the old, now dead mount, so
|
||||||
|
those handles start returning `transport endpoint is not connected` until the
|
||||||
|
container is restarted. This is a limitation of replacing the process behind a
|
||||||
|
live FUSE mount and cannot be avoided by rclone - the plugin itself recovers and
|
||||||
|
newly started containers work normally, but:
|
||||||
|
|
||||||
|
- **Restart any containers that were using rclone volumes** after you restart
|
||||||
|
or upgrade the plugin (e.g. `docker restart <container>`), or stop them before
|
||||||
|
and start them after.
|
||||||
|
- Databases and other applications that keep files open continuously (Grafana,
|
||||||
|
Prometheus, SQLite-backed apps, etc.) are the most affected and should always
|
||||||
|
be restarted.
|
||||||
|
|
||||||
## Security
|
## Security
|
||||||
|
|
||||||
The plugin API accepts a `remote` (aka `fs`) option on volume creation, and this
|
The plugin API accepts a `remote` (aka `fs`) option on volume creation, and this
|
||||||
|
|||||||
Reference in New Issue
Block a user