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.mzph.cn/news/141165.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图的表示与基础--Java

1.图的基础知识 该图片来自于&#xff1a; https://b23.tv/KHCF2m6 2.稀疏图与稠密图 G(V,E)&#xff1a;V顶点个数&#xff0c;E边的个数 稀疏图&#xff1a;E<<V 一般用邻接表表示(数组链表) 稠密图&#xff1a;E接近V 一般用邻接矩阵表示&#xf…

为什么要有__init__.py这个文件?(一篇文章带你详细了解)

__init__.py 文件在Python中有着特殊的意义&#xff0c;尤其是在定义包&#xff08;package&#xff09;时。这个文件的存在有几个主要目的&#xff1a; 将目录标记为Python包&#xff1a;最重要的作用就是它告诉Python解释器&#xff0c;包含这个文件的目录应该被视作一个Pyth…

中断处理机制解析

要处理中断&#xff0c;需要有一个中断处理函数。定义如下&#xff1a; irqreturn_t (*irq_handler_t)(int irq, void * dev_id);/*** enum irqreturn* IRQ_NONE interrupt was not from this device or was not handled* IRQ_HANDLED interrupt was handled by this de…

Django路由层

路由层&#xff08;urls&#xff09; Django的路由层是负责将用户请求映射到相应的视图函数的一层。在Django的MVT架构中&#xff0c;路由层负责处理用户的请求&#xff0c;然后将请求交给相应的视图函数进行处理&#xff0c;最后将处理结果返回给用户。 在Django中&#xff0c…

『Linux升级路』基础开发工具——vim篇

&#x1f525;博客主页&#xff1a;小王又困了 &#x1f4da;系列专栏&#xff1a;Linux &#x1f31f;人之为学&#xff0c;不日近则日退 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、vim的基本概念 &#x1f4d2;1.1命令模式 &#x1f4d2;1.2插入模式 &…

【C++干货铺】剖析string | 底层实现

个人主页点击直达&#xff1a;小白不是程序媛 C专栏&#xff1a;C干货铺 代码仓库&#xff1a;Gitee 目录 成员变量 成员函数 构造和拷贝构造 赋值重载 析构函数 operator[ ] size 迭代器 reserve&#xff08;扩容函数&#xff09; push_back(尾插函数&#xff09…

前端---认识HTML

文章目录 什么是HTML&#xff1f;HTML的读取、运行HTML的标签注释标签标题标签段落标签换行标签格式化标签图片标签a标签表格标签列表标签表单标签form标签input标签文本框单选框复选框普通按钮提交按钮文件选择框 select标签textarea标签特殊标签div标签span标签 什么是HTML&a…

数据分析实战 | SVM算法——病例自动诊断分析

目录 一、数据分析及对象 二、目的及分析任务 三、方法及工具 四、数据读入 五、数据理解 六、数据准备 七、模型训练 八、模型应用及评价 一、数据分析及对象 CSV文件——“bc_data.csv” 数据集链接&#xff1a;https://download.csdn.net/download/m0_70452407/88…

数据结构与算法C语言版学习笔记(6)-树、二叉树、赫夫曼树

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、树的定义1.结点的度、树的度2.结点的逻辑关系3.树的深度4.有序树和无序树5.森林 二、树的存储结构&#xff08;1&#xff09;双亲表示法&#xff08;2&…

k8s集群搭建(ubuntu 20.04 + k8s 1.28.3 + calico + containerd1.7.8)

环境&需求 服务器&#xff1a; 10.235.165.21 k8s-master 10.235.165.22 k8s-slave1 10.235.165.23 k8s-slave2OS版本&#xff1a; rootvms131:~# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.5 LTS Release: …

Python数据容器(序列操作)

序列 1.什么是序列 序列是指&#xff1a;内容连续、有序。可以使用下标索引的一类数据容器 列表、元组、字符串。均可以视为序列 2.序列的常用操作 - 切片 语法&#xff1a;序列[起始下标:结束下标:步长]起始下标表示从何处开始&#xff0c;可以留空&#xff0c;留空视作从…

Libhybris之线程局部存储TLS实例(五)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

基于php+thinkphp的网上书店购物商城系统

运行环境 开发语言&#xff1a;PHP 数据库:MYSQL数据库 应用服务:apache服务器 使用框架:ThinkPHPvue 开发工具:VScode/Dreamweaver/PhpStorm等均可 项目简介 系统主要分为管理员和用户二部分&#xff0c;管理员主要功能包括&#xff1a;首页、个人中心、用户管理、图书分类…

问卷调查表单、表设计

一、DWSurvey实现&#xff1a; 参考文档&#xff1a;快速入门 | 调问开源问卷系统 管理员通过拖拽题型生成表单&#xff0c; 点击保存&#xff0c;预览&#xff0c;发布问卷。用户根据预览的地址&#xff0c;填写问卷提交。管理员可以在我的问卷里看到答卷情况。 关于数据存…

PCL安装与使用

1 apt安装 ubuntu20.04及以上版本下可以直接通过apt方式安装pcl编译好的二进制文件,二进制安装的版本为1.10。 sudo apt update sudo apt install libpcl-dev 2 源码安装 在pcl的github上下载对应的版本进行安装&#xff1a; https://github.com/PointCloudLibrary/pcl/rel…

Cut and Reorder

题目传送门 引 复杂度没算对导致不敢写&#xff0c;分析复杂度时还是多考虑势能&#xff0c;不然错过正解就亏了 解法 操作一可以一开始就做了 考虑状压 m a s k mask mask 是已加入序列的元素 转移枚举一段连续的区间即可 复杂度乍眼一看是 O ( n 2 2 n ) O(n^22^n) O(…

5G网络切片,到底是什么?

网络切片&#xff0c;是5G引入的一个全新概念。 一看到切片&#xff0c;首先想到的&#xff0c;必然是把一个完整的东西切成薄片。于是&#xff0c;切面包或者切西瓜这样的画面&#xff0c;映入脑海。 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 然而…

找工作去哪个网站比较好

吉鹿力招聘网是一个专注于互联网岗位求职招聘的网站&#xff0c;提供海量的互联网人才储备。它主要覆盖了互联网类招聘&#xff0c;包括技术、产品、设计、运营、市场、销售等。吉鹿力招聘网的特点是用户量大&#xff0c;需求旺盛。如果你希望找工作&#xff0c;吉鹿力招聘网是…

Leetcode_46:全排列

题目描述&#xff1a; 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2&#xff1a; 输…