代码之家  ›  专栏  ›  技术社区  ›  micah

AWS ElasticBeanstalk Docker-如何执行shell脚本?

  •  0
  • micah  · 技术社区  · 5 年前

    我已经创建了一个docker映像,其中包含一个jar文件。我想将其部署到ElasticBeanstalk并通过sh文件执行jar。我试着通过设置 Entrypoint 在我的 Dockerrun.aws.json 文件,以及 Command /app/dockerrun.sh /var/app/current 目录,并手动运行它-

    cd /var/app/current
    sudo docker build -t "test" .
    sudo docker run --entrypoint /bin/sh test /app/dockerrun.sh
    

    Dockerrun.aws.json文件 文件-

    {
      "AWSEBDockerrunVersion": "1",
      "Image": {
        "Name": "...",
        "Update": true
      },
      "Ports": [{
        "ContainerPort": 8080
      }],
      "Volumes": [{
          "HostDirectory": "/var/app/current",
          "ContainerDirectory": "/app"
      }],
      "Logging": "/var/log",
      "Entrypoint": "/bin/sh",
      "Command": "/app/dockerrun.sh"
    }
    

    我得到以下两行(只有这两行)从 /var/log/eb-docker/containers/eb-current-app/unexpected-quit.log

    Docker container于2019年8月8日星期四22:09:47意外退出:

    如果我试着让它通过 sudo /opt/elasticbeanstalk/hooks/appdeploy/enact/00run.sh

    sudo/opt/elasticbeanstalk/hooks/appdeploy/ecate/00运行.sh

    /bin/sh:0:无法打开/app/多克伦.sh。有关详细信息,请查看快照日志。

    找不到环境变量EB\u EVENT\u文件。正在将消息写入stderr。

    消息:Docker容器在启动后意外退出:Docker容器在2019年8月8日星期四22:16:09 UTC意外退出:

    /bin/sh:0:无法打开/app/多克伦.sh。有关详细信息,请查看快照日志。

    为什么我不能跑我的车多克伦.sh用给定的方法归档?

    0 回复  |  直到 5 年前