Объем резервуара: полезный и номинальный объем
Объем резервуара АЗС, и для хранения воды или любых других пищевых жидкостей нужно знать для корректного ведения учетных и торговых операций с нефтью и нефтепродуктами и др жидкостями.Для чего нужен такой показатель, как объем резервуара? Многие считают, что он рассчитывается при проектировании исключительно для каких-то технических целей. На самом деле объем резервуара АЗС или любого другого предприятии нужно знать для корректного ведения учетных и торговых операций с нефтью и нефтепродуктами. Строго говоря, это касается и тех резервуаров, которые используются для хранения воды или любых других пищевых жидкостей. Определение объема и вместимости позволяет составить градуировочные таблицы, и в дальнейшем на них можно опираться при определении массы принятых или сданных нефтепродуктов или других жидкостей.
Следует отметить, что рассчитывают, прежде всего, полезный объем резервуара. Эта величина определяется произведением горизонтального сечения емкости на ее высоту от днища до уровня максимального заполнения (если речь идет о конструкциях со стационарной крышей) или до максимального подъема нижней части плавающей крыши или понтона (если речь идет о модификациях такого типа). Таким образом, как следует из самой методики расчета, полезный объем резервуара – это просто объем цилиндра, который несколько адаптируется к реальности, то есть с самого начала планируется какой-то небольшой недолив резервуара, обусловленный технологическими требованиями.
Полезный объем резервуара с теоретической точки зрения представляет собой ту часть емкости, которая используется для управления технологическими процессами обеспечения перекачки и приема нефти. Хотя считается, что он соответствует разности между физическими объемами резервуара и его недоливом, на самом деле в расчет берутся неиспользованные верхние и нижние пространства. Собственно, сама величина объема цилиндра, которая определяется произведением горизонтального сечения резервуара на высоту его стенки называется геометрическим объемом.
Номинальный и рабочий объем резервуара
Рассчитывается также номинальный объем резервуара. Он представляет собой округленную условную величину, которая принимается для идентификации различных нормативных требований к конструктивным особенностям таких емкостей.
Для чего используется такая величина как номинальный объем резервуаров? Она фигурирует в таких расчетах как:
- определение типоразмера резервуара,
- расчет для установки систем охлаждения и пожаротушения,
- определение компоновки резервуарных парков, вместимости групп резервуаров и т.д.
Объем пожарного резервуара
Как правило, относительно объема такой емкости заказчик задумывается еще при заказе резервуара. Многие компании-изготовители предлагают готовые пожарные резервуары, однако, они могут различаться объемом. Для того, чтобы принять решение, нужно учесть, что запаса воды должно хватить на тушение пожара любого масштаба. Кроме того, в расчет принимается еще несколько факторов:
- 1- специфика работы предприятия. Если фирма работает уже давно, то есть статистика случаев возгорания – за неделю, месяц или год. Если таких случаев еще не было, стоит ознакомиться с отраслевой статистикой. Это позволит понять примерное число вероятных возгораний и другие показатели, связанные с такими ситуациями,
- 2 – время, которое может быть затрачено на устранение одного очага возгорания,
- 3 – высота подачи струи воды и мощность струи при устранении пожара,
- 4 – общее количество планируемых к установке пожарных резервуаров,
- 5 – длительность промежутка времени, в течение которого пожарный резервуар должен быть заполнен водой.
Объем жидкости в наклоненном цилиндрическом баке
Продолжая тему, начатую тут Объем жидкости в цилиндрической таре и в ответ на запрос Прошу помочь с расчётом публикуем калькулятор, вычисляющий объем жидкости в цилиндрической емкости под наклоном.
Для вычисления вам потребуется ввести параметры емкости (радиус и длину) замерить уровень жидкости вблизи от одного из оснований и угол наклона.
Замер уровня жидкости
Замер уровня жидкости должен производиться в диаметральной плоскости емкости перпендикулярно нижней цилиндрической стенке (см. рисунок), непосредственно у одного из оснований или на некотором расстоянии от него ( в этом случае надо заполнить параметр «Расстояние от основания при измерении»). Как вариант замера, в случае небольшого количества жидкости и если есть возможность наклонить емкость, можно наклонить ее таким образом, чтобы уровень у верхнего основания был нулевым. Тогда надо замерить только расстояние от верхнего основания до границы начала жидкости. Если же наклонить бочку так, что жидкость будет подходить ровно к верхнему углу (месту смыкания верхнего основания и боковой поверхности емкости) то уровень и расстояние до основания будут нулевыми, замерить потребуется только угол.
Детали и формулы расчета можно найти непосредственно под калькулятором.
Объем жидкости в наклонной цилиндрической таре
Уровень измерену верхнего основанияу нижнего основанияРасстояние от ближайшего основания при измерении уровня жидкости. (0 если измерение происходило непосредственно у основания).
Точность вычисленияЗнаков после запятой: 2
Уровень жидкости у верхнего основания
Уровень жидкости у нижнего основания
Длина частично заполненной части
Длина полностью заполненной части
Объем жидкости
save Сохранить extension Виджет
Наклоненная цилиндрическая емкостьГотовой формулы для вычисления объема жидкости в наклонной емкости мне найти не удалось, поэтому пришлось ее выводить.
Если одно основание емкости заполнено полностью, то весь объем жидкости можно условно разделить на две части:
- цилиндрическая часть, объем которой находится тривиально по формуле объема цилиндра см. Цилиндр
- часть цилиндра усеченная под углом поверхностью воды. Объем этой части найти также не трудно по той же формуле, деленной пополам, если жидкость не доходит до верхнего основания (емкость стоит почти вертикально).
Формулы для вычисления объема частично заполненной части емкости
Сложности начинаются, если жидкость частично закрывает одно или оба основания, так как на рисунке.
где -функция зависимости угла сегмента от длины фигуры x,
которая выражается следующим образом:
где
a — угол наклона емкости,
h0 — уровень жидкости у верхнего основания цилиндра
Подставим в формулу объема это выражение и упростив его получим полную формулу объема:
где
Вычислив интеграл, получаем:
где ,
Определение длины частично заполненной части
Приведенные выше формулы справедливы для следующих предположений:
- Оба основания заполнены частично
- Уровень жидкости h0 измерен непосредственно у верхнего основания.
- Нет полностью пустых или полностью заполненных частей цилиндра.
Но калькулятор может принимать на вход значения уровня жидкости, измеренные на некотором расстоянии от верхнего либо от нижнего основания. Допускаются полностью пустые и полностью полные части цилиндрической емкости.
Чтобы вычислить уровень жидкости у верхнего основания hu используйте формулы:
где hlu — уровень жидкости, измеренный на расстоянии lu от верхнего основания, Lc — длина емкости
где hlu — уровень жидкости, измеренный на расстоянии ll от нижнего основания.
Если уровень huравен или больше нуля, мы считаем h0=hu, и Lf = Lc.
Пустая часть бака
В противном случае hu может быть отрицательным. Это означает, что какая-то часть бака пуста. В этом случае мы полагаем h0=0 и вычисляем длину оставшейся (заполненной) части цилиндра: Lf по формуле:
где Lc — длина цилиндра.
Полностью заполненная часть
Уровень жидкости у нижнего основания h1 можно определить следующим образом:Если вычисленно значение h1 больше диаметра цилиндра, то некоторая часть цилиндра — заполнена полностью. Чтобы вычислить длину этой части мы используем формул:
Объем этой части посчитать тривиально: Цилиндр
После этих вычислений мы можем подставить длину частично заполненной части и уровень жидкости h0 в формулы первого раздела, чтобы вычислить объем.
Расчет объема буферной емкости
При выборе объёма буферного теплоаккумулятора необходимо отталкиваться от мощности твердотопливного котла. Чёткой формулы расчёта объёма теплонакопителя нет. Разные производители дают свои рекомендации и они могут составлять от 20 до 50 литров объёма теплоаккумулятора на киловатт мощности котла. Некоторые производители рекомендуют «привязываться» к объёму системы отопления. В любом случае при выборе объёма буферного накопителя тепла стоит обратиться к специалистам, что бы избежать ошибок при расчётах.
Ориентировочная формула подбора теплонакопителя:
m= (P×ŋ×t)/ (c×∆ϑ)
где: m – объём
P – мощность котла, Вт
ŋ – КПД котла, 0.98%
t – время нагрева, ч
c – удельная теплоёмкость воды, Вч/кг х К
Δϑ – разность температур, К
При подставлении определённых
значений Вы получите ориентировочный объём буферного теплоаккумулятора (но
эта формула не панацея), и тут можно «поиграться» с формулой путём
изменения значений мощности, времени нагрева, и температурной дельты.
Опять же не стоит забывать, что во время нагрева
теплонакопителя, теплоноситель будет циркулировать по контурам и соответственно
остывать. В этом случае необходимо учитывать погрешность. В любом
случае для точного расчёта теплоаккумулятора к электрическому котлу
отопления лучше обратиться к нашим специалистам.
В связи с выше перечисленным можно сделать вывод, что в виде основного котла Вы можете применять как электрический котел отопления, так и твердотопливный котел. И, что самое важное, Вы можете запитывать буферную емкость и тем и другим отопительным котлом по вашему выбору попеременно. Тогда, такая система отопления будет наиболее экономичная, и адаптированная исключительно под ваши условия эксплуатации.
Также необходимо учитывать сопутствующие товары, например трёхходовые термосмесители. Таких нужно как минимум две штуки. Один для ограничения температуры на обратке между буфером и твердотопливным котлом, так как разница температур между подачей и обраткой не должна превышать 30 градусов. Другой термосмеситель ставится на подающую магистраль на систему отопления, так как температура в буфере может достигать 100 градусов, а в систему нужно подавать 60-70 градусов.
Произвести монтаж системы отопления Вашего дома, или обвязку котельной с установкой буферного накопителя могут наши технические специалисты. Поверьте, цена на установку буферной емкости не так велика, как вы думаете. Наша монтажная группа имеет большой опыт работ по установке теплоаккумуляторов к котлам отопления.
Расчёт объема переливной емкости для бассейна
Переливная, или накопительная, емкость — обязательная составляющая конструкции частного бассейна, которая принимает воду, вытесняемую при купании, а также переливающуюся во время образования волн. Ее функция заключается в поддержании неизменного уровня жидкости в чаше. Также накопитель служит транзитным резервуаром системы фильтрации. Вода, поступает в нее из лотка перелива, захватывается насосами и направляется на фильтры для очистки, после чего возвращается в бассейн.
Особенности проведения расчета
Для нормальной циркуляции и очистки воды важно правильно подобрать объем накопительной емкости.
Его расчет производится по следующей формуле:
V = Vv + Vw + Vr, где
- V — общий полезный объем переливной емкости, л;
- Vv — максимальное расчетное количество вытесняемой телами купающихся воды (берется из расчета 75 литров на 1 человека), л;
- Vw — объем жидкости, которая переливается от образования волн (берется из расчета 50-70 л на 1 м2 поверхности зеркала бассейна), л;
- Vr — минимальный объем воды, который необходим для работы датчика уровня, который предупреждает работу насоса в режиме холостого хода.
При проведении расчета нужно учитывать, что уровень воды в переливной емкости должен быть выше всасывающего патрубка насоса как минимум на 100-150 мм. Кроме того, может потребоваться предусмотреть дополнительный запас воды для обратной промывки фильтров. Однако в частных бассейнах для этих целей вода обычно забирается непосредственно из ванны, что позволяет уменьшить габариты компенсатора. Еще одним важным параметром, который нужно учитывать, является объем жидкости, которая должна находиться в системе циркуляционного насоса для поддержания его работы. Он уменьшает требуемую вместимость компенсатора.
Исходя из практики, при проектировании частных бассейнов целесообразней использовать упрощенный расчет компенсационной емкости, который может выполняться двумя методами. Первый способ предусматривает умножение площади зеркала бассейна на 5 см. При использовании второго метода объем накопителя рассчитывается как 14 % от общего объема чаши.
Подбор переливной емкости
Компенсационная емкость может выполняться путем создания дополнительной чаши соответствующих габаритов, которая сообщается с основной ванной. Ее стены и дно бетонируются и облицовываются с предварительной гидроизоляцией. Также может выполняться монтаж резервуара из полипропиленовых листов, соединяемых методом сварки.
При устройстве небольших частных бассейнов целесообразней использоваться готовые пластиковые баки, которые устанавливаются в подходящем месте и подключаются к системе искусственного водоема. Такие баки выпускаются стандартных типоразмеров, что упрощает подбор и избавляет от необходимости выполнения сложных расчетов. Например, если чаша бассейна составляет 25 м3, то можно выбрать стандартную переливную емкость объемом 3,75 м 3, изготовленную из полипропилена.
Онлайн калькулятор: Объем геометрических фигур
Данная статья содержит калькуляторы для расчета объема различных геометрических фигур. Основной источник формул: Spiegel, Murray R. Mathematical Handbook of Formulas and Tables. Schaum’s Outline series in Mathematics. McGraw-Hill Book Co., 1968.
Объем куба
Размеры куба
Формула:
Объем куба
Длина ребра куба (H)
Точность вычисленияЗнаков после запятой: 5
save Сохранить extension Виджет
Объем прямоугольной призмы
Размеры прямоугольной призмы
Формула:
Объем прямоугольной призмы
Точность вычисленияЗнаков после запятой: 5
save Сохранить extension Виджет
Объем пирамиды
Размеры пирамиды
Формула:
Объем пирамиды
Площадь основания
Точность вычисленияЗнаков после запятой: 5
save Сохранить extension Виджет
Объем усеченной пирамиды
Размеры усеченной пирамиды
Формула:
Объем усеченной пирамиды
Точность вычисленияЗнаков после запятой: 5
Объемы использования | Докер Документация
Расчетное время чтения: 16 минутТома являются предпочтительным механизмом для сохранения данных, генерируемых и используемых Контейнеры Docker. В то время как привязные крепления зависят от структура каталогов хост-машины, тома полностью управляются Докер.Тома имеют несколько преимуществ по сравнению с креплениями:
- Тома легче создавать резервные копии или переносить, чем привязывать монтирования.
- Вы можете управлять томами с помощью команд консоли Docker или API Docker. Тома
- работают как с контейнерами Linux, так и с Windows.
- Тома могут быть более безопасно разделены между несколькими контейнерами. Драйверы томов
- позволяют хранить тома на удаленных хостах или облачных провайдерах, чтобы шифровать содержимое томов или добавлять другие функции.
- Для новых томов их содержимое может быть предварительно заполнено контейнером.
Кроме того, тома часто являются лучшим выбором, чем постоянные данные в записываемый слой контейнера, потому что объем не увеличивает размер контейнеры, использующие его, и содержимое тома существует вне жизненного цикла данный контейнер.
Если ваш контейнер генерирует непостоянные данные о состоянии, рассмотрите возможность использования tmpfs mount, чтобы избежать постоянного хранения данных и повысить производительность контейнера, избегая записи в контейнер записываемый слой.
Тома используют rprivate
распространение привязки, а привязка распространения не
настраивается для объемов.
Выберите флаг -v или —mount
Первоначально флаг Новым пользователям следует попробовать Если вам нужно указать опции драйвера тома, вы должны использовать Escape-значения из внешнего анализатора CSV Если ваш драйвер тома принимает список через запятую в качестве опции,
вы должны экранировать значение из внешнего синтаксического анализатора CSV.Чтобы избежать Например, локальный драйвер В приведенных ниже примерах показан синтаксис В отличие от привязки, все варианты для объемов доступны как для При использовании томов со службами поддерживается только В отличие от bind mount, вы можете создавать и управлять томами вне области действия любого
контейнер. Создайте том : Список томов : Проверьте объем : Удалить том : Если вы запускаете контейнер с томом, который еще не существует, Docker создает
объем для вас.В следующем примере монтируется том Приведенные ниже примеры Используйте докер Это показывает, что монтирование является томом, оно показывает правильный источник и
назначение, и что монтирование для чтения-записи. Остановите контейнер и удалите объем.Примечание удаление тома является отдельным
шаг. Когда вы запускаете службу и определяете том, каждый контейнер службы использует свой собственный
локальный том. Ни один из контейнеров не может поделиться этими данными, если вы используете В следующем примере запускается служба Используйте Удалить сервис, который останавливает все его задачи: Удаление службы не удаляет никакие тома, созданные службой.
Удаление тома - это отдельный шаг. Команда Если вы запускаете контейнер, который создает новый том, как указано выше, и контейнер
имеет файлы или каталоги в каталоге для монтирования (например, Чтобы проиллюстрировать это, этот пример запускает контейнер Примеры После запуска любого из этих примеров выполните следующие команды для очистки
контейнеры и объемы.Примечание удаление тома это отдельный шаг. Для некоторых приложений разработки контейнер необходимо записать в привязку
mount, чтобы изменения распространялись обратно на хост Docker. В другие времена,
Контейнеру нужен только доступ для чтения к данным. Помните, что несколько
контейнеры могут монтировать один и тот же том, и для некоторых он может быть смонтирован для чтения и записи
из них и только для чтения для других, в то же время. Этот пример изменяет приведенный выше, но монтирует каталог только для чтения
объем, добавив Примеры Используйте докер Остановите, снимите контейнер и удалите том. Удаление объема
отдельный шаг. При создании отказоустойчивых приложений может потребоваться настроить несколько
реплики одного и того же сервиса, чтобы иметь доступ к одним и тем же файлам. Есть несколько способов достичь этого при разработке ваших приложений.
Одним из них является добавление логики в ваше приложение для хранения файлов на облачном объекте
система хранения, как Amazon S3. Другой - создавать тома с драйвером, который
поддерживает запись файлов во внешнюю систему хранения, такую как NFS или Amazon S3. позволяют абстрагировать базовую систему хранения от
логика приложения. Например, если ваши службы используют том с NFS
драйвер, вы можете обновить службы, чтобы использовать другой драйвер, например,
хранить данные в облаке, не меняя логику приложения. При создании тома с помощью докера тома В этом примере предполагается, что у вас есть два узла, первый из которых является Docker
хост и может подключиться ко второму с помощью SSH. На хосте Docker установите плагин В этом примере указывается пароль SSH, но если два хоста имеют общие ключи
настроен, вы можете опустить пароль. Каждый драйвер громкости может иметь ноль или более
настраиваемые параметры, каждый из которых указывается с использованием флага В этом примере указывается пароль SSH, но если два хоста имеют общие ключи
настроен, вы можете опустить пароль.Каждый драйвер громкости может иметь ноль или более
настраиваемые параметры. Если драйвер громкости требует передачи параметров, вы
для монтирования тома необходимо использовать флаг В этом примере показано, как можно создать том NFS при создании службы.В этом примере используется полезны для резервного копирования, восстановления и миграции. Использовать Например, создайте новый контейнер с именем Затем в следующей команде мы: Когда команда завершится и контейнер остановится, у нас останется резервная копия
наш С только что созданной резервной копией, вы можете восстановить ее в тот же контейнер, или
другой, который вы сделали в другом месте. Например, создайте новый контейнер с именем Затем распакуйте файл резервной копии в новый объем данных контейнера: Вы можете использовать описанные выше методы для автоматизации резервного копирования, миграции и восстановления.
тестирование с использованием ваших любимых инструментов. Том данных Docker сохраняется после удаления контейнера. Есть два типа
томов для рассмотрения: Чтобы автоматически удалять анонимные тома, используйте опцию Чтобы удалить все неиспользуемые тома и освободить место: Для каждого тома, который указывает контейнер (т. Е. Режим Источник Этот источник тома представляет путь в файловой системе хоста. Тропинка
может указывать на каталог или файл (либо обычный файл или
файл устройства). В следующем примере показан том Режим и владение томом будут такими же, как на
файловая система хоста. Если вы используете Mesos Containerizer, Docker Containerizer поддерживает В настоящее время существует два типа томов Если вы используете Mesos Containerizer, Docker Containerizer поддерживает только Это представляет путь в собственной песочнице контейнера.Путь может
укажите на каталог или файл в песочнице контейнера. В следующем примере показан том Объем владения будет таким же, как и у песочницы
контейнер. Обратите внимание, что Это представляет путь в песочнице родительского контейнера.
путь может указывать либо на каталог, либо на файл в песочнице
родительский контейнер.Смотрите вложенный контейнер
док для более подробной информации о том, что
родительский контейнер есть. В следующем примере показан том Объем владения будет таким же, как и у песочницы
родительский контейнер. Подробнее в этом документе. Подробнее в этом документе. Узнайте, как Docker обрабатывает тома хранилища контейнеров, как запустить контейнер с томом из командной строки и из Dockerfile, а также как разделить тома между контейнерами. Чтобы понять тома Docker, важно сначала понять, как работает файловая система Docker. Образ Docker - это набор слоев только для чтения. Когда вы запускаете контейнер из изображения, Docker добавляет слой чтения-записи в верхнюю часть этого стека слоев только для чтения. Докер называет это Объединенной Файловой Системой. Каждый раз, когда файл изменяется, Docker копирует файл из слоев, доступных только для чтения, в верхний слой для чтения и записи. Это оставляет исходный (только для чтения) файл без изменений. При удалении контейнера этот верхний слой чтения-записи теряется. Это означает, что любые изменения, сделанные после запуска контейнера, теперь исчезли. Том позволяет данным сохраняться даже при удалении контейнера. Тома также являются удобным способом обмена данными между хостом и контейнером. Монтирование тома является хорошим решением, если вы хотите: Тома Docker существуют вне объединенной файловой системы уровней только для чтения и чтения и записи. Том - это папка, которая является общей для контейнера и хост-машины. Объемы также могут быть разделены между контейнерами. Том Docker «живет» вне контейнера на хост-компьютере. Из контейнера том действует как папка, которую вы можете использовать для хранения и извлечения данных. Это просто точка монтирования каталога на хосте. Существует несколько способов создания и управления томами Docker. Каждый метод имеет свои преимущества и недостатки. Преимущество Быстро и просто. Начиная с версии 1.9.0, выпущенной 03.11.2015, тома Docker теперь можно создавать и управлять ими с помощью команды docker volume . Команда создания тома докера создаст именованный том. Имя позволяет легко находить и назначать тома Docker для контейнеров. Чтобы создать том, используйте команду: Например, чтобы создать том с именем , объем данных , команда: Чтобы запустить контейнер, который будет использовать том, созданный вами с помощью докера , создайте , добавьте следующий аргумент в команду Docker run : Например, чтобы запустить контейнер из образа сентос с именем my-volume-test и сопоставить том объем данных с каталогом контейнера / data , команда: Чтобы получить список всех томов Docker в системе, используйте команду: Это вернет список всех томов Docker, которые были созданы на хосте. Чтобы проверить именованный том, используйте команду: Это вернет информацию о томе, включая его точку монтирования (каталог, в котором он «живет») в хост-системе. Например, чтобы получить больше информации о томе данных , который мы создали выше, команда: Чтобы удалить именованный том, используйте команду: Примечание. Вы не сможете удалить том, если он используется существующим контейнером.Перед удалением тома вам нужно будет остановить и удалить контейнер с помощью команд: Например, чтобы удалить том с объемом данных , сначала нам нужно остановить и удалить контейнер my-volume-test-, который его использует: Объем тома можно затем удалить с помощью: Преимущество: Позволяет сопоставить конкретную папку хоста с контейнером. Если вы хотите смонтировать определенный каталог на хост-компьютере в качестве тома Docker в контейнере, добавьте следующий аргумент в команду docker run : Например, чтобы запустить новый контейнер и отобразить папку / webfiles с хоста в папку / var / www / html в контейнере, введите команду: Вы можете проверить это, сначала создав каталог для использования в качестве тома Docker с помощью команды: Добавьте небольшой тестовый файл в этот каталог с помощью команды: Затем запустите контейнер с именем my-directory-test и сопоставьте / hostvolume на хосте с / containervolume на контейнере с помощью команды: Когда вы окажетесь в командной строке нового контейнера, перечислите файлы в общем томе с помощью команды: Вы увидите хост-хост .файл txt , который мы создали на хосте. Это работает и в обратном направлении. Файлы, которые вы поместили в этот каталог, появятся на хосте. Вы можете проверить это из контейнера, добавив другой файл в общий том с помощью команды: Отсоедините от контейнера с помощью Ctrl-p + Ctrl-q и вернитесь в командную строку хост-машины.Оказавшись там, перечислите файлы в общем томе с помощью команды: Вы увидите два тестовых файла, которые мы создали с хоста и из контейнера. Используйте следующую команду в Dockerfile, чтобы создать общий том хранения в контейнере: Например, чтобы создать том / myvolume в контейнере для запуска из Dockerfile, введите команду: Чтобы проверить это, начните с создания файла с именем Dockerfile с помощью команды: Добавьте в этот файл следующее содержимое: Сохраните и выйдите из файла. Затем создайте образ с именем dockerfile-volumetest из этого Dockerfile с помощью команды: Затем запустите контейнер с именем my-dockerfile-test из этого образа с помощью команды: Когда вы находитесь в командной строке нового контейнера, создайте небольшой тестовый файл в общем томе с помощью команды: Отсоедините от контейнера с помощью Ctrl-p + Ctrl-q и вернитесь в командную строку хост-машины. Далее давайте найдем точку монтирования. Для этого используйте команду: Прокручивайте вывод, пока не найдете раздел под названием «Крепления» , который будет выглядеть примерно так: Проверьте исходный каталог на вашем хост-компьютере. В этом примере команда: Здесь вы найдете файл dockerfile-container-hello.txt , который вы создали для контейнера. Существует множество ситуаций, когда полезно разделить том Docker между контейнерами, и несколько способов достижения этой цели. Если вы создаете том на хост-компьютере, он может использоваться несколькими различными контейнерами одновременно. Это позволяет вам обмениваться данными между контейнерами и хостом. В этом примере мы создадим каталог на хосте и будем использовать этот каталог в качестве общего тома между двумя контейнерами. Начните с создания каталога для использования в качестве тома Docker с помощью команды: Создайте небольшой тестовый файл в этом каталоге с помощью команды: Затем запустите контейнер с именем sql-database из официального образа PostgreSQL и сопоставьте / webdata на хосте с / data на контейнере с командой: Когда вы находитесь в командной строке нового контейнера, убедитесь, что общий том настроен правильно с помощью команды: Вы увидите хост-хост .файл txt , который мы создали на хосте. Давайте добавим файл в этот общий том с помощью команды: Отсоедините от контейнера с помощью Ctrl-p + Ctrl-q и вернитесь в командную строку хост-машины. Теперь запустите контейнер с именем webapp из официального образа PHP + Apache и сопоставьте / webdata на хосте с / var / www / html на контейнере. Когда вы находитесь в командной строке нового контейнера, убедитесь, что общий том настроен правильно с помощью команды: Вы увидите файл host-hello.txt , который мы создали на хосте, и файл sql-hello.txt , который мы создали в контейнере sql-database . Давайте также добавим файл из этого контейнера: Отсоедините от контейнера с помощью Ctrl-p + Ctrl-q и вернитесь в командную строку хост-машины. Попав на хост-компьютер, вы увидите все три файла, перечисленные с командой: Теперь, когда два контейнера совместно используют каталог, который «живет» на хосте, данные можно мгновенно передавать между всеми тремя местоположениями, просто переместив их в этот каталог. Вы также можете настроить отдельный контейнер как общий объем данных. Для этого сначала создайте контейнер данных. Затем, когда вы создаете контейнер, который будет использовать этот контейнер данных, добавьте следующий аргумент в команду docker run : Примечание. Это будет работать независимо от того, работает целевой контейнер или нет.Тома Docker никогда не удаляются и сохраняются даже после остановки контейнера. Для этого примера мы создадим контейнер данных с именем , хранилище данных , которое будет служить томом данных, и два других контейнера, которые совместно используют его как том хранения. Сначала запустите контейнер для хранения данных с официального образа CentOS 7: Затем добавьте небольшой файл в папку / shared-data : Отсоедините от контейнера с помощью Ctrl-p + Ctrl-q и вернитесь в командную строку хост-машины. Теперь запустите контейнер app из официального образа Python и смонтируйте контейнер для хранения данных как том: Вывести список файлов в общем томе с помощью команды: Как видите, папка / shared-data была смонтирована из папки / shared-data в контейнере для хранения данных и содержит привет-хранилище данных .Файл TXT . Давайте добавим один из этого контейнера: Отсоедините от контейнера с помощью Ctrl-p + Ctrl-q и вернитесь в командную строку хост-машины. Наконец, запустите контейнер web из официального образа Apache и смонтируйте контейнер для хранения данных как том: Вывести список файлов в общем томе с помощью команды: Вы увидите файлы, которые мы создали в перечисленных здесь контейнерах и приложения для хранения данных. В этом руководстве мы монтировали тома со стандартным доступом для чтения и записи. Если вы хотите ограничить доступ контейнера только для чтения к томуу, просто добавьте : ro к объему контейнера, указанному в операторе -v : Это может быть полезно в целях безопасности или когда вы хотите убедиться, что данные в определенном томе защищены от случайной перезаписи или удаления другим контейнером. Например, начните с создания тома на узле с ограниченным доступом с помощью команды: Затем запустите контейнер из образа сентос с именем , разрешенный для записи , и сопоставьте том с ограниченным доступом как обычный (для чтения и записи) том: Когда вы находитесь в командной строке этого контейнера, создайте тестовый файл с командой: Отсоедините от контейнера с помощью Ctrl-p + Ctrl-q и вернитесь в командную строку хост-машины. Затем запустите контейнер из образа сентос с именем , не разрешенного для записи и сопоставьте том с ограниченным доступом как том только для чтения: Если вы попытаетесь создать тестовый файл в общем томе с помощью такой команды: Вы получите сообщение об ошибке, объясняющее, что этот контейнер не имеет доступа для записи в этот каталог: Используйте секретный том для предоставления конфиденциальной информации контейнерам в группе контейнеров.Том секрет хранит ваши секреты в файлах внутри тома, доступных для контейнеров в группе контейнеров. Храня секреты в секретном томе , вы можете избежать добавления конфиденциальных данных, таких как ключи SSH или учетные данные базы данных, в код приложения. Примечание Секретные тома в настоящее время ограничены контейнерами Linux. Узнайте, как передавать безопасные переменные среды для контейнеров Windows и Linux, в разделе Задать переменные среды. Пока мы работаем над тем, чтобы перенести все функции в контейнеры Windows, вы можете найти текущие различия платформ в обзоре. Чтобы развернуть контейнер с одним или несколькими секретами с помощью интерфейса командной строки Azure, включите параметры Следующий вывод ex-контейнера z-контейнера показывает открытие оболочки в работающем контейнере, перечисление файлов в секретном томе и отображение их содержимого: Также можно развернуть группы контейнеров с помощью интерфейса командной строки Azure и шаблона YAML. Развертывание по шаблону YAML является предпочтительным методом при развертывании групп контейнеров, состоящих из нескольких контейнеров. При развертывании с шаблоном YAML секретные значения должны быть в кодировке Base64 в шаблоне. Однако секретные значения отображаются в виде открытого текста в файлах в контейнере. Следующий шаблон YAML определяет группу контейнеров с одним контейнером, который монтирует том secret при Для развертывания с шаблоном YAML сохраните предыдущий YAML в файл с именем В дополнение к развертыванию CLI и YAML вы можете развернуть группу контейнеров с помощью шаблона Azure Resource Manager. Сначала заполните массив Далее, для каждого контейнера в группе контейнеров, в которую вы хотите смонтировать секретный том , заполните массив Следующий шаблон Resource Manager определяет группу контейнеров с одним контейнером, который монтирует том secret в Для развертывания с помощью шаблона Resource Manager сохраните предыдущий JSON в файл с именем Узнайте, как подключить другие типы томов в экземплярах контейнера Azure: Другой способ предоставления конфиденциальной информации контейнерам (включая контейнеры Windows) - использование безопасных переменных среды. -v
или -volume
использовался для автономных контейнеров и
флаг - число
использовалось для роящихся служб. Однако, начиная с Docker
17.06, вы также можете использовать -
- число
более четкое и подробное.Самая большая разница в том, что -V
синтаксис объединяет все опции в одном поле, а - монтировать
синтаксис разделяет их. Вот сравнение синтаксиса для каждого флага. - установить синтаксис
, который проще, чем - использовать синтаксис
. --mount
. -v
или - обьем
: состоит из трех полей, разделенных двоеточиями
(:
).Поля должны быть в правильном порядке, и значение каждого поля
не сразу очевидно. ro
.Эти варианты обсуждаются ниже. - число
: состоит из нескольких пар ключ-значение, разделенных запятыми и каждой
состоящий из <ключ> = <значение>
кортежа. Синтаксис - число
более многословно
чем -v
или -объем
, но порядок ключей не имеет значения, и
значение флага легче понять. типа
крепления, которое может быть , привязка
, объем
или тмфс
.В этой теме обсуждаются тома, поэтому тип всегда том
.
горы. Для именованных томов это имя тома.
Для анонимных томов это поле опущено. Может быть указан как источник
или SRC
.
принимает в качестве значения путь к файлу или каталогу
монтируется в контейнер. Можно указать как , пункт назначения
, от
,
или , цель
. только для чтения
, если таковая имеется, приводит к установке крепления для крепления в
контейнер только для чтения. volume-opt
, которую можно указать несколько раз, занимает
пара ключ-значение, состоящая из имени опции и ее значения. объем опт
,
окружите его двойными кавычками ( "
) и окружите весь параметр монтирования
с одинарными кавычками ( '
).
принимает параметры монтирования через запятую
список в параметре
o
. В этом примере показан правильный способ выхода из списка.
$ Докерская служба создать \
--mount 'тип = том, src = <имя-тома>, dst = <путь-контейнера>, том-драйвер = локальный, том-opt = тип = nfs, том-opt = устройство =
-mount
и -v
, где это возможно, и - количество
представлено первым. Различия между
-v
и - количество
поведения - установить флаги
и -v
. - количество
. Создание и управление томами
$ объем докера create my-vol
$ объем докера ls
местный my-vol
$ Объем док-станции осмотреть my-vol
[
{
«Водитель»: «местный»,
"Ярлыки": {},
"Точка монтирования": "/ var / lib / docker / volume / my-vol / _data",
«Имя»: «my-vol»,
"Параметры": {},
«Область применения»: «местный»
}
]
$ том докера rm my-vol
Запустить контейнер с объемом
myvol2
в / приложение /
в контейнере. -v
и - число
дают тот же результат. Вы не можете запустить
они оба, если вы не удалите контейнер devtest
и том myvol2
после запуска первого.
$ Docker Run -D \
--name devtest \
--mount source = myvol2, target = / app \
Nginx: последние
$ Docker Run -D \
--name devtest \
-v myvol2: / app \
Nginx: последние
для проверки devtest
, чтобы убедиться, что том создан и подключен
правильно.Ищите Крепления
раздел:
"Крепления": [
{
«Тип»: «объем»,
«Имя»: «myvol2»,
"Источник": "/ var / lib / docker / volume / myvol2 / _data",
«Пункт назначения»: «/ app»,
«Водитель»: «местный»,
"Режим": "",
"RW": правда,
"Распространение": ""
}
],
$ докер контейнер остановка devtest
Контейнер $ docker rm devtest
$ docker volume rm myvol2
Запуск службы с томами
локальный
драйвер тома, но некоторые драйверы томов поддерживают общее хранилище. Докер для AWS и
Docker для Azure поддерживает постоянное хранилище с помощью плагина Cloudstor. nginx
с четырьмя репликами, каждая из которых
использует локальный том под названием myvol2
.
$ docker service create -d \
--replicas = 4 \
--name devtest-service \
--mount source = myvol2, target = / app \
Nginx: последние
docker service ps devtest-service
, чтобы убедиться, что служба работает:
$ докер сервис ps devtest-сервис
ID ИМЯ ИЗОБРАЖЕНИЕ УЗЕЛ ЖЕЛАЕМЫЕ ГОСУДАРСТВЕННЫЕ ТЕКУЩИЕ СОСТОЯНИЯ ОШИБКИ
4d7oz1j85wwn devtest-service.1 nginx: последний моб Бег Бег 14 секунд назад
$ докер-сервис рм девтест-сервис
Синтаксические различия для сервисов
docker service create
не поддерживает флаг -v
или --volume
.При установке тома в контейнеры службы вы должны использовать - монтировать
флаг. Заполните том с помощью контейнера
/ app /
выше),
содержимое каталога копируется в том. Контейнер тогда
монтирует и использует объем, и другие контейнеры, которые также используют объем
иметь доступ к предварительно заполненному контенту. nginx
и заполняет
новый объем nginx-vol
с содержимым контейнера
Каталог / usr / share / nginx / html
, в котором Nginx хранит HTML-код по умолчанию
содержание. --mount
и -v
имеют одинаковый конечный результат.
$ Docker Run -D \
--name = nginxtest \
--mount source = nginx-vol, destination = / usr / share / nginx / html \
Nginx: последние
$ Docker Run -D \
--name = nginxtest \
-v nginx-vol: / usr / share / nginx / html \
Nginx: последние
$ остановка контейнера докер nginxtest
Контейнер $ docker rm nginxtest
$ docker volume rm nginx-vol
Используйте том только для чтения
ro
в (пустой по умолчанию) список параметров, после
точка монтирования внутри контейнера. Там, где присутствует несколько вариантов, отдельные
их запятыми. --mount
и -v
имеют одинаковый результат.
$ Docker Run -D \
--name = nginxtest \
--mount source = nginx-vol, destination = / usr / share / nginx / html, только для чтения \
Nginx: последние
$ Docker Run -D \
--name = nginxtest \
-v nginx-vol: / usr / share / nginx / html: ro \
Nginx: последние
для проверки nginxtest
, чтобы убедиться, что монтировано только для чтения
правильно.Ищите Крепления
раздел:
"Крепления": [
{
«Тип»: «объем»,
«Имя»: «nginx-vol»,
"Источник": "/ var / lib / docker / volume / nginx-vol / _data",
«Пункт назначения»: «/ usr / share / nginx / html»,
«Водитель»: «местный»,
"Режим": "",
«RW»: ложно,
"Распространение": ""
}
],
$ остановка контейнера докер nginxtest
Контейнер $ docker rm nginxtest
$ docker volume rm nginx-vol
Обмен данными между машинами
Используйте драйвер громкости
создайте
или при запуске
Контейнер, который использует еще не созданный том, вы можете указать драйвер тома.
Следующие примеры используют драйвер тома vieux / sshfs
, сначала при создании
автономный том, а затем при запуске контейнера, который создает новый
объем. Начальная настройка
vieux / sshfs
:
$ Установка подключаемого модуля docker --grant-all-permissions vieux / sshfs
Создание тома с помощью драйвера тома
-o
.
$ том докера create --driver vieux / sshfs \
-o sshcmd = test @ node2: / home / test \
-o пароль = тестовый пароль \
sshvolume
Запустите контейнер, который создает том с помощью драйвера тома
--mount
, а не -v
.
$ Docker Run -D \
--name sshfs-container \
--volume-driver vieux / sshfs \
--mount src = sshvolume, target = / app, volume-opt = sshcmd = test @ node2: / home / test, volume-opt = пароль = testpassword \
Nginx: последние
Создайте сервис, который создает том NFS
10.0.0.10
в качестве сервера NFS и / var / docker-nfs
в качестве экспортируемого каталога на сервере NFS. Обратите внимание, что указанный драйвер тома локальный
. NFSv3
$ docker service create -d \
--name nfs-service \
--mount 'type = volume, source = nfsvolume, target = / app, volume-driver = local, volume-opt = type = nfs, volume-opt = device =: / var / docker-nfs, volume-opt = o = addr = 10.0.0.10 '\
Nginx: последние
NFSv4
Докерская служба
create -d \
--name nfs-service \
--mount 'type = volume, source = nfsvolume, target = / app, volume-driver = local, volume-opt = type = nfs, volume-opt = device =: / var / docker-nfs, "volume-opt = о = 10.0.0.10, rw, nfsvers = 4, async "'\
Nginx: последние
Резервное копирование, восстановление или миграция томов данных
Тома --volumes-from
флаг для создания нового контейнера, который монтирует этот том. Резервное копирование контейнера
dbstore
:
$ docker run -v / dbdata - имя dbstore ubuntu / bin / bash
dbstore
/ резервная копия
dbdata
в резервную копию .Файл tar
находится в нашем каталоге / backup
.
$ docker run --rm --volumes-from dbstore -v $ (pwd): / резервное копирование ubuntu tar cvf /backup/backup.tar / dbdata
dbdata том
Восстановить контейнер из резервной копии
dbstore2
:
$ docker run -v / dbdata - имя dbstore2 ubuntu / bin / bash
$ docker run --rm --volumes-from dbstore2 -v $ (pwd): / backup ubuntu bash -c "cd / dbdata && tar xvf / backup / backup.tar - полоса 1 "
Удалить тома
awesome: / bar
. Удалить анонимные тома
- rm
. Например,
эта команда создает анонимный том / foo
. Когда контейнер удален,
Docker Engine удаляет том / foo
, но не удивительный том
.
$ docker run --rm -v / foo -v awesome: / bar busybox top
Удалить все тома
Следующие шаги
хранение, постоянство, постоянство данных, тома
, ContainerInfo.volumes
),
должны быть указаны следующие поля: container_path
: Путь в файловой системе контейнера, в которой
объем будет установлен. Если путь является относительным путем, это
относительно песочницы контейнера.
: если том доступен только для чтения или для чтения и записи.
: Опишите источник тома.Узнать больше
подробности в следующем разделе. Типы источников томов
HOST_PATH Источник тома
HOST_PATH
, который монтируется / var / lib / mysql
в файловой системе хоста в том же месте в
контейнер.
{
"container_path": "/ var / lib / mysql",
"mode": "RW",
"источник": {
"type": "HOST_PATH",
"host_path": {
"путь": "/ var / lib / mysql"
}
}
}
HOST_PATH
тома обрабатываются изолятором volume / host_path
. к
включите этот изолятор, добавьте том / host_path
к - изоляция
флаг при запуске агента. Этот изолятор зависит от файловая система / Linux
Изолятор. HOST_PATH
объем также. SANDBOX_PATH Источник громкости
SANDBOX_PATH
: СЕБЯ
и РОДИТЕЛЬ
. SANDBOX_PATH
тома обрабатываются томом / sandbox_path
Изолятор. Чтобы включить этот изолятор, добавьте volume / sandbox_path
в
флаг --isolation
при запуске агента. SELF
тип SANDBOX_PATH
тома в настоящее время.
SELF
Тип SANDBOX_PATH
из
собственная песочница контейнера, которая монтирует подкаталог tmp
в
песочница до / tmp
в корневой файловой системе контейнера. Это будет
полезно ограничить использование / tmp
в контейнере (если дисковый изолятор
используется и - 9en04 --enforce_container_disk_quota включен).
{
"container_path": "/ tmp",
"mode": "RW",
"источник": {
"type": "SANDBOX_PATH",
"sandbox_path": {
"type": "SELF",
"путь": "ТМП"
}
}
}
container_path
должен быть абсолютным путем в этом случае. Если container_path
является относительным, это означает, что это объем от
подкаталог в изолированной программной среде контейнера в другой подкаталог в
контейнер песочница. В этом случае пользователь может просто создать символическую ссылку,
вместо того, чтобы использовать объем. РОДИТЕЛЬ Тип
SANDBOX_PATH
из песочницы
родительского контейнера, который монтирует подкаталог shared_volume
в
песочница родительского контейнера в подкаталог объемом
в
песочница контейнера.
{
"container_path": "volume",
"mode": "RW",
"источник": {
"type": "SANDBOX_PATH",
"sandbox_path": {
"тип": "РОДИТЕЛЬ",
"путь": "общий_объем"
}
}
}
DOCKER_VOLUME Источник громкости
СЕКРЕТ Источник тома
Требования
Файловая система Docker
Как том может помочь
Основы докерских томов
Использование команды Docker для создания тома
Создать и назвать том
тома sudo docker create --name [имя тома]
тома sudo docker create - имя-объем данных
Запустить контейнер с объемом
-v [имя тома]: [каталог контейнера]
sudo docker run -it --name my-volume-test -v data-volume: / data centos / bin / bash
Список томов
Проверьте объем
проверка тома sudo docker [имя тома]
тома sudo docker проверяет объем данных
Удалить том
том sudo docker rm [имя тома]
остановка доко sudo [имя контейнера или ID]
sudo docker rm [имя контейнера или ID]
sudo docker stop my-volume-test
sudo docker rm my-volume-test
sudo docker volume rm объем данных
Создайте том Docker и укажите каталог хоста
-v [каталог хоста]: [каталог контейнера]
sudo docker run -it -v / webfiles: / var / www / html centos / bin / bash
sudo echo "Hello World" >> / hostvolume / host-hello.TXT
sudo docker run -it --name my-directory-test -v / hostvolume: / containervolume centos / bin / bash
эхо "Привет из контейнера". >> /containervolume/container-hello.txt
Создание тома Docker с использованием Dockerfile
# Исходное изображение для начала
ОТ сентос
# Создать том
ОБЪЕМ / dockerfilevolume
sudo docker build -t dockerfile-volumetest.
sudo docker run --name my-dockerfile-test -it dockerfile-volumetest / bin / bash
echo "Hello World" >> / dockerfilevolume / dockerfile-container-hello.TXT
sudo docker проверяет my-dockerfile-test
sudo ls / var / lib / docker / volume / 30275034a424251a771c91b65ba44261a27f91e3f6af31097b5226b1f46bfe20 / _data / test
Совместное использование объемов между контейнерами
Совместное использование тома на хосте
sudo echo "Привет от хозяина.">> /webdata/host-hello.txt
sudo docker run -it --name sql-database -v / webdata: / data postgres / bin / bash
echo "Привет из контейнера sql-database." >> /data/sql-hello.txt
sudo docker run -it --name webapp -v / webdata: / var / www / html php: 5.6-apache / bin / bash
echo "Привет из контейнера веб-приложения". >> /var/www/html/webapp-hello.txt
Использование контейнера в качестве общего объема данных
--volumes-from [имя или идентификатор контейнера данных]
sudo docker run -it -v / shared-data - имя хранилища данных centos / bin / bash
echo "Привет из контейнера для хранения данных".">> /shared-data/data-storage-hello.txt
sudo docker run -it - имя приложения --volumes-из хранилища данных python / bin / bash
echo "Привет из контейнера приложения". >> /shared-data/app-hello.txt
sudo docker run -it --name web --volumes- из хранилища данных httpd / bin / bash
Монтирование тома только для чтения
docker run -v / directory: / path: ro
тома sudo docker create - имя с ограниченным доступом
sudo docker run -it - имя разрешено для записи -v ограниченный доступ: / data centos / bin / bash
echo "Привет из контейнера, которому разрешено писать.">> /data/hello.txt
sudo docker run -it - имя не разрешено для записи -v ограниченный доступ: / data: ro centos / bin / bash
echo "Привет из контейнера, которому запрещено писать.">> /data/no-access.txt
, bash: /data/no-access.txt: файловая система только для чтения
В этой статье
Крепление секретного тома - Azure CLI
--secrets
и --secrets-mount-path
в команду az container create.В этом примере монтируется том секретного тома , состоящий из двух файлов, содержащих секреты «mysecret1» и «mysecret2», по адресу / mnt / secrets
:
az контейнер создать \
--resource-group myResourceGroup \
--name secret-volume-demo \
--image mcr.microsoft.com/azuredocs/aci-helloworld \
--secrets mysecret1 = "Мой первый секретный FOO" mysecret2 = "Мой второй секретный BAR" \
--secrets-mount-path / mnt / secrets
az контейнер exec \
--resource-group myResourceGroup \
--name secret-volume-demo --exec-команда "/ bin / sh"
/ usr / src / app # ls / mnt / secrets
mysecret1
mysecret2
/ usr / src / app # cat / mnt / secrets / mysecret1
Мой первый секрет FOO
/ usr / src / app # cat / mnt / secrets / mysecret2
Мой второй секретный БАР
/ usr / src / app # выход
До свидания.
Крепление секретного тома - YAML
/ mnt / secrets
.В секретном томе есть два файла с секретами: «mysecret1» и «mysecret2».
apiVersion: '2019-12-01'
Расположение: Eastus
имя: секрет-том-демо
свойства:
контейнеры:
- название: aci-tutorial-app
свойства:
переменные среды: []
изображение: mcr.microsoft.com/azuredocs/aci-helloworld:latest
порты: []
Ресурсы:
Запросы:
процессор: 1,0
memoryInGB: 1,5
volumeMounts:
- mountPath: / mnt / secrets
имя: secretvolume1
osType: Linux
restartPolicy: всегда
объемы:
- имя: secretvolume1
секрет:
mysecret1: TXkgZmlyc3Qgc2VjcmV0IEZPTwo =
mysecret2: TXkgc2Vjb25kIHNlY3JldCBCQVIK
теги: {}
Тип: Microsoft.ContainerInstance / containerGroups
deploy-aci.yaml
, а затем выполните команду az container create с параметром --file
:
# Развертывание с использованием шаблона YAML
Я создаю контейнер \
--resource-group myResourceGroup \
--file deploy-aci.yaml
Монтирование секретного тома - Resource Manager
томов
в группе контейнеров Свойства
раздела шаблона. При развертывании с шаблоном Resource Manager секретные значения должны быть в кодировке Base64 в шаблоне. Однако секретные значения отображаются в виде открытого текста в файлах в контейнере. volumeMounts
в разделе свойств
определения контейнера. / mnt / secrets
. Секретный том имеет два секрета: «mysecret1» и «mysecret2».
{
"$ schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"переменные": {
"container1name": "aci-tutorial-app",
"container1image": "microsoft / aci-helloworld: последние"
},
"Ресурсы": [
{
"name": "secret-volume-demo",
"type": "Microsoft.ContainerInstance / containerGroups»,
"apiVersion": "2018-10-01",
"location": "[resourceGroup (). location]",
"свойства": {
"контейнеры": [
{
"name": "[variable ('container1name')]",
"свойства": {
"image": "[variable ('container1image')]",
"Ресурсы": {
"Запросы": {
"процессор": 1,
«memoryInGb»: 1,5
}
},
"порты": [
{
«порт»: 80
}
],
"volumeMounts": [
{
"name": "secretvolume1",
"mountPath": "/ mnt / secrets"
}
]
}
}
],
"osType": "Linux",
"айпи адрес": {
"type": "Public",
"порты": [
{
"протокол": "tcp",
"порт": "80"
}
]
},
"тома": [
{
"name": "secretvolume1",
"секрет": {
"mysecret1": "TXkgZmlyc3Qgc2VjcmV0IEZPTwo =",
"mysecret2": "TXkgc2Vjb25kIHNlY3JldCBCQVIK"
}
}
]
}
}
]
}
deploy-aci.json
, затем выполните команду создания группы развертывания az с параметром --template-file
:
# Развертывание с помощью шаблона Resource Manager
группа развертывания az создать \
--resource-group myResourceGroup \
--template-file deploy-aci.json
Следующие шаги
томов
Безопасные переменные среды