Докер

Обеми на Docker, монтиране и др

Обеми на Docker, монтиране и др
В Docker, винаги когато създавате контейнер, има определено място, където ще се съхраняват данните за контейнера. Ако не предоставите място за съхраняване на тези данни, те ще се съхраняват в контейнера. Когато изтриете контейнера, данните също ще бъдат загубени. Въпреки това, когато работите по корпоративни проекти, за да предотвратите загуба на данни, можете да премахнете контейнер, но да запазите данните. Можете да използвате тези данни, за да създадете повече контейнери и да споделите данните между тях. Тук се появява обемът на Docker.

Характеристики на томовете на Docker

В този урок ще обясним какво е томът на Docker и как да го използвам, както и как да монтирате том в 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 медия mnt
opt 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, как да го създадете и как да го монтирате вътре в контейнера. Също така научихте как да споделяте данни между множество контейнери, използвайки тома.

Най-добрите приложения за картографиране на геймпад за Linux
Ако искате да играете игри на Linux с геймпад вместо типична система за въвеждане на клавиатура и мишка, има някои полезни приложения за вас. Много ко...
Полезни инструменти за геймърите на Linux
Ако искате да играете игри на Linux, има вероятност да сте използвали приложения и помощни програми като Wine, Lutris и OBS Studio, за да подобрите иг...
HD Remastered Games за Linux, които никога преди не са имали издание на Linux
Много разработчици и издатели на игри излизат с HD ремастер на стари игри, за да удължат живота на франчайза, моля феновете, които искат съвместимост ...