编辑
2024-10-25
学习记录
00
请注意,本文编写于 40 天前,最后修改于 37 天前,其中某些信息可能已经过时。

目录

前提
docker镜像挂载存储卷
修改java调用rsync命令

前提

有些场景下,我们需要在容器内部调用宿主机的命令,比如使用rsync给另外的机器发送图片,但是rsync安装在宿主机上,java直接执行rsync命令是会报错,提示找不到rsync命令

就拿rsync举例

docker镜像挂载存储卷

一般rsync的安装都是在 /usr/bin/rsync 所以我们需要挂载这个地址

-v /usr/bin/rsync:/usr/bin/rsync

只挂载这个地址会提示libpopt.so.0 缺失,还需要挂载配置文件

-v /usr/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu

完整的命令

docker run -v /usr/bin/rsync:/usr/bin/rsync -v /usr/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu -d --name test-app --restart always -p 3001:3001 --net sup-network test-app

修改java调用rsync命令

原来是

rsync -vzrtopg --progress --delete --chmod=755 /tmp/tempImg202410255916281385931068271.jpg 192.168.100.103::imagePull/20240929/M01300020240929001/

现在调整为

/usr/bin/rsync -vzrtopg --progress --delete --chmod=755 /tmp/tempImg202410255916281385931068271.jpg 192.168.100.103::imagePull/20240929/M01300020240929001/

本文作者:Weee

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!