Sun
В общем, профилируй это дело. Смотри на загрузки. Прямо разворачивай тмух на весь экран в три окна: htop, iftop, iostat
Sun
а потом уже смотри более детально по подозрительным процессам.
Sun
У меня был подобный косяк с рельсами — там я сам объебался: включил дебаг-лог в файл на подключаемом волуме, который на USB-винте лежал. Вот это были просто *эпические* тормоза.
Sun
Не, докер ок, не в нём дело 100%. Проблема либо в приложении, либо в настройках руби
Sun
Добавь иостат в конт с руби и подключись к нему на старте
Sun
и посмотри что происходит
Anonymous
Sun
Ну или совершенно сумасшедший аутпут по логам — по 10 строк на одно событие
Anonymous
тут все очень просто, убрать докер из этой связки). Ну или писать логи другими методами.
Sun
можно было бы сделать, конечно, 4 инстанса самых толстых и ими всё обрабатывать, но негибко получается. Не отскалировать по требуемым ресурсам
Anonymous
понятие количества запроса не показатель, от слова Совсем. В запросе может быть как обычное echo, так и куча транзакций)
🏴☠️ Alexey
мужики - приложение самое простое, это только созданный скелет
🏴☠️ Alexey
через rails new
Anonymous
🏴☠️ Alexey
Чуть позже, ок? Надо отъехать по делам, я ближе к вечеру или утром выложу в паблик
🏴☠️ Alexey
пока что можно взять докерфайл и докеркомпоз
🏴☠️ Alexey
и воткнуть обычный скелет
Рашид
/
Anonymous
ребята)) помогите, я не ка кне могу вьехать , я написал вот такой docker-compose.yml
Anonymous
version: '3.3'
services:
db:
image: mysql
ports:
- 3306:3306
volumes:
- ./db:/var/lib/mysql
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
Anonymous
язахожу через firefox 127.0.0.1:8080
Anonymous
появляется админка
Anonymous
Anonymous
ну и вобщем то все
Anonymous
и вобщем то вопролс
Anonymous
как мне подключится к бд из хост машины ( Debian9 )
Anonymous
и что я делаю нетак
Anonymous
цель просто научится пользоватся докером, ну и для начала подключится к бд и поработать с ней
a1eXei
попробуй —link
Anonymous
щас попробую
Anonymous
попробуй —link
а где сервер там надо писать 127.0.0.1 или localhost они просто разные ошибки выдают
Anonymous
дополнил предыдущий файл вот так:
Anonymous
adminer:
image: adminer
restart: always
ports:
- 8080:8080
links:
- db
Anonymous
если localhost то ошибка : SQLSTATE[HY000] [2002] No such file or directory
Anonymous
если 127.0.0.1 то ошибка : SQLSTATE[HY000] [2002] Connection refused
Aleksandr
Aleksandr
И в логи поглядывая. Может у тебя не завелась что
🦠
links уже устарело
Anonymous
а как линковать хост дб а то чет я не понял , и логи имеется ввиду логи docker смотреть
Anonymous
?
🦠
docker-compose logs db не?
Anonymous
я только эту команду знаю sudo docker logs
Anonymous
но я так понял разницы нет
Anonymous
да e vtyz ьныйд не собирается
Anonymous
mysql*
Anonymous
db_1 | Initializing database
db_1 | 2017-10-02T18:33:35.168152Z 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/ibMqh8im' (Errcode: 13 - Permission denied)
db_1 | 2017-10-02T18:33:35.171243Z 0 [ERROR] InnoDB: Unable to create temporary file; errno: 13
db_1 | 2017-10-02T18:33:35.171249Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
db_1 | 2017-10-02T18:33:35.171253Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
db_1 | 2017-10-02T18:33:35.171255Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
db_1 | 2017-10-02T18:33:35.171257Z 0 [ERROR] Failed to initialize plugins.
db_1 | 2017-10-02T18:33:35.171258Z 0 [ERROR] Aborting
🦠
ну типа директория защищена от записи
🦠
ты походу с правами намудрил
🦠
вон иннодибишка бедная пытается в темп свопнуться
Anonymous
я тоже про это подумал: но я запускаю вроде все через sudo docer-copose up -d
Anonymous
наверно надо настроить как то сам docer-campose
🦠
а чо за судо
Anonymous
ну sudo docer-compose up -d
Roman
Убери volumes если хочешь потестить и в админке там где server пропиши db
Roman
Так docker-compose создает сеть и внтури сети контейнеры резолвятся по имени контейнера
Roman
Соответсвенно с adminera будет хост db доступен по имени db
можешь проверить пингом
ping db
Roman
попробуй —link
Это устарело так как внутри сети контейнеры резолвятся по хостнейу на через /etc/hosts как было при линковании
Anonymous
но я так понимаю что если я хочу чтобы данные которыя я запишу в бд сохранились то надо volumes,
Anonymous
Roman
Линк прописывал в /etc/host ip контейнров и передавал переменные окружения. Сейчас в одной сети имя отдается внутренним днсом
Roman
и при запуске с одноко композа можно обращаться напрямую по имени контейнра. Или да, по дефолту
Aleksandr
version: '3.3'
services:
db:
image: mysql
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
Aleksandr
работает без проблем, через db
Anonymous
сейчас пишу запускаю у себя ...
Anonymous
Anonymous
db_1 | Initializing database
db_1 | 2017-10-02T19:28:30.003599Z 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/ibyMXkeM' (Errcode: 13 - Permission denied)
db_1 | 2017-10-02T19:28:30.006932Z 0 [ERROR] InnoDB: Unable to create temporary file; errno: 13
db_1 | 2017-10-02T19:28:30.006944Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
db_1 | 2017-10-02T19:28:30.006949Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
db_1 | 2017-10-02T19:28:30.006955Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
db_1 | 2017-10-02T19:28:30.006958Z 0 [ERROR] Failed to initialize plugins.
db_1 | 2017-10-02T19:28:30.006960Z 0 [ERROR] Aborting
db_1 |
Anonymous
logi adminer вроде нормальный: adminer_1 | PHP 7.0.24 Development Server started at Mon Oct 2 19:28:26 2017
Anonymous
sudo docker-compose ps выводит
Anonymous
dockermysql_adminer_1 entrypoint.sh docker-php-e ... Up 0.0.0.0:8080->8080/tcp
dockermysql_db_1 docker-entrypoint.sh mysqld Restarting
Anonymous
блин, я все, на сегодня здаюсь...(
Dmitry
mysql должна быть доступна по имени хоста, в данном случае db_1
Roman
sudo docker-compose down