docker制作hiredis环境:libhiredis.so.0.13: cannot open shared object file
最近制作docker镜像的时候有c++连接redis的需求,所以必须要制作包含hiredis的环境。
在linux上的操作步骤
1、从git上下载hiredis
https://github.com/redis/hiredis.git
2、安装
cd hiredis
make && make install
echo '/usr/local/lib' >>/etc/ld.so.conf
ldconfig
运行完上面指令后就完成了hiredis环境的部署。
现在将其制作成docker镜像的环境
环境说明
- 基础镜像 centos7
- hiredis
制作Dockerfile
dockerfile起名为hiredisdockerfile,内容如下:
FROM centos:7MAINTAINER pkkRUN echo "create /opt/app"RUN mkdir /opt/appRUN echo "add project"COPY . /opt/app/WORKDIR /opt/app/hiredisRUN make && make installRUN echo '/usr/local/lib' >>/etc/ld.so.confRUN ldconfigCMD ["run your application"]
正常情况下做这么多就够了,但是运行的时候会出现没有make指令的错误,所以还需要安装make;
FROM centos:7MAINTAINER pkkRUN echo "create /opt/app"RUN mkdir /opt/appRUN echo "add project"COPY . /opt/app/WORKDIR /opt/app/hiredisRUN yum -y install gcc automake autoconf libtool makeRUN make && make installRUN echo '/usr/local/lib' >>/etc/ld.so.confRUN ldconfigCMD ["run your application"]
上面的 RUN yum -y install gcc automake autoconf libtool make 提供了make环境。
hiredis文件要和hiredisdockerfile同级目录
到这里hiredis环境的docker环境就制作OK了。
但是这种方式需要安装make环境,还需要整个hiredis,下面给出一种稍微简洁些的方式
其实hiredis环境只需要 hiredis.h 和 libhiredis.so 这两个编译后的文件,将其配置进docker镜像中即可。这样就不用把整个hiredis文件拷贝进镜像,也不用安装make。
先在宿主主机上的hiredis目录下执行make && make install指令,生成libhiredis.so。
两个文件对应位置:
- libhiredis.so → /usr/local/lib
- hiredis.h → /usr/local/include/hiredis
其中/usr/local/include/hiredis这个目录是不存在的,所以需要创建,现在dockerfile中的内容如下:
FROM centos:7MAINTAINER pkkRUN echo "create /opt/app"RUN mkdir /opt/appRUN echo "add project"COPY . /opt/app/WORKDIR /opt/appRUN cp libhiredis.so /usr/local/libRUN mkdir /usr/local/include/hiredisRUN cp hiredis.h /usr/local/include/hiredisRUN echo '/usr/local/lib' >>/etc/ld.so.confRUN ldconfigCMD ["run your application"]
一个简洁的hiredis环境制作OK。
docker制作hiredis环境:libhiredis.so.0.13: cannot open shared object file相关推荐
- libhiredis.so.0.13: cannot open shared object file: No such file or directory in Unknown on line
vim /etc/ld.so.conf 添加 /usr/local/lib (此处为动态链接库的目录) ldconfig 转载于:https://www.cnblogs.com/dongbo/p/83 ...
- mysql8.0.13安装不_Windows环境下MySql8.0.13的安装及常见问题解决方案
Windows环境下MySql8.0.13的安装及常见问题解决方案 目录 一.引文 二.下载地址 三.安装步骤 3.1.文件解压 3.2.新建并修改my.ini文件 3.3.配置环境变量 3.4.以管 ...
- linux环境下可执行文件,提示libboost_thread.so.1.71.0: cannot open shared object file: No such file or directory
在linux环境下执行可执行文件时,提示这个错误error while loading shared libraries: libboost_thread.so.1.71.0: cannot open ...
- tensorflow-gpu版本出现libcublas.so.8.0:cannot open shared object file
文章主要参考以下博客https://www.aliyun.com/zixun/wenji/1289957.html 在利用GPU加速tensorflow时,出现了libcublas.so.8.0:ca ...
- libpython3.7m.so.1.0: cannot open shared object file: No such file or directory
安装完python3.7.5之后,pip3.7.5 install psutil --user 报错: libpython3.7m.so.1.0: cannot open shared object ...
- ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory
ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory 出现这个问题的原因, ...
- Ubuntu: Eclipse Tensorflow不能加载CUDA( libcublas.so.10.0:cannot open shared object file:No such file )
文章链接:https://blog.csdn.net/chekongfu/article/details/85177424 bash环境可以使用tensorflow,但eclipse不能使用.显示:l ...
- SecureCRT出现 libpython2.7.so.1.0: cannot open shared object file
环境: 组件/系统 版本 Ubuntu 20.04 SecureCRT 7.3.3(build 779) /usr/bin/SecureCRT ImportError: libpython2.7.s ...
- RAC srvctl 命令报 libpthread.so.0 cannot open shared object file No such file or directory 解决方法...
运行srvctl 命令报错: [oracle@rac1 u01]$ srvctl remove asm -n rac1 /u01/app/oracle/product/10.2.0/db_1/jdk/ ...
最新文章
- 【Python】Python中令人头疼的变量作用域问题,终于弄清楚了
- Sequence在Oracle中的使用
- 单链表C/C++实现(数据结构严蔚敏)
- BZOJ4881 线段游戏(二分图+树状数组/动态规划+线段树)
- 数学难题html5小游戏答案,小学数学难题讲解及答案
- 爱因斯坦谈教育,放在首位的该是什么?
- C语言 数组排序 – 选择法排序 - C语言零基础入门教程
- linux六个标准目录,Linux基本目录规范——XDG
- 2021-04-04 CPU缓存一致性 MESI协议
- Python 列表 min() 方法
- 2021年4月蓝桥杯软件类省赛:题目+解析(完整版)
- 32位计算机怎么安装ps,我可以在64位系统上安装32位Photoshop吗?
- AD快捷键的设置及推荐
- 抢菜捡漏工具(PrintScreenCatchImg)
- 求 Fibonacci 数列的前 20 项
- 快手火山抖音视频(包含其他视频)跨平台操作搬运,下载,消重,全自动操作解放双手...
- 基于单片机的自动分拣小车的设计--毕业设计参考
- 美格信-理解串扰Crosstalk
- 数据挖掘课笔记(七)
- vivoNEX3s版本服务器无响应,屡次误判形势?vivo NEX3S逐渐无人问津,或许已遇到瓶颈!...