Docker busybox立即退出

我正在尝试创build一个busybox docker镜像来保存我的rails应用程序的日志,包括nginx和unicorn日志。 为了创build该容器,我使用以下命令:

docker run --name app-logs -v /logs busybox /bin/sh 

但是,创build的容器会立即退出,并显示代码0:

 $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 75e2f2efdc77 busybox "/bin/sh" 6 seconds ago Exited (0) 4 seconds ago app-logs 

命令docker日志不给任何输出,我不能找出问题是什么。

提前致谢。

如果你想使用shell,你需要在前台运行docker 。

 -t=false : Allocate a pseudo-tty -i=false : Keep STDIN open even if not attached 

所以

 docker run -ti --name app-logs -v /logs busybox /bin/sh 

数据+卷

如果你想保留一个叫做数据容器的容器 ,你至less需要一个容器来引用这个容器。 没有必要保持运行。 一个退出的容器仍然保存在你的系统上( docker ps -a )。

 docker run --name app-logs -v /logs busybox /bin/true 

然后,您可以从您的应用程序容器中安装数据容器卷

  docker run -d --volumes-from app-logs --name app busybox ruby yourapp.rb 

实现这一目标的另一种方式是通过在任何地方安装主机卷来使用主机来存储数据

 docker run --name app -v /logs:/logs busybox ruby yourapp.rb 

我发现在docker外部的主机上存储数据是有利的,因为docker存储有问题。 我可以将所有的docker数据打散并重新开始,并轻松地保存并重新安装存储在主机上的所有有状态/应用程序数据。