Docker容器崩溃 - 之后有问题的管理容器

时间:2017-10-25 07:49:45

标签: docker go containers

我跑:

  • docker:Docker版本17.03.0-ce,build 60ccb22
  • linux:Ubuntu 16.04.2 LTS

Docker容器中的图像运行一些golang应用程序,(我发现这知道)并没有正确处理错误。对于像我这样的情况,我应该包括os.Exit(1)以进行错误检查。

我使用

之类的命令运行/启动docker容器

docker run -it --restart=always --env-file ~/PRODUCTION/services/resolvment_api/.environmet_variables -p 8081:3003 --name resolvment_2 -d resolvment-api

好的,那么看起来在应用级别的docker容器中发生错误。此时,docker / docker容器发生了一些奇怪的事情。

如果我docker ps我可以看到

2e7b02258647 resolvment-api "/bin/sh -c $GOBIN..." 9 days ago Up 37 hours 0.0.0.0:8081->3003/tcp resolvment_2

  1. 我可以docker logs 2e7b02258647查看日志。

  2. 如果我尝试docker stop 2e7b02258647,我会在下一行获得容器ID,就像您成功停止容器一样。然后,如果我再次docker ps ...我仍然可以看到那里列出的docker容器(具有相同的id)?!

  3. 如果我尝试用docker rm -f 2e7b02258647强行删除容器,我会收到错误消息 Error response from daemon: Unable to remove filesystem for 2e7b02258647ec357fd1beb0083ad678eb381474f1315b3e524d318472c5f061: remove /var/lib/docker/containers/2e7b02258647ec357fd1beb0083ad678eb381474f1315b3e524d318472c5f061/shm: device or resource busy 但在docker ps下不再列出泊坞窗容器。

  4. 然后我想用命令docker run -it --restart=always --env-file ~/PRODUCTION/services/resolvment_api/.enviroment_variables -p 8081:3003 --name resolvment_2 -d resolvment-api

  5. 再次添加/重启容器

    我得到的错误是:fc174f65cc34a2573563729acfe11436370ab08965be553e682d82e7af06b236 docker: Error response from daemon: service endpoint with name resolvment_2 already exists.

    所以我做docker rm resolvment_2,并尝试重新开始...但同样的错误。

    如果我把-f与rm命令放在一起...也没有帮助。

    所以,rm / run / rm / run ....走在圈子里......没有帮助。

    我无法重新启动docker守护程序,因为很少有其他容器在运行。

    真的会对此提供一些帮助。

    最佳, 托马日

0 个答案:

没有答案