badoo / codeisok

Git code browsing and code review tool
GNU General Public License v3.0
85 stars 16 forks source link

Не появляются репозитории #36

Closed harddiegg closed 6 years ago

harddiegg commented 6 years ago

Создал в докере образ, подключился по вебу, создал репозиторий(а так же пытался копировать уже существующие репозитории в codeisok/repositories). Проблема в том, что они не отображаются в вебе ни через минуту, ни через час. Так же при запуске докер образа наблюдаю такую ошибку:

ERROR 1006 (HY000) at line 1: Can't create database 'gitphp' (errno: 13)

Возможно это связано

uyga commented 6 years ago

Репозитории должны появляться сразу. Судя по ошибке, что-то с базой данных. Вероятно, у пользователя не хватает прав для создания базы и необходимых таблиц. Проверьте права пользователя mysql пожалуйста.

harddiegg commented 6 years ago

В докере авторизуется под пользователем root. Как у него может не хватать прав на создание базы данных?

uyga commented 6 years ago

Ну вы же ничего не написали про то, меняли ли какие-то настройки или нет :) Тогда мне нужно вот что: платформа, на которой вы пытаетесь запустить докер-контейнер, логи создания образа и логи старта.

harddiegg commented 6 years ago

Это да, моя ошибка) Так, пишу еще раз все сначала)

На чистую поставил контейнер, без каких-либо изменений, запуская, вижу такие логи

╰─$ sudo ./start.sh

  • Starting MySQL database server mysqld No directory, logging in with HOME=/ [ OK ]
  • Checking for tables which need an upgrade, are corrupt or were not closed cleanly.
  • Starting OpenBSD Secure Shell server sshd [ OK ] Warning: Using a password on the command line interface can be insecure. ERROR 1006 (HY000) at line 1: Can't create database 'gitphp' (errno: 13)
  • Starting Mail Transport Agent (MTA) sendmail [ OK ] root@75ae7345e57c:/#

С логами создания сложнее, сейчас нет быстрого канала, не смогу скачать все это(но если это обязательно, то сделаю)

Платформа: Linux 4.16.3-1-ARCH x86_64 GNU/Linux

uyga commented 6 years ago

Спасибо за логи старта. Но логи создания нужны тоже. Судя по тому, что mysql не может найти директорий с данными, что-то пошло не так. Сделайте пожалуйста, как будет возможность.

Спасибо!

harddiegg commented 6 years ago

Удалось получить лог) https://pastebin.com/J87vYZUZ

uyga commented 6 years ago

А зачем вы docker build запускаете под sudo? Не помню чтобы я в документации указывал что-то подобное. Попробуйте пересоздать контейнер, предварительно удалив то что уже создано ранее и создать по новой, уже без sudo. Спасибо.

harddiegg commented 6 years ago

Запускал сборку под sudo по причине того, что без sudo docker вообще не выполняет никаких команд

╰─$ docker build -t codeisok .setup Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.37/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&session=f54525d0a6653d9ddfd969771cd335680a6eb7d6555d63f3eeb521311bed0f9f&shmsize=0&t=codeisok&target=&ulimits=null: dial unix /var/run/docker.sock: connect: permission denied

╰─$ docker images
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.37/images/json: dial unix /var/run/docker.sock: connect: permission denied

harddiegg commented 6 years ago

Изменил владельца файлов, ошибка изменилась, но опять с базой данных все связано

╰─$ sudo ./start.sh

  • Starting MySQL database server mysqld No directory, logging in with HOME=/ [fail]
  • Starting OpenBSD Secure Shell server sshd [ OK ] Warning: Using a password on the command line interface can be insecure. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
  • Starting Mail Transport Agent (MTA) sendmail [ OK ] root@f40004e0ef4a:/# ls -al /var/run/mysqld/ total 12 drwxr-xr-x 2 mysql root 4096 May 15 12:13 . drwxr-xr-x 1 root root 4096 May 15 12:20 .. root@f40004e0ef4a:/#
uyga commented 6 years ago

Ну значит у юзера под которым вы работаете в линукс нет прав для работы с докером. Надо разобраться с правами и пересоздать образ.

С другой стороны, возможно, команда docker start (которая внутри ./start.sh), будучи запущена под sudo, спасет ситуацию.

harddiegg commented 6 years ago

Попытался создать образ и запустить полностью под root, ситуация не изменилась

Md-Cake commented 6 years ago

@harddiegg кажется, я нашел и воспроизвел вашу проблему у себя на виртуалке. Я приложил фикс в мастер, можете попробовать пересобрать и запустить контейнер с новыми изменениями?

harddiegg commented 6 years ago

Да, фикс действительно помог) Спасибо)