amazon-web-services - 具有指向文件的 Docker 卷的 Elastic beanstalk

标签 amazon-web-services docker amazon-elastic-beanstalk

我有一个 Tomcat docker 容器,想要使用 Elasticbeanstalk 在其上部署我的 Web 应用程序。

使用普通的 docker,我不会将 war 文件添加到容器中,而是通过 -v 标志引用它,如下所示:

docker run --rm -v data/myfile.war:/usr/local/tomcat/webapps/myFile.war

这允许我直接引用我的 war 文件。我已将我的镜像推送到我的 docker-hub 存储库。 在我的 Dockerrun.aws.json 中,我想要执行 war 文件的引用。我知道可以选择执行以下操作:

  "Volumes": [
{
  "HostDirectory": "/data",
  "ContainerDirectory": "/data"
}]

但这给我留下了一个问题:我的 war 文件在主机目录中的哪里?! 我的工作流程是打包这些文件:

  • Dockerrun.aws.json
  • war 文件

并将它们上传到 aws。但我不知道 zip 文件在 ec2 实例上的哪里提取。因此我不知道应该如何引用这些卷。 基本上我想做这样的事情:

  "Volumes": [
    {
      "HostDirectory": "?/myFile.war",
      "ContainerDirectory": "/usr/local/tomcat/webapps/ROOT.war"
    }]

那个?基本上是我不知道的部分

我正在使用网络用户界面。我可以上传包含 Dockerrun.aws.json 和 war 文件的 zip 文件。但是我应该在 Dockerrun.aws.json 的 Volumes 部分中声明什么 我不知道 aws 在哪里提取我的 war 文件我想做类似的事情:

我在 aws 文档中找不到任何内容。有人有想法吗?

最佳答案

您的文件应位于 /var/app/current/ 中。您可以通过 ssh 到实例进行验证。

关于amazon-web-services - 具有指向文件的 Docker 卷的 Elastic beanstalk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28838522/

相关文章:

docker - 以非 super 用户身份在docker ubuntu容器中使用 super 用户运行sshd

elasticsearch - 使用Docker运行Elasticsearch

javascript - Cronjob 停止执行 nodejs

ssl - 使用 SSL 的 Elastic Beanstalk 上的 Flask 给出 403 Forbidden

ruby - rbenv 无法安装 rubinius

java - Spring Boot 应用程序在 AWS 上关闭

node.js - AWS-EB- Node -错误 : Cannot find module '../'

amazon-web-services - AWS Elastic BeanStalk Docker 根文件系统切换为只读

amazon-web-services - 如何限制特定IAM角色对S3存储桶的访问?

sql - 数据值 "0"在 redshift 中有无效格式错误