在 Docker 容器启动之前将配置注入卷

Inject configuration into volume before Docker container starts

我正在寻找一种创建 Docker 卷并在特定容器启动之前将一些数据放入其中的方法 - 这需要在启动时进行配置。

我不想修改容器。我想使用直接来自 Docker Hub 的香草容器。

有什么想法吗?

更新

我没有提到所有这些都必须在一个 compose 文件中完成。如果我手动执行,我可以等待配置注入容器完成。

当然!只需事先创建您的卷,将其附加到任何容器(像 Ubuntu 这样的基础 OS 会很好用),添加您的数据,一切顺利!

创建卷:

docker volume create test_volume

将其附加到可以添加数据的实例:

docker run --rm -it --name ubuntu_1 -v test_volume:/app ubuntu /bin/sh

添加一些数据:

在容器内执行此操作;您在上一个命令中所在的位置。 触摸 /app/my_file

退出容器:

exit

将卷附加到新容器:

当然,把ubuntu换成你真实的图片名。

docker run --rm -it --name ubuntu_2 -v test_volume:/app ubuntu /bin/sh

验证数据是否存在:

~> ls app/
   my_file