Бабушка, смотри, я сделал двач! Войти !bnw Сегодня Клубы
Я вот чёт не секу в доках найти не могу. Хочется сделать контейнер, с внешними томами данных. При этом в контейнере уже по путям монтирования этих томов данные есть. И при запуске контейнера, если этих томов нет, чтобы они создавались и в них копировались данные по умолчанию. Ну типа я делаю контейнер, в котором создаётся пользователь, для которого уже до хрена настроено. Он потом настройки свои может менять, но они с самого начала ЕСТЬ. Объявляю в `Dockerfile`, как тут написано: https://docs.docker.com/engine/reference/builder/#/volume Пытаюсь запускать с `-v`. Каталоги создаются, в них пусто (и из контейнера, и снаружи). Без `-v` -- из контейнера данные видны, снаружи ничего не меняется. ЧЯДНТ? Как?
#EJBMZ9 / @dluciv / 2976 дней назад

ни как. тома монтируются снаружи внутрь. соответственно, если снаружи нихуя, то и внутри тоже будет нихуя
#EJBMZ9/W32 / @anonymous / 2976 дней назад
брось ты это говно
#EJBMZ9/FQL / @figli / 2976 дней назад
@anonymous Да почему ж никак? Они же unionfs обещают. Ну правда, это ж очень типичный юскейс.
#EJBMZ9/YGW / @dluciv --> #EJBMZ9/W32 / 2976 дней назад
@figli Наиграюсь, тогда брошу. Пока не наигрался.
#EJBMZ9/9AY / @dluciv --> #EJBMZ9/FQL / 2976 дней назад
А вот мне тут всё разжевали https://github.com/docker/docker/issues/10947 В общем да, оверлеить можно только другой контейнер, а если охота ФС, то сперва `docker cp`. Отстой конечно, но наверное так надёжнее.
#EJBMZ9/XU2 / @dluciv / 2976 дней назад
переименовываешь директорию на сборке, создаешь пустую. на старте контейнера проверяешь наличие какого-нибудь файла в томе. если нет - инициализируешь всё из переименованной
#EJBMZ9/MA8 / @stiletto / 2976 дней назад
@stiletto Спасибо. Я так тоже думал сделать. Но как-то неправильно это... Жалко контейнер засирать. Как я понял, оверлеить и мёржить Докер может только контейнеры, а кусок файловой системы -- исключительно тупо монтировать. Жаль, но объяснимо -- про хостовую ФС он очень мало знает. В итоге сделал примерно так: CONTAINER=$(docker create $IMAGE) mkdir -p $DIR/home $DIR/usr/local docker cp "$CONTAINER":/home/fido $DIR/home docker cp "$CONTAINER":/usr/local/etc $DIR/usr/local docker rm -v $CONTAINER Просто выложу скрипт инициализации дефолтных настроек вместе с контейнером, и всё.
#EJBMZ9/G5W / @dluciv --> #EJBMZ9/MA8 / 2975 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.