我跑:
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
我可以docker logs 2e7b02258647
查看日志。
如果我尝试docker stop 2e7b02258647
,我会在下一行获得容器ID,就像您成功停止容器一样。然后,如果我再次docker ps
...我仍然可以看到那里列出的docker容器(具有相同的id)?!
如果我尝试用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
下不再列出泊坞窗容器。
然后我想用命令docker run -it --restart=always --env-file ~/PRODUCTION/services/resolvment_api/.enviroment_variables -p 8081:3003 --name resolvment_2 -d resolvment-api
我得到的错误是: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守护程序,因为很少有其他容器在运行。
真的会对此提供一些帮助。
最佳, 托马日