在 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
我正在寻找一种创建 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