Ho lavorato come segue:
seguendo Utilizzo del container Docker
- installazione standard di discourse (https://github.com/discourse/discourse/blob/main/docs/INSTALL-cloud.md).
- scarica mysql docker e carica lì il mio database vBulletin.
L’ho controllato usando il comando<root@localhost:/opt/discourse# mysql -h 172.17.0.5 -P 3306 --protocol=tcp -u root -p>. - root@localhost:/opt/discourse#./launcer enter app
- apt-get update && apt-get install libmysqlclient-dev mysql-server-5.7 fallito.
quindi ho installato apt-get update && apt-get install libmariadb-dev mariadb-server - Non riesco a eseguire mysql su docker.
root@localhost-app:/var/www/discourse# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/run/mysqld /mysqld.sock' (2)
Non c’è mysqld.sock in tutte le directory di docker. Non è stato possibile trovarlo con il comando <find>.
root@localhost-app:/var/www/discourse# sudo service mysql start
mysql: unrecognized service
- Ho fatto riferimento a https://www.baeldung.com/docker-cant-connect-local-mysql e ho utilizzato l’immagine docker di mysql su “172.17.0.5”
gem install mysql2
gem install php_serialize
`<gem install mysql2>` non ha funzionato finché non è stato installato libmariadb-dev.
- esegui
su discourse -c 'bundle install --no-deployment --without test --without development --path vendor/bundle'
c’è stato un errore, quindi ho cancellato gemfile.lock e il file .bundle e ho riprovato.
9. Dopo di che ho provato.
export DB_NAME="vb3" # Cambia questo con il nome del database VB3.
export DB_USER="root"
export DB_PASSWORD="mypassword"
export DB_HOST="172.17.0.5"
cd /var/www/discourse
su discourse -c 'bundle exec ruby script/import_scripts/vbulletin.rb'
Ma lo script genera un errore.
1: from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-3.0.0/lib/mini_profiler/profiling_methods.rb:83:in `profile_method'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-3.0.0/lib/mini_profiler/profiling_methods.rb:83:in `alias_method': undefined method `call' for class `Redis::Client' (NameError)
Did you mean? caller
Come posso risolvere il problema?
Grazie.