This questions is specifically about Docker Engine managed plugin system plugins, such as volume or network drivers.
As per the instructions in the link above:
A new plugin can be created by running
docker plugin create <plugin-name> ./path/to/plugin/data
where the plugin data contains a plugin configuration fileconfig.json
and a root filesystem in subdirectoryrootfs
.
After that the plugin<plugin-name>
will show up indocker plugin ls
. Plugins can be pushed to remote registries withdocker plugin push <plugin-name>
.
How, then, can the plugin be made for multiple architectures(amd64/arm64/others)? The root file system can have binaries for only one architecture after all.