当前位置: 首页 > news >正文

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 CEsudo 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

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

http://www.lryc.cn/news/225108.html

相关文章:

  • 02-PostgreSQL的基本使用
  • uniapp 实现路线规划
  • C语言C位出道心法(五):内存管理
  • Flink之SQL客户端与DDL操作
  • 记录第一次银行测试岗面试【总结几点面试不要犯得错误】
  • 一篇带你精通php
  • Go 语言函数
  • 前端小技巧: 拍平数组的6种常见方法
  • c++day6
  • LeetCode(1)合并两个有序数组【数组/字符串】【简单】
  • 剪贴板管理软件 Paste Wizard mac中文版功能特色
  • 【数据结构】树的基本性质(计算树的总结点数与叶结点数)
  • android手机平板拓展电脑屏幕
  • 接口测试的流程
  • HMAC 详解:在 Golang 中实现消息认证码
  • 阻塞队列和定时器的使用
  • JavaScript脚本操作CSS
  • Rust4.1 Managing Growing Projects with Packages, Crates, and Modules
  • RPA在财务预测和分析中的应用
  • 无人机航拍技术基础入门,无人机拍摄的方法与技巧
  • PTA 哈密尔回路(建图搜索)
  • 如何利用产品帮助中心提升用户体验
  • 【Python大数据笔记_day05_Hive基础操作】
  • css呼吸效果实现
  • 机器视觉opencv答题卡识别系统 计算机竞赛
  • 2024年的后端和Web开发趋势
  • 对比了10+网盘资源搜索工具,我最终选择了这款爆赞的阿里云盘、百度网盘、夸克网盘资源一站式搜索工具
  • GoLong的学习之路(二十)进阶,语法之反射(reflect包)
  • 关于表单校验,:rules=“loginRules“
  • 统一消息分发中心设计