Моя основная цель – быстро и легко создать и запустить изображение, сохраняя при этом данные. Я ДУМАЮ, что ACI - лучший способ сделать это. Предположим, что это правда...
[Edit2] Похоже, что может быть более фундаментальная проблема — невозможность указать имя хоста, как в докере. Задам этот вопрос в отдельной теме. Я смог подключить хранилище.
[Исходное сообщение] Я хотел бы использовать ACI для настройки этого образа, который находится в Docker Hub. Я смог следовать простому руководству здесь но мне нужно подключить хранилище.
В частности, это образ, который я использую: https://hub.docker.com/r/sverhoeven/cartodb/
Это инструкции по настройке постоянных данных, но я не думаю, что они будут напрямую транслироваться в ACI. Это взято из раздела «Постоянные данные» на этой странице концентратора докеров.
Чтобы сохранить данные PostgreSQL, каталог данных PostGreSQL (/var/lib/postgresql) должен быть сохранен вне контейнера Cartodb Docker.…
Сделать временный контейнер
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 для вызова определенных команд запуска докера при запуске контейнера.