我在这里稍微修改了容器版本:
http://jasonwilder.com/blog/2014/03/25/automated-nginx-reverse-proxy-for-docker/
要在本地运行,我使用:
$ docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock -t jwilder/nginx-proxy
运行类似下面的其他容器:
$ docker run -e VIRTUAL_HOST=my-domain.local -t -d my-repo/site-name
我无法将其转换为ECS上的任务定义。
任务定义
我有两个容器:
的nginx-反向代理
静态现场
我有一个集群,其中包含一个ECS实例和一个具有一个任务的服务器,如上所述。这样可以保持循环并在“STOPPED(任务退出时必需的容器)”中失败。
现在我假设我需要设置卷,但我能找到的所有示例都有路径和名称,我无法看到如何转换这个“/var/run/docker.sock:/tmp/docker。袜子“进入任何可用的领域。
答案 0 :(得分:4)
我已经很晚了,但是对于将来遇到这篇文章的人,无论如何我都会回答。
你已经回答了自己。它失败是因为您没有从主机共享Docker套接字,这对于nginx代理映像是必不可少的。
转到“任务定义”并添加新卷。将其命名为 socket 并指定主机路径 /var/run/docker.sock 。然后编辑您的nginx代理容器,在Mount Points下选择 socket 作为源卷,选择 /tmp/docker.sock 作为容器路径。仅出于安全原因将其标记为只读。将此容器的Command部分保留为默认值。
部署新版本,现在应该可以正常使用。