如何获得Dockerrun.aws.json基于环境设置dynamicsourcePath?
在Elastic Beanstalk中,代码被上传到S3存储桶,然后挂载到EC2实例中的/var/app/current
,因此所有卷都需要从那里获取。
所以我的Dockerrun.aws.json
看起来像这样:
"volumes": [ { "host": { "sourcePath": "/var/app/current/foo" // <<< problem lies here }, "name": "foo" }
由于这个/var/app/current
事情,执行$ eb local run
失败,因为我的本地机器上的源path在部署时是~/bar/foo
而不是/var/app/current/foo
。 错误在下面给出:
Mounts denied: The path /var/app/current is not shared from OS X and is not known to Docker. You can configure shared paths from Docker -> Preferences... -> File Sharing. See https://docs.docker.com/docker-for-mac/osxfs/#namespaces for more info.
鉴于我想我的eb部署工作在本地和远程使用相同的configuration文件,我应该如何克服这个问题?
堆栈:
- AWS Elastic Beanstalk多容器Docker
- 适用于Mac的MacOS,Docker
默认情况下,Docker for Mac共享下面的path
- /用户
- /卷
- / tmp目录
- /私人的
所以,如果你的path从任何一个开始,你可以在本地和AWS上保留这两个path,那么它将工作。 否则,你应该在你的Docker for Mac设置上共享/var
- Docker Scrapinghub /飞溅与139退出
- 如何从一个私人Dockerhub回购自动化docker运行?
- Docker容器不能在主机上写入
- RabbitMQ Docker容器不能在AWS EC2实例上工作
- 失败(404错误)通过AWS EBS泊坞窗环境中的Nginx访问Amazon Linux API泊坞窗服务
- 有没有办法让Docker Splunk驱动程序在AWS EC2容器服务(ECS)上运行时将EC2实例Id发送到Splunk?
- 无法通过S3向Elastic Beanstalk中的Docker进行身份validation
- 将GitLabregistry连接到AWS上的ECS – 花费太长时间来响应
- Rancher EBS卷装