最近制作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.hlibhiredis.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相关推荐

  1. 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 ...

  2. mysql8.0.13安装不_Windows环境下MySql8.0.13的安装及常见问题解决方案

    Windows环境下MySql8.0.13的安装及常见问题解决方案 目录 一.引文 二.下载地址 三.安装步骤 3.1.文件解压 3.2.新建并修改my.ini文件 3.3.配置环境变量 3.4.以管 ...

  3. 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 ...

  4. 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 ...

  5. 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 ...

  6. 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 出现这个问题的原因, ...

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

  8. 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 ...

  9. 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/ ...

最新文章

  1. 【Python】Python中令人头疼的变量作用域问题,终于弄清楚了
  2. Sequence在Oracle中的使用
  3. 单链表C/C++实现(数据结构严蔚敏)
  4. BZOJ4881 线段游戏(二分图+树状数组/动态规划+线段树)
  5. 数学难题html5小游戏答案,小学数学难题讲解及答案
  6. 爱因斯坦谈教育,放在首位的该是什么?
  7. C语言 数组排序 – 选择法排序 - C语言零基础入门教程
  8. linux六个标准目录,Linux基本目录规范——XDG
  9. 2021-04-04 CPU缓存一致性 MESI协议
  10. Python 列表 min() 方法
  11. 2021年4月蓝桥杯软件类省赛:题目+解析(完整版)
  12. 32位计算机怎么安装ps,我可以在64位系统上安装32位Photoshop吗?
  13. AD快捷键的设置及推荐
  14. 抢菜捡漏工具(PrintScreenCatchImg)
  15. 求 Fibonacci 数列的前 20 项
  16. 快手火山抖音视频(包含其他视频)跨平台操作搬运,下载,消重,全自动操作解放双手...
  17. 基于单片机的自动分拣小车的设计--毕业设计参考
  18. 美格信-理解串扰Crosstalk
  19. 数据挖掘课笔记(七)
  20. vivoNEX3s版本服务器无响应,屡次误判形势?vivo NEX3S逐渐无人问津,或许已遇到瓶颈!...

热门文章

  1. 技术教程 | 基于 Web 端的屏幕共享实践
  2. Kaggle八门神器(一):竞赛神器之XGBoost介绍
  3. Python使用Kt封装FFmpeg
  4. 浅谈经典大气辐射传输模型
  5. C语言 函数返回多个值方法
  6. 麦芽糖醇(CAS 585-88-6)的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  7. 千锋Android游戏开发基础视频教程-cocos2dMars版
  8. 2014 ChinaJoy落下帷幕 十大年度热门事件盘点
  9. 任务管理器Recent
  10. 10 个免费的网络监控工具