#ruby-on-rails #docker #ubuntu #libpcap
#ruby-on-rails #docker #ubuntu #libpcap
Вопрос:
Привет, у меня проблема с созданием базы данных в docker.
Я попытался создать базу данных с:
docker-compose run snort_web_interface bundle exec rake db:create db:migrate
и я получил ошибку.
Ошибка загрузки: libpcap.so.0.8: не удается открыть общий объектный файл: Нет такого файла или каталога — /box/gems /pcaprub-0.13.0/lib /pcaprub_c.so
запущен docker-compose up.
Я устанавливаю пакеты, драгоценные камни и т.д. С помощью этого скрипта:
#!/bin/bash
apt-get update
apt-get -qq -y install libpq-dev
apt-get -qq -y install nodejs
apt-get -qq -y install libpcap-dev
bundle check || bundle install
if [ -f tmp/pids/server.pid ]; then
rm tmp/pids/server.pid
fi
bundle exec rails s -b 0.0.0.0 -p 3000
Есть идеи, как это исправить?? Docker работает нормально, только одна проблема связана с библиотекой libpcap.
Комментарии:
1. Если вам нужен dockerfile или docker-compose.yml, я публикую это, но я думаю, что проблемы нет
2. проверьте один из приведенных ниже ответов на ваш вопрос или поделитесь своим опытом, если проблема была исправлена?
Ответ №1:
Похоже, что в одной из требуемых библиотек отсутствует зависимость или вставляется требуемый файл.
В вашем случае этот файл не может быть найден: pcaprub_c.so
Я видел эту проблему много раз в дистрибутиве Redhat и смог решить в два этапа:
1) Найдите имя пакета, в котором отсутствует файл. В Redhat / Cntos вы запускаете эту команду:
sudo yum whatprovides '*filename'
Для дистрибутивов на базе Debian быстрый поиск в Google предложил:
dpkg -S filename
(в вашем случае это pcaprub_c.so )
Как только вы узнаете имя пакета, который вызывает проблему, вы просто удаляете и переустанавливаете или просто устанавливаете:
sudo apt-get install blah-blah-package.
Для redhat / centos .. etc:
sudo yum install blah-blah-package.