EC2 上具有持久根存储的 Docker

EC2 上具有持久根存储的 Docker

我想看看是否可以在 EC2 上为开发人员创建 Docker 实例,如果由于某种原因实例/容器本身关闭,这些实例不会被删除,就像 EC2 的按需实例停止时一样。

正确的做法是什么?我可以在 Amazon Elastic Container Service 上执行此操作吗?

我有 EC2 经验,但是是 docker 新手。

谢谢!

更新:需要明确的是,我希望开发人员能够使用 sudo 将他们自己的软件安装到容器上,并且在系统中断的情况下保留该环境。

答案1

我会使用Dockerfiledocker compose创建用于运行容器的映像,然后将所有即使 Docker 主机被破坏也必须保留的重要文件放在单独的卷中,例如附加到实例的 EBS。启动容器时,您会挂载 EBS 卷并将其作为数据卷添加到容器中。开发人员所做的所有工作都必须保存在数据卷上。

举个例子,假设您将一个 EBS 卷附加/dev/sdb1到 AWS docker 主机实例。格式化后,假设您将其挂载/code到 docker 主机实例上。启动容器时,将其添加为 -

docker run -d -P --name web -v /code:/var/www demo/webapp python app.py

现在,即使 docker 主机消失了,/code数据也应该会保留在容器上/var/www。所有工作都必须分别在主机或容器上完成/code/var/www最重要的是,您可以拍摄它的快照,因为它是一个 EBS 卷。

相关内容