Anonymous
)))
Anonymous
ну так то да))
Anonymous
Нужно дать права на директорию uid'у юзера mysql внутри контейнера
так , а как это сделать можно не сразу готовое прям а хотя бы где и как почитать, я имею поверхностное пока представление с правами, тоесть я зная chmod7)) ибо я некогда особо то и не админестрировал ))
Anonymous
тоесть мне нужно внутри контейнера mysql вызвать bach и дать там команду chmod 777 -R на какуето папку?
Artem
777 это ссаный костыль
Artem
Это как отключать айпитеблс если не знаешь как прописать правило
Artem
chown mysql:mysql
Sergei
привет, попробовал использовать для mysql в docker-compose tmpfs tmpfs: - /var/lib/mysql - /tmp разницы в скорости совсем нет, почему так?
Roman
777 это ссаный костыль
Так чувак разбирается, ему хоть как то бы запустить
Artem
Так он потом примет это за должное и все время будет так делать)
Anonymous
Так он потом примет это за должное и все время будет так делать)
тоесть я так понял что мне надо создать докер файл с примерно таким содержимым
Anonymous
FROM mysql:latest EXPOSE 3306 CMD ["chown mysql:mysql *тут я не понимаю куда должна ссылатся* "]
Anonymous
и изменить docker-compose
Anonymous
version: '3.3' services: db: build: ./ ports: - 3306:3306 restart: always environment: MYSQL_DATABASE: db_ferst MYSQL_USER: root MYSQL_PASSWORD: root MYSQL_ROOT_PASSWORD: root adminer: image: adminer restart: always ports: - 8080:8080
🦠
ну хочет он страдать
🦠
пусть страдает, ему уже сбросили проверенный вариант
🦠
он педалит свое
Tadeusz
педалист
🦠
тут ничем не помочь, разве что вагрантовки разлить
Anonymous
не мне просто выше предлжили что типо надо чтобы версия latest заработала надо права дать "Нужно дать права на директорию uid'у юзера mysql внутри контейнера" может еще этот вариант проверить... как то так)
🦠
а если еще раз посмотреть на то, что я таки предоставил
🦠
то можно кое-что заметить, что решает проблему
🦠
но увы, я ищу и удаляю этот пост
🦠
наслаждайтесь)
Anonymous
наслаждайтесь)
да нет уважаеммый , что вы так сразу то )) и удалять , прсто моя версия исправленная благодоря вам :
Anonymous
version: '3.3' services: db: image: mysql:5.6 ports: - 3306:3306 volumes: - ./db:/var/lib/mysql environment: MYSQL_DATABASE: db_ferst MYSQL_USER: root MYSQL_PASSWORD: root MYSQL_ROOT_PASSWORD: root adminer: image: adminer ports: - 8080:8080
Anonymous
работает
Anonymous
а вот
Anonymous
version: '3.3' services: db: image: mysql:5.7 ports: - 3306:3306 volumes: - ./db:/var/lib/mysql environment: MYSQL_DATABASE: db_ferst MYSQL_USER: root MYSQL_PASSWORD: root MYSQL_ROOT_PASSWORD: root adminer: image: adminer ports: - 8080:8080
Anonymous
нет а мне по идее и нужна 7
Anonymous
да и
Anonymous
version: '3.3' services: db: image: mysql:latest ports: - 3306:3306 volumes: - ./db:/var/lib/mysql environment: MYSQL_DATABASE: db_ferst MYSQL_USER: root MYSQL_PASSWORD: root MYSQL_ROOT_PASSWORD: root adminer: image: adminer ports: - 8080:8080
Anonymous
тоже ломается
Anonymous
как то так(
Александр
version: '3.3' services: db: image: mysql:latest ports: - 3306:3306 volumes: - ./db:/var/lib/mysql environment: MYSQL_DATABASE: db_ferst MYSQL_USER: root MYSQL_PASSWORD: root MYSQL_ROOT_PASSWORD: root adminer: image: adminer ports: - 8080:8080
version: '3.3' services: db: image: mysql:latest ports: - 3306:3306 volumes: - db_data:/var/lib/mysql environment: MYSQL_DATABASE: db_ferst MYSQL_USER: root MYSQL_PASSWORD: root MYSQL_ROOT_PASSWORD: root adminer: image: adminer ports: - 8080:8080 volumes: db_data: driver: "local"
Tadeusz
почему бы и не обрамлять код ?
Anonymous
а как?
Tadeusz
в такие херовины ` по три штуки
Anonymous
щас попробую
Anonymous
`
Anonymous
Attaching to dockermysql_db_1 db_1 | Initializing database db_1 | 2017-10-03T10:10:46.470319Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). db_1 | mysqld: Can't create/write to file '/tmp/ibEAKmNK' (Errcode: 13 - Permission denied) db_1 | 2017-10-03T10:10:46.472697Z 0 [ERROR] InnoDB: Unable to create temporary file; errno: 13 db_1 | 2017-10-03T10:10:46.472704Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error db_1 | 2017-10-03T10:10:46.472707Z 0 [ERROR] Plugin 'InnoDB' init function returned error. db_1 | 2017-10-03T10:10:46.472711Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. db_1 | 2017-10-03T10:10:46.472714Z 0 [ERROR] Failed to initialize plugins. db_1 | 2017-10-03T10:10:46.472715Z 0 [ERROR] Aborting
Tadeusz
по три штуки, в начале и в конце
Anonymous
по три штуки, в начале и в конце
ну вроде как я так и сделал
Александр
нет ошибка всеравно вылазит та же самая вроде как
А это точно не та же самая ошибка? 2017-10-03T10:10:46
Александр
сделай сначала docker-compose down
Anonymous
блин наверно не надо было так скидывать
Tadeusz
ты жесток
Tadeusz
в телеграме есть функция редактирования/удаления
Anonymous
да я понял и осознал свою ошибку
Aleksandr
docker-compose up -d - запускай без -d для отладки - тогда ты будешь сразу весь выхлоп видеть и сможешь останавливать через ctrl+c
Anonymous
все удалили
Dmitrii
Господа господа, есть какой-нибудь ключик чтобы сервис в swarm поднимал не более чем N контейнеров определенного сервиса/образа на 1 воркере? Т.е. ситуация такая что сейчас у меня есть софтины которые мы сами пишем и они работают по штуке-две на одной ноде, в настройках сервиса выставлено нужное количество и они отбалансированы очень ровненько. если вырубаю одну ноду - контейнеры кочуют на соседнюю и сыпятся с ошибками "порт занят не могу работать" все это преврачается в жутку кашу и забивает базу InfluxDB лишним мусором. Как-бы сделать так что мол "нода упала контейнеров в сервисе недостаточно но запускать новые я не буду и потерплю т.к. на работающих нодах уже все запущено".
Taras 🦁
ну мы вот сделали костыль: нужно 2 инстанса на ноду. Потому сделали 2 сервиса в режиме global. В этом режиме всегда один инстанс на ноду
Taras 🦁
т.е. 2 почти полностью идентичных сервиса, разница только в портах
Taras 🦁
нормального решения я не смог найти
Dmitrii
ну мы вот сделали костыль: нужно 2 инстанса на ноду. Потому сделали 2 сервиса в режиме global. В этом режиме всегда один инстанс на ноду
у меня тоже такой костыль есть. падает 1я нода, теперь на 2й ноде имеется 2 инстанса которые борются за 1 порт.
Taras 🦁
это как так у вас вышло)?
Dmitrii
это как так у вас вышло)?
это гипотетическая ситуация которой я хочу избежать
Taras 🦁
там всего 2 режима у swarm: 1) replicated - указываешь сколько тебе нужно инстансов, он их размазываем по нодам, при этом используется внутренняя сетка, которая не дает портам конфликтовать 2) global - по одному инстансу на каждую доступную ноду. Опять же никаких конфликтов, т.к. инстанс один только на каждой ноде
Dmitrii
у сервиса репликас указано как 5 штук например мы вырубаем одну из нод теперь у нас есть сервис с 5 требуемыми репликами и 4 работающих ноды. сворм пытается стартануть контейнер на 1й из 4х, контейнер стартует и падает т.к.. нужный ему порт занят и так раз за разом
Taras 🦁
чем он занят)? они во внтурннней сетке (routing mesh)
Dmitrii
лол —mode global всеголишь
Anonymous
nfr
Anonymous
Так
Tadeusz
так так так
Anonymous
Вобщем я помучился помучился и вобщем вот такое штото у меня получилось и работает оно вроде как , и в бд заходит и mysql :latest
Anonymous
version: '3.3' services: db: image: mysql:latest ports: - 3306:3306 volumes: - ./db:/var/lib/mysql - /tmp:/tmp environment: MYSQL_DATABASE: db11 MYSQL_USER: rt11 MYSQL_PASSWORD: rt11 MYSQL_ROOT_PASSWORD: rt11 adminer: image: adminer ports: - 8080:8080
Anonymous
но сейчас впопрос а как из вне подключится к это бд, например с помощью скрипта
Artem
как и обычно, сделать юзера который мог бы подклчаться извне и конектится на порт
Serhii
реально ли в докер контейнер пропихнуть домен локальный чтоб не прописывать в хосте локальной машины?
Serhii
links: - db:db
Serhii
и в скриптах вместо localhost -> db
a1eXei
эх, а мне говорили, что links уже устаревшая настройка, что сейчас надо настраивать network(