如何使用参数 运行 ECS 上的 nginx 反向代理容器

How do I run an nginx reverse proxy container on ECS using arguments

我这里有一个稍微修改过的容器版本:

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 (Essential container in task exited)".

现在我假设我需要设置卷,但我能找到的所有示例都有路径和名称,我看不出如何转换这个 "/var/run/docker.sock:[=59= .sock" 到任何可用字段。

我来晚了,但无论如何我都会为以后遇到此问题的人post回答。

你自己回答了。它失败了,因为您没有从主机共享 Docker 套接字,这对 nginx 代理映像至关重要。

转到您的任务定义并添加一个新卷。将其命名为 socket 并指定主机路径 /var/run/docker.sock。然后编辑你的 nginx 代理容器并在挂载点下选择 socket 作为源卷和 /tmp/docker.sock 作为容器路径。出于安全原因,也将其标记为只读。使用默认值保留此容器的命令部分。

部署您的新修订版,它现在应该可以工作了。