ubuntu(18.04)中安装open babel docker镜像并在php项目中调用容器中的obabel命令解析结果使用

使用软件:

obabel镜像:informaticsmatters/obabel

docker:http:// https://www.docker.com/

安装docker

#卸载旧版本
 
sudo apt-get remove docker docker-engine docker-ce docker.io
 
#更新索引包
 
sudo apt-get update
 
#安装 apt 依赖包,用于通过HTTPS来获取仓库
 
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
 
 
#添加Docker官方的GPG密钥
 
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
 
#设置stable存储库
 
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
 
#更新一下apt包索引
 
sudo apt-get update
 
#安装最新版本的Docker CE
 
sudo apt-get install -y docker-ce
 
#验证-查看docker运行状态
 
systemctl status docker
 
#验证 - 查看docker版本
 
docker -v
 
 
#如果安装指定版本可使用如下命令
#列出各个可用版本
apt-cache madison docker-ce
#安装指定版本
sudo apt-get install docker-ce=<VERSION>

拉取obabel镜像

sudo docker pull informaticsmatters/obabel

运行obabel镜像启动镜像

sudo docker run -itd  --name obabelimage  informaticsmatters/obabel    /bin/bash

--name obabelimage 将启动后容器命名为obabelimage方便后续操作

复制文件到容器中

sudo docker cp XXX.sdf obabelimage:/home/obabel

从宿主机查看容器内的复制结果

sudo docker exec  obabelimage  ls  /home/obabel

构建 fastsearch.fs

sudo docker exec  obabelimage  obabel  /home/obabel/XXX.sdf -ofs -O  fastsearch.fs

宿主机运行容器内部命令操作obabel

sudo docker exec  obabelimage  obabel  后续写obabel的命令

通过分子式和相似度搜索相关的信息并直接答应结果

输入:

分子式:CC1(C(N2C(S1)

相似度:>0.6

sudo docker exec  obabelimage  obabel /home/obabel/fastsearch.fs -ofpt -s "CC1(C(N2C(S1)" -at0.6 --append VDB_ID | awk '/^>/ {for (i=1; i<=NF; i++) if ($i ~ /VDB[0-9]+/) {id = $i; break} if($0 ~ /=/) {sim = $NF} else {sim = "1"}; print id, sim}'

解决php中调用docker提示没有权限问题

将php的执行用户加入到docker的用户组中去

#创建docker用户组

sudo groupadd docker

#添加www-data到docker用户组中 这里web服务使用的nginx 其他的看情况

sudo usermod -aG docker www-data

php中调用docker容器中的命令获得结果

$output = shell_exec("docker exec  obabelimage  ls  /home/obabel");
echo $output;

这里使用中是将结果打印在命令中方便程序调用直接读取进行后续使用,如果想方便的将结果存入文件查看,在启动容器的时候使用docker数据卷

sudo docker run -itd  --name obabelimage -v /dockerData/obabel:/home/obabel  informaticsmatters/obabel    /bin/bash

在宿主机上创建一个文件夹与容器内的文件夹关联就可以了,容器内的操作结果都存入数据卷文件夹中。从而在宿主机上就可以看到结果文件了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值