docker alpine 容器启动时挂载 webdav 共享
Mount webdav share when docker alpine container starts
我在 docker (alpine) 容器中安装了一个口是心非的(备份软件)运行。目的地是一个本地文件夹,我已将其挂载为 Webdav 共享。口是心非的备份有一个前置和 post 触发器,所以我在 pre
上挂载并在 post
上卸载。但是,这并未涵盖我的所有用例,因为:
- 还原不包括 pre/post 触发器
- 验证无效
- 无法列出目标文件夹中的文件
- 等等
所以我的想法是:在容器启动时,我直接挂载 webdav 共享。挂载在容器的整个运行时都是活动的,而不是仅在备份期间,但这并不重要。停止容器,共享将卸载。
我的第一次尝试是在 /etc/fstab 中将 noauto
更改为 auto
。那没用
我的第二次尝试是读入 rc-service
,但似乎 openrc 已从 Alpine >= 3.3 中删除。
我的第三次尝试是阅读初始化系统,关于安装 openrc 或使用 --init
和 tini
,但在继续之前,我想在这里提出这个问题,然后再继续。
我的出发点是我希望 不 将 webdav 共享安装到主机上并将其作为卷安装到我的 docker 容器中。所有用户配置都应该在 容器中。但我想以某种方式创建某种初始化系统。我该如何进行?
我在 /etc/fstab
中创建了一个条目,它在单个命令中安装了共享。使用入口点 bash 脚本,共享会自动挂载。
我在 docker (alpine) 容器中安装了一个口是心非的(备份软件)运行。目的地是一个本地文件夹,我已将其挂载为 Webdav 共享。口是心非的备份有一个前置和 post 触发器,所以我在 pre
上挂载并在 post
上卸载。但是,这并未涵盖我的所有用例,因为:
- 还原不包括 pre/post 触发器
- 验证无效
- 无法列出目标文件夹中的文件
- 等等
所以我的想法是:在容器启动时,我直接挂载 webdav 共享。挂载在容器的整个运行时都是活动的,而不是仅在备份期间,但这并不重要。停止容器,共享将卸载。
我的第一次尝试是在 /etc/fstab 中将 noauto
更改为 auto
。那没用
我的第二次尝试是读入 rc-service
,但似乎 openrc 已从 Alpine >= 3.3 中删除。
我的第三次尝试是阅读初始化系统,关于安装 openrc 或使用 --init
和 tini
,但在继续之前,我想在这里提出这个问题,然后再继续。
我的出发点是我希望 不 将 webdav 共享安装到主机上并将其作为卷安装到我的 docker 容器中。所有用户配置都应该在 容器中。但我想以某种方式创建某种初始化系统。我该如何进行?
我在 /etc/fstab
中创建了一个条目,它在单个命令中安装了共享。使用入口点 bash 脚本,共享会自动挂载。