@docker_ru

Страница 982 из 1375
inqfen
15.01.2019
21:39:36
Ну у меня ext4

George
15.01.2019
21:39:40
помимо ext4 на убунтах

короче, твой тезис не верен

inqfen
15.01.2019
21:39:46
Что внизу не важно, суть-то та же

Google
inqfen
15.01.2019
21:39:53
George
15.01.2019
21:39:59
и я не предлагал хранить БД в эфемерной ФС

(это только для дева... )

inqfen
15.01.2019
21:40:14
Ты в любом случае над фс наворачиваешь еще одну фс, поверх

И оно ну никак не может так же по скорости работать)

George
15.01.2019
21:41:29
я завис... думаю... нет. ты неправ

5% потеряем на системные вызовы, но вольюмы явно имеют приоритет, поэтому ядро может их мимо оверлейфс маршрутизировать в саму ФС хостовой машины на уровне сисколлов

inqfen @stef_kkk мне приятно с вами пообщаться, коллеги. ??? Но надо спать идти.

inqfen
15.01.2019
21:43:26
Надо написать скрипт, который будет быстро срать в базу

И просто сравнить

George
15.01.2019
21:46:35
в общем без пруфов, мы тут оба какой-то хрень занимаемся, уровня спора про ноуты с шериданом
вот именно. У нас сильно хуже в докере - не было. Факт. Перкона выложила свои тесты - то же факт. И хуже не было. Все, спать, сколько можно ???

Google
inqfen
15.01.2019
21:46:51
Споке

Stefan
15.01.2019
22:21:31
Споке
балуюсь пока на таком уровне и чет застрял на докеровских приколах. у меня вольюм вот есть, почему когда я вношу туда новую базу, то докер на изменение эти никак не реагирует? даже после рестарта version: '3' services: mysql: container_name: mysql_server image: mysql:5.7 environment: - MYSQL_ALLOW_EMPTY_PASSWORD=yes - MYSQL_DATABASE=first_db - MYSQL_USER=user1 - MYSQL_PASSWORD=111 volumes: - ./databases.sql:/docker-entrypoint-initdb.d/databases.sql ports: - 3306:3306

inqfen
15.01.2019
22:22:11
инит скрипт смотрит, что бд в нем уже есть и не создает новую

эта бд которая тут описана - дефолтная так сказать

вторую создаешь через SQL уже

Stefan
15.01.2019
22:22:44
инит скрипт смотрит, что бд в нем уже есть и не создает новую
так а я вношу в файл такую, которой нет еще в базе

так я думал можно через этот же файл( в инит если

inqfen
15.01.2019
22:23:15
Нет, тут создается только дефолтная

Stefan
15.01.2019
22:23:23
типо так CREATE DATABASE IF NOT EXISTS second_db; GRANT ALL PRIVILEGES ON second_db.* TO 'user2' identified by '111'; CREATE DATABASE IF NOT EXISTS third_db; GRANT ALL PRIVILEGES ON third_db.* TO 'user3' identified by '111'; CREATE DATABASE IF NOT EXISTS fourth_db; GRANT ALL PRIVILEGES ON fourth_db.* TO 'user4' identified by '111';

inqfen
15.01.2019
22:23:37
Дальше через workbench или консоль уже, как и с обычным субд

Инит скрипт что-то создает только если базы вообще нет

Если есть, то он бд не трогает

Stefan
15.01.2019
22:25:09
ага
так я хочу узнать, учитывая что этот файл с созданием баз как вольюм маунтится в докер в инит ентрипоинт, если я буду создавать новую базу в этом файле, то докер никак её не увидит? или я просто что-то не так делаю?

inqfen
15.01.2019
22:25:22
не понял

Смотри, у субд есть директория, где он ищет базы

Если там есть база и она не битая - он ее подхватывает

Неважно вообще докер это или нет

Докер тут не при чем

Представь себе, что ты в обычном mysql создаешь базы

Google
Stefan
15.01.2019
22:29:50
не понял
смотри, идея такая, чтоб не заходить в контейнер каждый раз, хочу просто по мере необходимости добавлять строки с созданием баз у меня вот имейдж мускула с файлом database.sql в котором описано создание баз(выше скинул выхлоп файла), этот файл маунтится в докер образ, в /docker-entrypoint-initdb.d соответсвенно при первом запуске компоуза с этими всеми делами, базы созданы всё ок но если я вношу какую-то новую базу в файл databases.sql, то она не создается в мускуле, даже после рестарта контейнера, вот и хотел прояснить почему

inqfen
15.01.2019
22:37:38
Ну так в контейнере в /var/lib/mysql должна быть база

А ее нет

Stefan
15.01.2019
22:38:03
видать это из-за того что оно в init лежит, что при первой инициализации и срабатывает

inqfen
15.01.2019
22:38:09
А, понял, прочитал криво

Stefan
15.01.2019
22:38:36
ща попробую

inqfen
15.01.2019
22:40:59
Там надо entrypoint читать, у меня докер не под рукой

Но вроде да, если там бд есть - он ничего не выполняет

Можешь скрипт посмотреть, он вроде /entrypoint.sh и называется

в самом контейнере

Stefan
15.01.2019
22:53:45
Ну так в контейнере в /var/lib/mysql должна быть база
хех а так тогда ругается --initialize specified but the data directory has files in it. Aborting. и контейнер падает, почитал об этой проблеме The entrypoint script checks if DATADIR/mysql exists. If not, it runs --initialize, but if DATADIR/ contains any files other than ones starting with . or specified with --ignore-db-dir, --initialize will fail with that error message. So the directory you map to :/var/lib/mysql should either contain an existing MySQL database or be completely empty боль((

inqfen
15.01.2019
22:57:05
Ну так там явно написано, если в datadir нет mysl и есть файлы не начинающиеся с точки и не установлен - - ignore-db-dir, то он упадёт

Mysql там как я полагаю нет

Это дефолтная база для СУБД и там настройки живут

А что тебе мешает запрос выполнить после старта?

inqfen
15.01.2019
23:00:15
Смотри, ты стартанул контейнер

Что тебе мешает потом хоть из баша на хосте бд создать, когда он уже запущен

Если ты не укажешь mysql db name, то он только деыолтные бд создаст

Stefan
15.01.2019
23:02:06
Что тебе мешает потом хоть из баша на хосте бд создать, когда он уже запущен
та как-то хотел чтоб в одном таком файле было думал это не проблема для мускуля, но видать придется по другому, спасибо

Google
inqfen
15.01.2019
23:02:10
Mysql и performance schema

Тут докер не при чем

Stefan
15.01.2019
23:02:37
докер не при чем))

при чем мускул

inqfen
15.01.2019
23:02:40
Там обычный mysql внутри

Stefan
15.01.2019
23:02:41
)))

inqfen
15.01.2019
23:03:04
И ты пытаешься его заставить работать без базы с конфигами)

Естественно он падает

Не надо мешать в кучу

Можешь в один файл засунуть docker-compose up - d и скрипт создания бд

Вот тебе 1 файл будет, если так надо

Stefan
15.01.2019
23:11:02
Можешь в один файл засунуть docker-compose up - d и скрипт создания бд
ну допустим с этим я разобрался а вот каким образом заливать в неё данные? то есть имея дамп на руках раньше когда я на железках возился с СУБД, то там просто импорт содержимого в созданную ранее базу и всё а тут че нужно чтоль в контейнер как-то тоже закидывать их и оттуда импортить уже в СУБД?

inqfen
15.01.2019
23:14:44
mysql base -ua -pb < dump.sql

Stefan
15.01.2019
23:15:18
mysql base -ua -pb < dump.sql
ну внутри контейнера же да?

inqfen
15.01.2019
23:15:28
Какая разница как запущен процесс

Изолированно или нет

Работает он одинаково

ну внутри контейнера же да?
Можешь и снаружи если порт опубликовал

Stefan
15.01.2019
23:16:24
та я понять хочу сколько движений нужно делать и какойэто всё геморой блиать

Google
Stefan
15.01.2019
23:22:30
Можешь и снаружи если порт опубликовал
cat databases.sql | docker exec -i mysql_server mysql кстати вот такое вместо башника даже и создает все базы которые я описал внутри, норм тогда и не нужно никуда коннектиться тоже самое можно и с дампом сделать под конкретную базу

зибиси

inqfen
15.01.2019
23:23:05
Можно, только локально это все неудобно

Stefan
15.01.2019
23:23:45
разве не лучше, когда не нужно лишних движений делать?)

inqfen
15.01.2019
23:24:39
Ну лежит у тебя в гите код, твоим методом надо зайти по ssh именно на этот сервер и именно с этим дампом

Который кстати тоже в идеале и не на сервере должен быть

Stefan
15.01.2019
23:25:23
а если это добавить в один из стейджей в ci/cd системе?))

чтоб тот же слейв дженкинса например сгонял и залил базу

inqfen
15.01.2019
23:26:43
Так он должен это с агента делать

А не ходить куда-то по ssh

Stefan
15.01.2019
23:27:24
А не ходить куда-то по ssh
так агенты его по ssh ведь ходят

inqfen
15.01.2019
23:27:38
Не обязательно

Stefan
15.01.2019
23:27:53
хм, не слышал о другой реализации

inqfen
15.01.2019
23:27:55
Агент может и локально клиент mysql запустить

А если ты ему в джоб напишешь echo "jopa", он куда по ssh пойдёт?

Stefan
15.01.2019
23:29:32
А если ты ему в джоб напишешь echo "jopa", он куда по ssh пойдёт?
не ну если я не укажу агента в стейдже, то есесна он на дженкинс сервере это запустит

inqfen
15.01.2019
23:30:12
Агент тоже не только по ssh может ходить

Он может и docker build локально сделать например

И все что угодно, там по сути bash юзается

Stefan
15.01.2019
23:31:12
не ну вот с билдом имейджей я так делал

а вот как-то про остальное не задумывался

Страница 982 из 1375