我有一个Tomcat docker容器,想要使用Elasticbeanstalk在其上部署我的webapp。
使用普通的docker我不会将我的war文件添加到容器中,而是通过-v标志引用它,如:
docker run --rm -v data/myfile.war:/usr/local/tomcat/webapps/myFile.war
这允许我直接引用我的war文件。我已将我的图像推送到我的docker-hub repo。 在我的Dockerrun.aws.json中,我想做war文件的ref。我知道可以选择执行以下操作:
"Volumes": [
{
"HostDirectory": "/data",
"ContainerDirectory": "/data"
}]
但是这让我有一个问题,我的war文件在Host目录中的哪个位置?! 我的工作流程是打包这些文件:
并将它们上传到aws。但我不知道在ec2实例上提取zip文件的位置。因此我不知道我应该如何引用卷。 基本上我想做这样的事情:
"Volumes": [
{
"HostDirectory": "?/myFile.war",
"ContainerDirectory": "/usr/local/tomcat/webapps/ROOT.war"
}]
?基本上是我不知道的部分
我正在使用网络用户界面。我可以上传包含Dockerrun.aws.json和war文件的zip文件。但是我在Dockerrun.aws.json中的Volumes部分中声明了什么 我不知道aws在哪里提取我的war文件我想做类似的事情:
我在aws文档中找不到任何内容。有人有想法吗?
答案 0 :(得分:2)
files:
"/data/myfile" :
mode: "000755"
owner: root
group: root
source: http://foo.bar/myfile
&安培;
"Volumes": [
{
"HostDirectory": "/data/myfile",
"ContainerDirectory": "/data/myfile"
}]
答案 1 :(得分:1)
您的文件应位于/var/app/current/
。您可以ssh到实例进行验证。