Это позволит вам запускать произвольные команды внутри существующего контейнера.
Конечно, все, что команда вы работаете, должны существовать в контейнере файловой системы.
Примечание - Это будет копировать каталог для сборки в контейнер в .../Nginx/html/директории для копирования только файлы присутствуют в папке:
Примечание. Это скопирует содержимое каталога сборки в контейнере …./nginx/html/ directory
Объемы хранятся в части файловой системы хоста, которой управляет Docker (/ var/lib/docker/volume/on Linux). Процессы Non-Docker не должны изменять эту часть файловой системы. Объемы - лучший способ сохранить данные в Docker.
При создании тома он сохраняется в каталоге на хосте Docker. Когда вы монтируете том в контейнер, этот каталог монтируется в контейнер. Это похоже на способ привязки монтирования, за исключением того, что тома управляются Docker и изолированы от основных функций хост-машины.
Данная громкость может быть установлена одновременно в несколько контейнеров. Если ни один из запущенных контейнеров не использует том, этот том по-прежнему доступен для Docker и не удаляется автоматически. Вы можете удалить неиспользуемые тома с помощью чернослива докеры.
Когда вы монтируете том, его можно назвать или анонимным. Анонимным томам не дается явное имя, когда они сначала монтируются в контейнер, поэтому Docker дает им случайное имя, которое гарантировано будет уникальным в пределах данного узла Docker. Помимо имени, имена и анонимные тома ведут себя одинаково.
Объемы также поддерживают использование драйверов томов, которые позволяют хранить ваши данные на удаленных хостах или облачных провайдерах, среди других возможностей.
Удлинители крепления могут храниться в любом месте на хост-системе. Они могут даже быть важными системными файлами или каталогами. Процессы без докеров на хосте Docker или контейнере Docker могут изменять их в любое время. Доступен с первых дней Докера. Удерживающие устройства имеют ограниченную функциональность по сравнению с томами. Когда вы используете привязку монтирования, файл или каталог на главной машине монтируется в контейнер. На файл или каталог ссылается его полный путь на главной машине. Файл или каталог уже не должен существовать на хосте Docker. Он создается по требованию, если он еще не существует. Bind mounts очень эффективны, но они полагаются на файловую систему хост-машины, имеющую определенную структуру каталогов. Если вы разрабатываете новые приложения Docker, подумайте об использовании именованных томов. Вы не можете использовать команды Docker CLI для непосредственного управления привязками привязок.
Одним из побочных эффектов использования привязок, к лучшему или, что еще хуже, является то, что вы можете изменить файловую систему хоста через процессы, запущенные в контейнере, включая создание, изменение или удаление важных системных файлов или каталогов. Это мощная способность, которая может иметь последствия для безопасности, включая воздействие на процессы не-Docker на хост-системе.
tmpfs mounts хранятся только в памяти хост-системы и никогда не записываются в файловую систему хост-системы.
Крепление tmpfs не сохраняется на диске либо на хосте Docker, либо внутри контейнера. Он может использоваться контейнером в течение всего срока службы контейнера, чтобы хранить непостоянное состояние или конфиденциальную информацию. Например, внутренние службы роуминга используют монтирования tmpfs для монтирования секретов в контейнеры службы.
Если вам нужно указать параметры драйвера громкости, вы должны использовать --mount. -v или --volume: Состоит из трех полей, разделенных символами двоеточия (:). Поля должны быть в правильном порядке, и значение каждого поля не сразу становится очевидным. o В случае именованных томов первое поле является именем тома и уникально на данном хост-компьютере. Для анонимных томов первое поле опущено. o Второе поле - это путь, в котором файл или каталог будет установлен в контейнере. o Третье поле является необязательным и представляет собой список опций, разделенных запятыми, например ro. Эти параметры обсуждаются ниже. • --mount: Состоит из нескольких пар ключ-значение, разделенных запятыми и каждый из которых состоит из кортежа =. Синтаксис -mount является более подробным, чем -v или -volume, но порядок ключей незначителен, а значение флага легче понять. o Тип монтирования, который может быть связан, томом или tmpfs. В этом разделе обсуждаются тома, поэтому тип всегда будет томом. o Источник крепления. Для названных томов это имя тома. Для анонимных томов это поле опущено. Может указываться как источник или src. o Назначение принимает в качестве значения путь, в котором файл или каталог будет установлен в контейнере. Может указываться как цель, dst или цель. o Опция readonly, если она есть, заставляет монтировку привязки монтировать в контейнер как доступную только для чтения. o Опция volume-opt, которая может быть указана более одного раза, принимает пару ключ-значение, состоящую из имени опции и ее значения.
попытка добавить к вашему 'Докер перспективе command' привязка монтирования из' -v /var/run/docker.sock:/вар/запустить/docker.sock' – user2915097
я имею в виду, не устанавливая докер внутри и без запуска внутри, потому что это эквивалент предоставления привилегий sudo внутреннему контейнеру внешнему хосту. –
Внутри контейнера действительно нет никакого способа определить опоры тонера Docker (без доступа к Docker api). – larsks