2

我正在使用nginx-proxy docker 映像来代理我的其他 Web 应用程序。我可以使用运行此图像

docker run -d -p 80:80 -e ENABLE_IPV6=true -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy

命令。 如果我在没有ie-v的情况下运行 docker,这里选项是强制性的-v

docker run -d -p 80:80 -e ENABLE_IPV6=true jwilder/nginx-proxy

它给出了错误:

ERROR: you need to share your Docker host socket with a volume at /tmp/docker.sock
Typically you should run your jwilder/nginx-proxy with: `-v /var/run/docker.sock:/tmp/docker.sock:ro`
See the documentation at http://git.io/vZaGJ
WARNING: /etc/nginx/dhparam/dhparam.pem was not found. A pre-generated dhparam.pem will be used for now while a new one is being generated in the background.  Once the new dhparam.pem is in place, nginx will be reloaded.

-v现在我的问题是当我使用 AWS ECS 任务定义或服务运行这个 docker 容器时如何提供这个参数。

我可以-v在 Dockerfile 中提供参数吗?

4

1 回答 1

1

-v 标志是绑定安装卷的简写。这是 AWS 文档。您也可以在 AWS 管理控制台中通过将卷添加到任务定义修订版来执行此操作,然后在存储和日志记录部分的容器定义中,将该卷挂载到容器中。

AWS Fargate 当前不支持绑定挂载。如果您打算使用此 nginx-proxy 设置,您将希望坚持使用 EC2 主机的 ECS。编辑:这不再是真的,Fargate 目前支持绑定挂载(感谢@bobics)

最后一个警告,绑定挂载的卷只对挂载它们的主机持续存在。因此,如果您将多个 EC2 实例作为主机运行,您将拥有两个不同的绑定挂载卷。

于 2018-07-11T14:30:18.560 回答