sql中继安装失败
我刚刚创build了一个docker容器,并试图在其中安装SQL Relay。
我已经检查了这里的先决条件,并按照这里的安装文件。
但是,在make install
sqlrelay的最后,我看到这样的错误:
update-rc.d: /etc/init.d/sqlrelay: file does not exist update-rc.d: /etc/init.d/sqlrcachemanager: file does not exist make[1]: *** [install] Error 1 make[1]: Leaving directory `/sqlrelay-0.66.0/init' make: *** [install-init] Error 2
我的安装可能有问题?
以下是我用来开始安装的docker文件:
FROM ubuntu:trusty RUN apt-get update && \ apt-get install libxml2-dev libpcre3 libpcre3-dev libmysqld-dev -y RUN apt-get install mysql-server libmysqlclient-dev -y # sql relay prerequisites RUN apt-get install g++ make perl php5-dev python-dev ruby-dev \ tcl-dev openjdk-7-jdk erlang-dev nodejs-dev node-gyp mono-devel \ libmariadbclient-dev libpq-dev firebird-dev libfbclient2 libsqlite3-dev \ unixodbc-dev freetds-dev mdbtools-dev -y COPY rudiments-0.56.0.tar.gz / COPY sqlrelay-0.66.0.tar.gz / EXPOSE 80
这里是./configure
和make install
里面sqlrelay-0.66.0文件夹的输出:
configure_log
make_log
make_install_log
如果您需要更多关于我的安装过程的信息,请告诉我。 我可以提供。
我认为你应该使用ADD
而不是COPY
,如你所在的行
COPY rudiments-0.56.0.tar.gz /
您的COPY仅复制.tar.gz,但不解压缩
与ADD一样
If the <src> parameter of ADD is an archive in a recognised compression format, it will be unpacked
这是从中提取的
Dockerfile中的`COPY`和`ADD`命令有什么区别?
我最近遇到了同样的问题。 我发现的问题是init Makefile在Ubuntu Trusty中错误地检测到systemctl的使用,并将脚本放在那里。 稍后脚本会尝试在init.d中查找脚本并失败。
解决方法是编辑Makefile: sqlrelay-XXX/init/Makefile
更换:
install: if ( test -d "/lib/systemd/system" ); \
附:
install: if ( test -d "/lib/systemd/system_x" ); \
稍后在脚本中对uninstall
选项进行类似的更改,现在可以在Ubuntu上正确安装。