我的主要目标是在保持数据的同时快速轻松地启动和运行图像。我认为 ACI 是做到这一点的最佳方式。假设这是真的……
[Edit2] 似乎有一个更根本的问题是无法像在 docker 中那样指定主机名。我将在一个单独的线程中问这个问题。我能够附加存储。
[原帖] 我想使用 ACI 来设置 Docker Hub 上的图像。我已经能够按照这里的简单教程进行操作,但我需要附加存储。
具体来说,这是我正在使用的图像:https ://hub.docker.com/r/sverhoeven/cartodb/
这些是有关如何设置持久数据的说明,但我认为它们不会直接转换为 ACI。这取自该 docker hub 页面的“Persistent Data”部分
要持久化 PostgreSQL 数据,必须将 PostGreSQL 数据目录 (/var/lib/postgresql) 持久化到 Cartodb Docker 容器之外。...</p>
做一个临时容器
docker create --name cartodb_pgdata sverhoeven/cartodb
将 Postgresql 数据目录 (cartodb_pgdata) 保存到本地目录。** 我们如何使用 ACI 做到这一点?
docker cp cartodb_pgdata:/var/lib/postgresql $PWD/cartodb_pgdata docker rm -f cartodb_pgdata
将 cartodb_pgdata 的所有权设置给文件系统上的 (uid=105) 用户。** 我们如何使用 ACI 做到这一点?
sudo chown -R 105.105 $PWD/cartodb_pgdata
在此之后,CartoDB 容器将拥有一个在重新启动后保持填充状态的数据库。CartoDB 容器可以启动
docker run -d -p 80:80 -h cartodb.example.com -v $PWD/cartodb_pgdata:/var/lib/PostgreSQL sverhoeven/cartodb
有许多问题我无法找到解决方案,例如:
- 我不知道是使用 emptyDir 还是 Azure 文件共享。
- 我不知道如何编辑所有权
- 我不知道如何设置 ACI 以在启动容器时调用特定的 docker run 命令