Docker是一个方便快捷的虚拟化平台,其中有一个重要的目录就是/tmp目录。
临时目录/tmp被Docker设计为用于存储临时数据的默认位置,这个目录是由内核提供的。/tmp 可以被多个容器进行共享,但是不同的容器之间是不隔离的,这意味着/tmp中的数据是可以被其它容器或者宿主机访问的。
docker run --rm -it \ --volume /tmp:/tmp \ busybox \ /bin/sh
这个命令可以让你在busybox容器中访问/tmp目录,并且在你退出容器时自动删除容器。这里的--volume选项将主机的/tmp目录挂载到容器中。
为了保持/tmp目录的干净,我们需要设置一个job来自动清理/tmp目录,并且加上一个有效期限制来删除过期文件。
docker run --rm -it \ --volume /tmp:/tmp \ alpine \ /bin/sh -c 'find /tmp -mtime +1 -type f -delete'
这个命令在alpine容器中以/bin/sh的方式运行一个任务,找到所有超过1天没用的文件并删除它们。因为我们挂载了主机的/tmp目录,所以当容器运行完毕后,它会自动删除。