Vitaliy
для mysql в доке https://hub.docker.com/_/mysql
Спс. У меня Постргрис. Читал док от отбраза, не получилось сохранить базу на хост.
Evgeniy
Спс. У меня Постргрис. Читал док от отбраза, не получилось сохранить базу на хост.
docker run --name some-postgres -v /my/own/datadir:/var/lib/postgresql/data -e POSTGRES_PASSWORD=mysecretpas
Vitaliy
docker run --name some-postgres -v /my/own/datadir:/var/lib/postgresql/data -e POSTGRES_PASSWORD=mysecretpas
Не пойму как мне это применить в докер композе... Если в композе прописываю volumes: - /my/own/datadir:/var/lib/postgresql/data Не работает. Создаётся пустая папка datadir по указанному пути и всё. Папка пустая, данными не наполняется.
Evgeniy
проверяй путь до места чтобы твой юзер мог туда писать
Evgeniy
или используй как ${PWD}
Vitaliy
Anonymous
Постгрес
Vitaliy
Постгрес
Да. Работает. Создаю таблицы + данные в них. Пересоздаю контейнер и данных естесственно нет. Если же создаю отдельный volume как том в докере, то все данные идут в этот volume, но его месторасположение мне не доступно.
Evgeniy
потому что база запущена под другим пользователем
Evgeniy
даже у меня на скрине для ls использовалось sudo
Evgeniy
чтобы посмотреть папку
Vitaliy
потому что база запущена под другим пользователем
Ещё раз.. ) Мне нужно чтобы база в докере работала с файлами на моём хосте. Т.е. папка с данными на физическом компе под Виндой. При запуске докер-композа прописанная папка создаётся, но файлы базы данных при её создании туда не копируются, они создаются внутри контейнера.
Dani
Всем привет Подскажите что лучше: traefic или nginx если контейнеров всего 2 штуки без репликаций?
Andrey
То с чем есть опыт работы.
Anonymous
Ещё раз.. ) Мне нужно чтобы база в докере работала с файлами на моём хосте. Т.е. папка с данными на физическом компе под Виндой. При запуске докер-композа прописанная папка создаётся, но файлы базы данных при её создании туда не копируются, они создаются внутри контейнера.
У тебя четыре ситуации может быть: - создаётся внутри контейнера, без тома (это вряд ли) - создаётся в анонимном томе - создаётся в именованном томе без моунта на конкретную папку на хосте - создаётся в монтированном томе Разберись какая у тебя чтоб копать дальше.)
Vitaliy
WSL2 или Hyper-V классика?
Хз. Как узнать?
Vitaliy
У тебя четыре ситуации может быть: - создаётся внутри контейнера, без тома (это вряд ли) - создаётся в анонимном томе - создаётся в именованном томе без моунта на конкретную папку на хосте - создаётся в монтированном томе Разберись какая у тебя чтоб копать дальше.)
Вот так работает идеально, за исключением того что нет прямого доступа к монтированной папке на компе. В закоменченных строках - это именно то, что мне нужно. Вроде как плагин к докеру local-persist позволяет так сделать. Сегодня попробую.
Div
А wsl вообще на с: ходит через mount. Может в этом и есть ваша проблема?
Anonymous
А вообще долино хватить volume type local и driver opts bind
Vitaliy
C:/ меня очень смущает
Если просто делать volumes: # - c:\data:/var/lib/postgresql/data/dpt_data то так работает... Создаётся папка на диске, но она пустая... Данные туда не ложатся...
Anonymous
Вроде какой-то другой синтаксис для дисков виндовых но могу ошибаться
Anonymous
Там где закомменчено попробуй просто относительный путь с точки начиная
Div
Вы баш откройте и сходите на виндовый корень. Так и найдётся верный путь.
Vitaliy
Вы баш откройте и сходите на виндовый корень. Так и найдётся верный путь.
Путь здесь не при чём. Он работает. Я пробовал ложить туда начальный конфиг для БД и контейнер по этому пути его считывал и загружал. Вопрос в том, что в указанную папку не ложатся файлы БД.
Anonymous
Если в доку посмотреть то путь в конте должен быть /var/lib/postgresql/data
Anonymous
Откуда dptdata
Vitaliy
Значит курите Dockerfile вашего образа
Нету докерфайла. ) Всё в докер композе )
Div
Откуда композ образы берет?
Anonymous
С хаба
Div
Вот на хабе и смотрите.
Artyom
Хз. Как узнать?
В настройках Docker Desktop
Vitaliy
Оно?
Artyom
Оно?
Да. Обычный Hyper-V. Должны работать маунты.
Vitaliy
Да. Обычный Hyper-V. Должны работать маунты.
Ок. Подозреваю, что на сервере под линуксом они заработают. Вот с виндой печалька. Работу на сервере только завтра смогу проверить.
Artyom
А потом волумы с виндовыми путями заработают
Anonymous
Что-то ощущения, что вопрос недели - что такое тома и как работать с ними под виндой
Vitaly
докер под виндовс, боль и унижение
Джифорсович
а потом они говорят что весло это хорошо
Vitaly
как-то с docker-windows контейнерами пришлось дело иметь, вот там настоящая боль…
Vitaliy
докер под виндовс, боль и унижение
У меня сейчас это необходимость )
Джифорсович
в чем она заключается?
Vitaliy
в чем она заключается?
Разработка на винде, прод на сервере под линуксом. И нужно работать с базой и там и там. Под виндой разрабатывать приложение работающее с базой + работать и менять саму базу. Потом всё это хозяйство запускать на проде.
Джифорсович
разработка на винде, звучит как название комедии
Джифорсович
дотнет разработчик чтоли?
Vitaly
аля hello world
Vitaliy
Artyom
Dart + Flutter
Это мобайл же? 🤔 Или оно ещё и на бэке используется?
Джифорсович
Джифорсович
зачем докер под винду вообще существует
Artyom
холишит, серьезно??????
Да. Windows Containers же
Artyom
А Windows Containers это совсем жесть)
Джифорсович
весло принципиально не юзаю
Джифорсович
если надо возможности линухи и винды в одно время, то лучше линь как хост-систему юзать, и винду в виртуалке с пробросом pci
Vitaliy
Было время когда работал на маке. Там у меня был Prallels Desctop. В нём у меня и винда и линукс были. Мега удобно работать. Всё под рукой - любой софт под любой системой )
Anonymous
разработка на винде, звучит как название комедии
Скорее трагеди, я и года не выдержал тройку лет назад
Anonymous
Как раз wsl вышел позволил год продержаться
Vitaly
Но конечно была мечта что как в докерфайл все описал и все работает, но мечты рушатся о реальность, рожденный ползать не летает, это я к тому что винда для контейниризации не приспособлена.
Джифорсович
исторически сложилось
Vitaly
Всякие банки и гос структуры очень любят винды