“nginx-proxy”docker image socket volume not mounted
我的Dockerrun.aws.json看起来像这样:
{ "AWSEBDockerrunVersion": 2, "volumes": [ { "name": "docker-socket", "host": { "sourcePath": "/var/run/docker.sock" } } ], "containerDefinitions": [ { "name": "nginx", "image": "nginx", "environment": [ { "name": "VIRTUAL_HOST", "value": "demo.local" } ], "essential": true, "memory": 128 }, { "name": "nginx-proxy", "image": "jwilder/nginx-proxy", "essential": true, "memory": 128, "portMappings": [ { "hostPort": 80, "containerPort": 80 } ], "mountPoints": [ { "sourceVolume": "docker-socket", "containerPath": "/tmp/docker.sock", "readOnly": true } ] } ] }
使用“eb本地运行”在本地运行此结果将导致:
错误:您需要在/tmp/docker.sock中使用卷来共享您的Docker主机套接字通常,您应该使用以下命令运行jwilder / nginx-proxy:
-v /var/run/docker.sock:/tmp/docker.sock:ro
请参阅http://git.io/vZaGJ上的文档
如果我ssh进入我的docker机器并运行:
docker运行-d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock jwilder / nginx-proxy
它创build容器并正确安装卷。
为什么上面的Dockerrun.aws.jsonconfiguration没有正确地挂载/var/run/docker.sock:/tmp/docker.sock卷?
如果我从docker-compose.yml运行相同的configuration,它在本地工作正常。 但是,我想使用Dockerrun.aws.json将相同的configuration部署到Elastic Beanstalk:
version: '2' services: nginx: image: nginx container_name: nginx cpu_shares: 100 volumes: - /var/www/html environment: - VIRTUAL_HOST=demo.local nginx-proxy: image: jwilder/nginx-proxy container_name: nginx-proxy cpu_shares: 100 ports: - "80:80" volumes: - /var/run/docker.sock:/tmp/docker.sock:ro
我的本地设置是使用:
- VirtualBox 5.0.22 r108108
- docker机版本0.7.0,构builda650a40
- EB CLI 3.7.7(Python 2.7.1)
您的Dockerrun.aws.json文件可以在AWS EB中正常工作(只是稍微更改了它以使用我们自己的容器/主机名来代替'nginx'容器)。 这只是“eb本地运行”设置的问题,或许?
正如你所说的是在Mac上,尝试升级到新的docker 1.12,它本身在osx上运行docker,或者至less是更新版本的docker-machine – https://docs.docker.com/machine/install-machine/#/安装机,直接
- EB:从Docker Hub自动部署新的Docker镜像
- 如果我移动Elastic Beanstalk应用程序以使用Docker,是否需要自己的服务器?
- AWS Docker Golang。 'eb deploy'错误
- 在AWS EBS microservice docker环境中使用Kafka,以避免丢失用户请求并处理更多并发点击
- dockerbuild设失败 – “无法分配内存”
- Elastic Beanstalk和Dockerfile ARG指令
- 在工作层Elastic Beanstalk泊坞窗容器上缺less供应商目录
- 在Elastic Beanstalk / Docker Nginx / PHP-FPM实例中访问客户端IP
- AWS BeansTalk公开Docker端口