互联网服务Docker

关于Exec Create API的问题

最近在调试remote API,对exec create 的表现感到困惑。
Map contaiterCmd = new HashMap();
contaiterCmd.put("AttachStdin", false);
contaiterCmd.put("AttachStdout", true);
contaiterCmd.put("AttachStderr", true);
contaiterCmd.put("Tty", true);
//停止
contaiterCmd.put("Cmd", new String[]{"/bin/bash", "-c", "/opt/system/tomcat7/bin/shutdown.sh"});
//启动
contaiterCmd.put("Cmd", new String[]{"/bin/bash", "-c", "/opt/system/tomcat7/bin/startup.sh"});

exec start 略。

问题来了,
我注意到docker.log里的日志:
[34mINFO[0m[2099960] POST /exec/7592c1ee5fdef58fb9b142634b20b4e21d242480d736fce965a63b35ec4a3bde/start
[34mINFO[0m[2099960] +job execStart(7592c1ee5fdef58fb9b142634b20b4e21d242480d736fce965a63b35ec4a3bde)
[34mINFO[0m[2099960] +job log(exec_start: /bin/bash -c /opt/system/tomcat7/bin/startup.sh, 233078ae97a6838046ca133b107bd2aed3e6ad304174be6173682a6a425f459f, usell:latest)
[34mINFO[0m[2099960] -job log(exec_start: /bin/bash -c /opt/system/tomcat7/bin/startup.sh, 233078ae97a6838046ca133b107bd2aed3e6ad304174be6173682a6a425f459f, usell:latest) = OK (0)
[34mINFO[0m[2099960] -job execStart(7592c1ee5fdef58fb9b142634b20b4e21d242480d736fce965a63b35ec4a3bde) = OK (0)

停止的没有放上去,也是OK(0)

我进入容器,发现一个问题:
shutdown.sh执行后,tomcat不再侦听端口,但是 ps -ef|grep tomcat7还在,这不科学。多测试几次,有时候还是可以停掉的。
另外,我换成kill 的形式将进程杀掉,停止是没问题了。
startup.sh却没有将tomcat7启动起来。

上面启动和停止命令是分别执行的,docker日志,都是上述 OK(0)

请大神们不吝赐教。
参与5

2同行回答

dl528888dl528888系统运维工程师游戏公司
如果你是使用dockerfile创建的,就把这个文件内容给我,我测试一下,然后给你结论显示全部
如果你是使用dockerfile创建的,就把这个文件内容给我,我测试一下,然后给你结论收起
互联网服务 · 2015-06-26
浏览1290
大力大力软件架构设计师携程
回复 2# dl528888   刚上来看了,很感谢你的回复!显示全部
回复 2# dl528888


  刚上来看了,很感谢你的回复!收起
互联网服务 · 2015-06-29
浏览1275

提问者

大力
软件架构设计师携程
擅长领域: 云计算私有云云管平台

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2015-06-26
  • 关注会员:1 人
  • 问题浏览:2692
  • 最近回答:2015-06-29
  • X社区推广