Поиск…


замечания

Люди, не знакомые с Docker, часто не понимают, что файловые системы Docker по умолчанию являются временными. Если вы запустите изображение Docker, вы получите контейнер, который на поверхности ведет себя так же, как виртуальная машина. Вы можете создавать, изменять и удалять файлы. Однако, в отличие от виртуальной машины, если вы остановите контейнер и запустите его снова, все ваши изменения будут потеряны - все файлы, которые вы ранее удалили, теперь будут возвращены, а любые новые файлы или изменения, которые вы сделали, не будут присутствовать.

Объемы в контейнерах докеров допускают постоянные данные и обмен данными с хост-машиной внутри контейнера.

A) Запустите контейнер с объемом

[root@localhost ~]# docker run -it -v  /data  --name=vol3   8251da35e7a7 /bin/bash
root@d87bf9607836:/# cd /data/
root@d87bf9607836:/data# touch abc{1..10}
root@d87bf9607836:/data# ls

abc1 abc10 abc2 abc3 abc4 abc5 abc6 abc7 abc8 abc9

B) Теперь нажмите [cont + P + Q], чтобы выйти из контейнера, не завершая проверку контейнера для контейнера, который работает

[root@localhost ~]# docker ps

CONTAINER ID IMAGE COMMAND СОЗДАН СОСТОЯНИЯ ПОРТЫ НАЗВАНИЯ d87bf9607836 8251da35e7a7 "/ bin / bash" Около минуты назад До 31 секунды vol3 [root @ localhost ~] #

C) Запустите «docker inspect», чтобы узнать больше об объеме

[root@localhost ~]# docker inspect  d87bf9607836

«Mounts»: [{«Name»: «cdf78fbf79a7c9363948e133abe4c572734cd788c95d36edea0448094ec9121c», «Источник»: «/ var / lib / docker / volume / cdf78fbf79a7c9363948e133abe4c572734cd788c95d36edea0448094ec9121c / _data», «Destination»: «/ data», «Driver»: «local», «Режим»: «», «RW»: true

D) Вы можете присоединить текущий контейнерный контейнер к другим контейнерам

[root@localhost ~]# docker run -it  --volumes-from  vol3  8251da35e7a7  /bin/bash

root@ef2f5cc545be:/# ls

bin boot data dev и т. д. home lib lib64 media mnt opt ​​proc root run sbin srv sys tmp usr var

root@ef2f5cc545be:/# ls / data abc1 abc10 abc2 abc3 abc4 abc5 abc6 abc7 abc8 abc9

E) Вы также можете установить базовый каталог внутри контейнера

[root@localhost ~]# docker run -it  -v  /etc:/etc1 8251da35e7a7 /bin/bash

Здесь: / etc - каталог хост-компьютера, а / etc1 - цель внутри контейнера



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow