Ale*_*x L 4 amazon-ec2 amazon-web-services amazon-ecs docker
我在这里有一个稍微修改过的容器版本:
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
Run Code Online (Sandbox Code Playgroud)
并运行类似于以下内容的其他容器:
$ docker run -e VIRTUAL_HOST=my-domain.local -t -d my-repo/site-name
Run Code Online (Sandbox Code Playgroud)
我无法将其转换为 ECS 上的任务定义。
任务定义
我有两个容器:
nginx-反向代理
静态站点
我有一个集群,其中包含一个 ECS 实例和一个服务器,上面定义了一项任务。这会保持循环并以“STOPPED(退出任务中的基本容器)”失败。
现在我假设我需要设置卷,但我能找到的所有示例都有一个路径和一个名称,我看不出如何将这个“/var/run/docker.sock:/tmp/docker.sock”转换为任何可用字段。
小智 5
我来晚了,但无论如何我都会为将来遇到这篇文章的人回答。
你自己回答了。它失败是因为您没有从主机共享 Docker 套接字,这对 nginx 代理映像至关重要。
转到您的任务定义并添加一个新卷。将其命名为socket并指定主机路径/var/run/docker.sock。然后编辑你的 nginx 代理容器,在 Mount Points 下选择socket作为源卷和/tmp/docker.sock作为容器路径。出于安全原因也将其标记为只读。将此容器的 Command 部分保留为默认值。
部署您的新修订,它现在应该可以工作了。
归档时间: |
|
查看次数: |
3518 次 |
最近记录: |