linux – 如何使用非默认运行参数在AWS Elastic Beanstalk中运
我有一个Docker容器,可以在我的本地开发机器上运行.我想将其移至AWS Elastic Beanstalk,但我遇到了一些麻烦. 我正在尝试使用s3fs将S3存储桶安装到我的容器中.我有Dockerfile:
我通过运行run_docker.sh来安装s3fs,安装S3存储桶,并在创建映像后运行Tomcat服务器:
当我使用以下命令构建并运行此Docker容器时:
它运作良好.然而,当我删除–cap-add mknod –cap-add sys_admin –device = / dev / fuse时,s3fs无法挂载我的S3存储桶. 现在,我想在AWS Elastic Beanstalk上运行它,当我部署容器(并运行run_docker.sh)时,所有步骤都可以正常执行,除了run_docker.sh中的步骤s3fs my-bucket / opt / s3-files无法安装存储桶. 据推测,这是因为无论Elastic Beanstalk运行Docker容器,它都不会添加任何额外的标志,例如–cap-add mknod –cap-add sys_admin –device = / dev / fuse. 我的Dockerrun.aws.json文件如下所示:
是否可以向AWS EB Docker部署添加额外的docker run标志? 更新: 对于尝试使用@ Egor的答案的人来说,当EB配置设置为使用运行Docker 1.6.0的v1.4.0时,它会起作用.任何超过v1.4.0版本的内容都会失败.因此,为了使其工作,正常构建您的环境(这应该会给您一个失败的构建),然后使用运行Docker 1.6.0配置的v1.4.0重建它.应该这样做! 最佳答案
如果您使用的是最新版本的aws docker stack(例如docker 1.7.1),则需要稍微修改上述答案.试试这个:
注意位置的变化&&运行脚本的名称 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |