在AWS ECS中将带有卷参数的docker容器作为任务定义或服务运行

时间:2018-05-31 11:42:10

标签: docker nginx amazon-ecs aws-ecs docker-gen

我正在使用nginx-proxy泊坞窗图片来代理我的其他网络应用程序。 我可以使用

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

命令。如果我在没有-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.

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

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

1 个答案:

答案 0 :(得分:1)

-v标志是绑定安装卷的简写。 Here's the AWS documentation for that。您还可以在AWS管理控制台中执行以下操作,方法是将卷添加到任务定义修订版,然后在存储和日志记录部分的容器定义内,将该卷安装到容器。

AWS Fargate当前不支持绑定安装。如果您使用此nginx-proxy设置进行设置,则希望对EC2主机使用ECS。 编辑:这不再是事实,Fargate当前支持绑定安装(感谢@bobics)

最后的警告,绑定安装的卷仅对于安装了它们的主机持续存在。因此,如果您要运行多个EC2实例作为主机,则将有两个不同的绑定安装卷。