Docker Toolbox 安装的docker,怎么在kafka容器中运用crontab

想要将kafka容器的日志定时备份,以docker可以用apt-get安装cron,
但在kafka中,docker exec 进去却是bash-4.4#,没有apt-get命令,该怎样给kafka安装
crontab.
图片说明

参考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服务即可。

具体步骤如下:

  1. 在宿主机上安装cron:sudo apt-get install cron

  2. 编辑crontab配置文件:sudo crontab -e

  3. 在配置文件中添加定时备份的命令,例如每天晚上10点备份kafka.log文件到/tmp目录下:

0 22 * * * cp /path/to/kafka.log /tmp/kafka.log.backup

  1. 保存配置文件并退出。

  2. 为kafka容器创建一个volume:

docker volume create my-cron

  1. 启动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名称。

  1. 进入容器中并启动cron服务:

docker exec -it kafka bash
service cron start

至此,定时备份的任务已经配置完成。当容器中的cron服务运行时,将会按照配置文件中的时间间隔自动执行备份任务,并将备份文件保存到挂载的volume中,可以在宿主机上的指定目录中查看到备份文件。