Характеристики на томовете на Docker
- Споделяне на данни за обем и съхранение между множество контейнери и файлови системи на хоста.
- Отделяне на контейнери от съхранение.
- Не изтрива съдържащите се данни при изтриване на контейнера.
- Архивирайте, възстановете и мигрирайте лесно данните.
В този урок ще обясним какво е томът на Docker и как да го използвам, както и как да монтирате том в Docker.
Изисквания
- Система с Linux с инсталиран Docker.
- Основната парола е конфигурирана.
Основен синтаксис на том на Docker
Можете да използвате командата “docker volume”, за да видите всички налични опции с обем:
обем на докераСлед въвеждане на горната команда трябва да видите следния изход:
Употреба: обем на докера COMMANDУправление на обеми
Команди:
create Създаване на том
инспектиране Показване на подробна информация за един или повече тома
ls Списък на томовете
prune Премахнете всички неизползвани локални томове
rm Премахване на един или повече тома
Изпълнете 'docker volume COMMAND --help' за повече информация за команда.
Създайте том
За да създадете том за данни, първо ще трябва да създадете обем от данни на хоста на Docker и да прикачите тома към контейнера.
Можете да създадете том на Docker, като използвате командата “docker volume create.”Например използвайте следната команда, за да създадете нов том на Docker с име myvolume:
обем на докер създаване наТрябва да видите следния изход:
myvolumeМожете да изброите съществуващия си обем, като използвате следната команда:
обем на докера lsТрябва да видите следния изход:
ИМЕ НА ОБЕМА НА ШОФЬОРАлокално c2d2815ba1a75fbfe5d0a4b69d94269e55ccbc138c7d2e19504e501f1dbe634f
местен миволом
Ако искате да видите повече информация за обема, изпълнете следната команда:
докер инспектира myvolumeСлед изпълнението на горната команда трябва да получите следния изход:
["CreatedAt": "2020-09-12T04: 51: 31Z",
"Driver": "local",
„Етикети“: ,
"Mountpoint": "/ var / lib / docker / volumes / myvolume / _data",
"Name": "myvolume",
"Настроики": ,
"Обхват": "местно"
]
Монтирайте том
В този момент имате един том с име myvolume. В този пример ще създадете контейнер и ще монтирате myvolume към контейнера.
Можете да използвате опцията -mount, за да монтирате силата на звука. Основният синтаксис за монтиране на тома към контейнера е показан по-долу:
docker run --mount source = volume-name, destination = path-inside-container docker-imagesНапример, за да създадете контейнер на Ubuntu и да монтирате myvolume към контейнера, изпълнете следната команда:
docker run -it --name = volumecontainer --mount source = myvolume, destination = / data ubuntuТази команда ще изтегли изображението на Ubuntu от Docker Hub, ще стартира контейнера в интерактивен режим с името volumecontainer и ще монтира контейнера myvolume към / data вътре в директорията / data:
Не може да се намери локално изображение „ubuntu: най-новото“последно: Изтегляне от библиотека / ubuntu
54ee1f796a1e: Издърпване завършено
f7bfea53ad12: Издърпване завършено
46d371e02073: Издърпване завършено
b66c17bbf772: Издърпване завършено
Дайджест: sha256: 31dfb10d52ce76c5ca0aa19d10b3e6424b830729e32a89a7c6eee2cda2be67a5
Състояние: Изтеглено по-ново изображение за ubuntu: най-новото
корен @ 06a477c4e444: / #
Можете да проверите монтирания том със следната команда:
[имейл защитен]: / # lsТрябва да видите директорията с данни в следния изход:
bin данни за зареждане dev и т.н. начало lib lib32 lib64 libx32 медия mntopt proc root root sbin srv sys tmp usr var
Сега ще създадем примерен файл с име на файл.txt вътре / директория с данни със следната команда:
echo "Това е тестов файл!"> / данни / файл.текстИзлезте от контейнера със следната команда:
изходСтартирайте същия контейнер отново със следната команда:
докер контейнер старт обем контейнерСлед това прикрепете работещия контейнер със следната команда:
docker exec -it volumecontainer / bin / bashПроверете дали вашият файл.txt е постоянен със следното:
котка данни / файл.текстСлед като въведете горната команда, трябва да получите следния изход:
Това е тестов файл!
Споделяйте данни между контейнери
Можете също да споделяте данни между множество контейнери, използвайки том на Docker.
Както знаете, създадохме том с име myvolume нов контейнер с име volumecontainer, използвайки този том. Също така създадохме файл с име на файл.txt вътре в силата на звука.
Сега ще създадем друг контейнер на име volumecontainer1 със същия том на myvolume, като използваме следната команда:
docker run -it --name = volumecontainer1 --mount source = myvolume, destination = / data ubuntuИзпълнете командата ls, както е показано по-долу:
lsТрябва да видите директорията с данни в следния изход:
bin данни за зареждане dev и т.н. начало lib lib32 lib64 libx32медия mnt opt proc root стартиране sbin srv sys tmp usr var
Изпълнете следната команда за проверка на файла.текст:
котка / данни / файл.текстТрябва да видите същото съдържание, което сте създали в предишния контейнер:
Това е тестов файл!
Монтиране на директория като том
Можете да използвате директорията, разположена във вашата хост система Docker като том и да я монтирате към контейнера. Можете също да използвате опцията -v, за да постигнете същото, както е показано по-долу:
docker стартиране -v "име_на_директория": име на том docker_imageСъздайте директория с име / данни вътре в хоста на Docker със следната команда:
mkdir / ДанниСлед това създайте няколко файла в директорията / Data:
cd / даннидокоснете файл1.txt файл2.txt файл3.текст
Създайте нов контейнер, като използвате директорията / Data като том със следната команда:
docker run -it --name = data1 -v / Data: / Data ubuntuТази команда ще създаде нов контейнер и ще монтира тома с името / данните.
Изпълнете следната команда, за да проверите съдържанието на директорията / Data:
ls -l / данни /Трябва да видите всички файлове, които сме създали преди това в хост системата, както е показано по-долу:
общо 0-rw-r - r-- 1 корен корен 0 12 септември 05:41 файл1.текст
-rw-r - r-- 1 корен корен 0 12 септември 05:41 файл2.текст
-rw-r - r-- 1 корен корен 0 12 септември 05:41 файл3.текст
Премахнете силата на звука на Docker
Можете лесно да изтриете или премахнете тома, като използвате следния синтаксис:
том на докера rm том-имеНапример, за да премахнете тома с име myvolume, изпълнете следната команда:
обем на докера rm myvolumeТрябва да получите следната грешка:
Отговор на грешка от демона: премахнете myvolume:обем се използва - [06a477c4e4444c0f815a1ec4a151a8
339bf53d5060c492af867bcaebe531dd5d, fd8d05a027a755f
1df004ccf62568b5d66989c2112115c8a652ddbc8eb960948]
Това е така, защото вашият обем се използва от контейнера. Така че, ще трябва да спрете и извадите контейнера, преди да премахнете обема.
За да спрете и премахнете контейнера, изпълнете следната команда:
докер контейнер спирка обем контейнер обем контейнер1контейнер за докер rm volumecontainer volumecontainer1
Сега можете лесно да премахнете силата на звука.
Заключение
В горното ръководство научихте какво е обемът на Docker, как да го създадете и как да го монтирате вътре в контейнера. Също така научихте как да споделяте данни между множество контейнери, използвайки тома.