想要将kafka容器的日志定时备份,以docker可以用apt-get安装cron,
但在kafka中,docker exec 进去却是bash-4.4#,没有apt-get命令,该怎样给kafka安装
crontab.
Docker Toolbox 安装的docker,怎么在kafka容器中运用crontab
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- lshen01 2023-03-15 18:37关注
参考GPT和自己的思路:
首先,Docker Toolbox是一种用于在Windows和Mac上运行Docker的工具集。它包含了Docker客户端、Docker Machine、Docker Compose和Kitematic等工具。关于Docker Toolbox的安装和使用可以参考官方文档进行操作。
接下来,关于在kafka容器中使用crontab,由于该容器中没有apt-get命令,因此无法通过该命令进行安装。不过可以先在宿主机上通过apt-get安装cron,并使用docker volume将宿主机上的crontab配置文件挂载到kafka容器中,在容器中启动cron服务即可。
具体步骤如下:
在宿主机上安装cron:sudo apt-get install cron
编辑crontab配置文件:sudo crontab -e
在配置文件中添加定时备份的命令,例如每天晚上10点备份kafka.log文件到/tmp目录下:
0 22 * * * cp /path/to/kafka.log /tmp/kafka.log.backup
保存配置文件并退出。
为kafka容器创建一个volume:
docker volume create my-cron
- 启动kafka容器并将刚刚创建的volume挂载到容器的指定目录中:
docker run -d --name kafka -v my-cron:/etc/cron.d -v /path/to/kafka:/kafka kafka-image
其中,kafka-image为kafka容器镜像名称,/path/to/kafka为宿主机上kafka.log文件所在路径,my-cron为创建的volume名称。
- 进入容器中并启动cron服务:
docker exec -it kafka bash
service cron start至此,定时备份的任务已经配置完成。当容器中的cron服务运行时,将会按照配置文件中的时间间隔自动执行备份任务,并将备份文件保存到挂载的volume中,可以在宿主机上的指定目录中查看到备份文件。
解决 无用评论 打赏 举报
悬赏问题
- ¥40 复杂的限制性的商函数处理
- ¥15 程序不包含适用于入口点的静态Main方法
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码