Docker: создать постоянный том в определенном каталоге

Нет, в общем случае нельзя отменить команду терминала.

В вашем конкретном случае вы можете легко удалить все файлы, кроме этих:

shopt -s extglob
rm !(srl*)
13
22.04.2018, 17:52
3 ответа

Я нашел решение:

Мне пришлось установить локальный -постоянный плагин.

Мне пришлось подключить создаваемый том к точке подключения следующим образом:

 sudo docker volume create -d local-persist -o mountpoint=/mnt/ --name=extra-addons

Проверить, получил ли я то, что ожидал:

sudo docker volume inspect extra-addons

Результат:

[
    {
        "CreatedAt": "0001-01-01T00:00:00Z",
        "Driver": "local-persist",
        "Labels": {},
        "Mountpoint": "/mnt/",
        "Name": "extra-addons",
        "Options": {
            "mountpoint": "/mnt/"
        },
        "Scope": "local"
    }
]

Это то, что я ищу.

18
27.01.2020, 19:53

Если вы не хотите устанавливать какие-либо плагины в свой докер, я бы рекомендовал создать символическую ссылку для вашего тома:

$ docker volume create <myVolume>
$ docker volume inspect <myVolume> 
[
    {
        "CreatedAt": "0001-01-01T00:00:00Z",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/<myVolume>/_data",
        "Name": "<myVolume>",
        "Options": {},
        "Scope": "local"
    }
]
$ mkdir /mnt/<myVolume>
# if you already have data in your volume, you should copy it to `/mnt/<myVolume>` now
$ sudo rm -rf /var/lib/docker/volumes/<myVolume>/_data
$ sudo ln -s /mnt/<myVolume> /var/lib/docker/volumes/<myVolume>/_data

Теперь не стесняйтесь использовать свой том как обычно (со всеми вашими данными в /mnt, как вы хотели)

12
27.01.2020, 19:53

Я не думаю, что использование драйвера local-persist— правильный путь. Он давно не обновлялся. Вы можете смонтировать локальный каталог (хоста )в контейнер докеров, используя монтирование докеров.

Выполнение следующего кода создает новый контейнер с подключенным каталогом, сопоставленным с моим рабочим столом.

mkdir extra-addons
docker run -it -v /Users/me/Desktop/extra-addons:/mnt/extra-addons busybox /bin/sh
ls

Теперь вы можете увидеть папку mntв корне вашего контейнера.

bin dev etc home mnt proc root sys tmp usr var

Создание нового файла в контейнере

touch /mnt/extra-addons/test.txt

Создает файл test.txt на моем хост-компьютере. По указанному пути. Теперь это общая папка с двусторонним чтением и записью. Несколько контейнеров могут монтировать одну и ту же папку. И это сохранится, как только вы закроете свой контейнер/ы.

enter image description here

6
27.01.2020, 19:53

Теги

Похожие вопросы