Anonymous
)))
Anonymous
ну так то да))
Anonymous
тоесть мне нужно внутри контейнера mysql вызвать bach и дать там команду chmod 777 -R на какуето папку?
Artem
777 это ссаный костыль
Artem
Это как отключать айпитеблс если не знаешь как прописать правило
Artem
chown mysql:mysql
Sergei
привет, попробовал использовать для mysql в docker-compose tmpfs tmpfs:
- /var/lib/mysql
- /tmp разницы в скорости совсем нет, почему так?
Artem
Так он потом примет это за должное и все время будет так делать)
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
как то так(
Tadeusz
почему бы и не обрамлять код ?
Anonymous
а как?
Tadeusz
в такие херовины ` по три штуки
Anonymous
щас попробую
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
Александр
сделай сначала docker-compose down
Anonymous
блин наверно не надо было так скидывать
Tadeusz
ты жесток
Tadeusz
в телеграме есть функция редактирования/удаления
Anonymous
да я понял и осознал свою ошибку
Aleksandr
docker-compose up -d - запускай без -d для отладки - тогда ты будешь сразу весь выхлоп видеть и сможешь останавливать через ctrl+c
Anonymous
все удалили
Anonymous
Dmitrii
Господа господа, есть какой-нибудь ключик чтобы сервис в swarm поднимал не более чем N контейнеров определенного сервиса/образа на 1 воркере? Т.е. ситуация такая что сейчас у меня есть софтины которые мы сами пишем и они работают по штуке-две на одной ноде, в настройках сервиса выставлено нужное количество и они отбалансированы очень ровненько. если вырубаю одну ноду - контейнеры кочуют на соседнюю и сыпятся с ошибками "порт занят не могу работать" все это преврачается в жутку кашу и забивает базу InfluxDB лишним мусором. Как-бы сделать так что мол "нода упала контейнеров в сервисе недостаточно но запускать новые я не буду и потерплю т.к. на работающих нодах уже все запущено".
Emil
Taras 🦁
ну мы вот сделали костыль:
нужно 2 инстанса на ноду. Потому сделали 2 сервиса в режиме global. В этом режиме всегда один инстанс на ноду
Taras 🦁
т.е. 2 почти полностью идентичных сервиса, разница только в портах
Taras 🦁
нормального решения я не смог найти
Dmitrii
Taras 🦁
это как так у вас вышло)?
Taras 🦁
там всего 2 режима у swarm:
1) replicated - указываешь сколько тебе нужно инстансов, он их размазываем по нодам, при этом используется внутренняя сетка, которая не дает портам конфликтовать
2) global - по одному инстансу на каждую доступную ноду. Опять же никаких конфликтов, т.к. инстанс один только на каждой ноде
Dmitrii
у сервиса репликас указано как 5 штук например мы вырубаем одну из нод теперь у нас есть сервис с 5 требуемыми репликами и 4 работающих ноды. сворм пытается стартануть контейнер на 1й из 4х, контейнер стартует и падает т.к.. нужный ему порт занят и так раз за разом
Dmitrii
Taras 🦁
чем он занят)? они во внтурннней сетке (routing mesh)
Dmitrii
лол —mode global всеголишь
Dmitrii
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
Serhii
links:
- db:db
Serhii
и в скриптах вместо localhost -> db
Aleksandr
a1eXei
эх, а мне говорили, что links уже устаревшая настройка, что сейчас надо настраивать network(