如何保持docker容器正常运行?

时间:2016-04-12 11:12:23

标签: docker

这是我的简单泊坞文件

FROM java:8
EXPOSE 4000

现在当我使用以下命令运行它时

sudo docker run --name hello dockerfile

并执行docker ps -a它会将状态显示为已退出。我只想保持这个容器运行,所以我可以ssh到这个容器,可能传输文件,等等。看起来容器主要用于运行服务器,我是否正确?

2 个答案:

答案 0 :(得分:5)

你至少可以使用jQuery(document).ready( function($) { $('tr#post-65 span.inline a.editinline').click(function() { var interval = setInterval(function(){ if($('tr#edit-65').length) { $('tr#edit-65').addClass('someclass'); clearInterval(interval ); } }, 500); }); }); 这样的容器来保持你的容器,但正如RenéM所说,你应该在你的CMD或ENTRYPOINT中放入你的Dockerfile,请参阅文档

https://docs.docker.com/engine/reference/builder/#cmd

https://docs.docker.com/engine/reference/builder/#entrypoint

答案 1 :(得分:3)

这很简单。 因为你的容器没有运行任何持续时间。发生的事情是,这个容器启动,无所事事并停止。

你能做的是:

  1. 以附加的tty以交互模式运行容器。这样你的控制台在启动后进入容器,然后让他运行一个tty,这是可以做的事情,并预防容器停止运行。然后,您可以在此容器内部工作,例如安装应用程序。这样做,你的工作将在停止容器后丢失。但是你可以在该容器上运行docker commit,这会使你的更改持久化。
  2.   

    docker run -i -t --name hello dockerfile

    1. 使用有用的东西增强您的dockerfile。就像将容器中的应用程序复制到容器中并提供运行CMD命令一样。 在此之后,只要您的CMD命令运行,容器就会持续。如果该命令是服务器或deamon应用程序,则容器将永久使用,并且只有在您阻止它时才会停止。