我想用docker重新创建我的服务器设置,以前我在digital ocean中使用Ubuntu 16.04安装了一个自定义的Firebird服务器。我想用dockerubuntu:16.04
镜像重新创建它。
为了安装服务器,供应商提供了安装文件脚本。安装程序在真实服务器上运行良好,它提取文件并运行服务器服务。但是,当我在 dockerized Ubuntu 上运行安装程序时,安装程序已完成,但似乎没有添加任何内容。不提取文件,也不启动服务器服务。
真正的 Ubuntu 服务器和 dockerized 服务器之间有什么区别吗?除了它是 docker 并且可能被最小化之外?dockerized 服务器中缺少什么?
以下是我尝试以交互方式在 Ubuntu docker 中安装服务器的方法
$ docker run -it --name ubuntu_test ubuntu:16.04
$ apt-get update
$ apt-get install -y curl
$ curl http://deluxeaccounting.com/download/accurate/v5/fb64linux/FirebirdACCURATE-2.5.4.amd64.tar.gz --output accurate.tar.gz
$ tar -zxvf accurate.tar.gz
$ ./FirebirdACCURATE-2.5.4.amd64/install.sh
更新
原来我在安装服务器之前忘记先 cd,在运行之前install.sh
我将目录更改为FirebirdACCURATE-2.5.4.amd64
。这改变了这个问题的标题。
$ cd /FirebirdACCURATE-2.5.4.amd64/
$ ./install.sh
这是有效的,那么在不同的目录内和目录外运行命令有什么区别?
答案1
您没有显示收到的错误消息,但最好的猜测是 install.sh 使用相对路径在其目录/子目录中使用其他文件。当您从上一级目录运行它时,它不知道在哪里找到这些文件。