我实际上试图用 Docker 实现一些目标,但我被困住了,这是我的问题。
我将容器托管在 EC2 上,其中包含我的 Web 应用程序。我的 webapp 使用 JCR 存储库作为数据库,该存储库基本上是存储在您想要的位置的文件。所以每次我的网络应用程序启动时,如果存储库不存在,它就会创建它,否则它使用现有的。
我当前的 docker 文件看起来像这样https://gist.github.com/agonist/7cab7358379e9dd6e812 ./chameleon.sh start 只是启动我的 webapp。在这个应用程序中,我配置了存储库文件所在的位置。
现在我创建了一个 EBS 卷,附加并安装在我的 EC2 实例中。此卷将专用于存储存储库。所以基本上在我的应用程序中,我将我的存储库路径配置到/mnt/repository/
存储库是包含我的网络应用程序创建的存储库文件的目录。但我不知道如何 ./chameleon.sh start
在 Dockefile 之前将此卷安装到我的容器中。正如我在研究中看到的
docker run -v /mnt/repository:/mnt/repository aws_beanstalk/current-app
不能从 Dockefile 执行。
我还发现了有关与另一个容器共享一个卷的仅数据容器的内容,但如果我必须运行,仍然存在同样的问题
sudo docker run -d --volumes-from dbdata
在我的容器启动后