Docker Volumes: различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
(не показано 10 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
+ | Щоб подивитись які є volume, є команда "docker volume ls". | ||
+ | |||
+ | Шоб створити якійсь volume "docker volume create some_name_volume". | ||
+ | |||
+ | Щоб видалити volume "docker volume rm some_name_volume". | ||
+ | |||
==Host volume== | ==Host volume== | ||
− | Host volumes створюється за допомогою параметра "-v". За ним вказуємо що монтується на локальному хості потім ":" де буде монтуватись в контейнері. | + | Host volumes створюється за допомогою параметра "-v". За ним вказуємо що монтується на локальному хості потім ":" де буде монтуватись в контейнері. Далі можна також через ":" вказати режим (ro або rw) |
− | docker run -v /opt/mysql/data:/var/lib/mysql mysql | + | docker run -v /opt/mysql/data:/var/lib/mysql:ro mysql |
+ | |||
+ | ro - це означає що volume буде примонтований в контейнері в read only режимі. | ||
Можна вказати де кілька точок монтування, ось так: | Можна вказати де кілька точок монтування, ось так: | ||
− | docker run -v /opt/mysql/data:/var/lib/mysql -v mysql | + | docker run -v /opt/mysql/data:/var/lib/mysql -v /opt/etc:/usr/local/etc mysql |
==Anonimous volume== | ==Anonimous volume== | ||
− | В Anonimous volume не вказується звідки буде монтування на хості. | + | В Anonimous volume не вказується звідки буде монтування на хості. Він завжди буде з /var/lib/docker/volumes/HASH/_data, де HASH - це якійсь хеш. |
+ | |||
Тобто команда виглядає так: | Тобто команда виглядає так: | ||
+ | |||
docker run -v /var/lib/mysql mysql | docker run -v /var/lib/mysql mysql | ||
==Named volume== | ==Named volume== | ||
+ | |||
+ | В Named volume перед ":" вказується ім'я volume, потім місце монтування в контейнері. | ||
+ | |||
+ | docker run -v my_mysql:/var/lib/mysql mysql | ||
+ | |||
+ | Розташування volume буде /var/lib/docker/volumes/gived_name/_data, де gived_name - це ім'я яке було надано йому. В цьому випадку буде my_mysql. |
Текущая версия на 13:21, 23 января 2024
Щоб подивитись які є volume, є команда "docker volume ls".
Шоб створити якійсь volume "docker volume create some_name_volume".
Щоб видалити volume "docker volume rm some_name_volume".
Host volume
Host volumes створюється за допомогою параметра "-v". За ним вказуємо що монтується на локальному хості потім ":" де буде монтуватись в контейнері. Далі можна також через ":" вказати режим (ro або rw)
docker run -v /opt/mysql/data:/var/lib/mysql:ro mysql
ro - це означає що volume буде примонтований в контейнері в read only режимі.
Можна вказати де кілька точок монтування, ось так:
docker run -v /opt/mysql/data:/var/lib/mysql -v /opt/etc:/usr/local/etc mysql
Anonimous volume
В Anonimous volume не вказується звідки буде монтування на хості. Він завжди буде з /var/lib/docker/volumes/HASH/_data, де HASH - це якійсь хеш.
Тобто команда виглядає так:
docker run -v /var/lib/mysql mysql
Named volume
В Named volume перед ":" вказується ім'я volume, потім місце монтування в контейнері.
docker run -v my_mysql:/var/lib/mysql mysql
Розташування volume буде /var/lib/docker/volumes/gived_name/_data, де gived_name - це ім'я яке було надано йому. В цьому випадку буде my_mysql.