docker调用tcpdump报错: error while loading shared libraries: libcrypto.so.10:

首先我通过以下命令尝试将tcpdump拷贝到Docker容器中

docker cp /usr/sbin/tcpdump 这里填容器id:/usr/sbin
docker cp /lib64/libpcap.so.1 这里填容器id:/lib64/
docker cp /lib64/libpcap.so.1.5.3 这里填容器id:/lib64`

然后进入容器内部,执行tcpdump命令后报错:

docker tcpdump: error while loading shared libraries: libcrypto.so.10:

google后找到解决办法:Docker所在主机运行以下命令

ll /lib64/libcrypto.so.1*

看看是否libcrypto.so.10存在软连接:
在这里插入图片描述
比如如图表示libcrypto.so.10是软连接,真正的文件是libcrypto.so.1.0.2k 。

那么直接将这个文件拷贝到容器即可:

docker cp /lib64/libcrypto.so.1.0.2k 容器id:/lib64/libcrypto.so.10

接着执行tcpdump命令后又报错:

tcpdump: Couldn't find user 'tcpdump'

通过这个方法解决该问题:在容器内部输入命令:

cat >> /etc/passwd

输入:

tcpdump:x:72:72::/:/sbin/nologin

(72存在,就使用 1~499 范围内的其他数字)

然后ctrl+D退出编辑。

现在tcpdump就能在容器内就能正常使用了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值