如何将docker容器置于错误状态?

时间:2016-10-20 20:23:17

标签: docker

我喜欢将Docker容器放入错误状态以便对容器错误进行一些测试的一致方法。

当我在码头工具集线器上看到bantl23/error时,我很有希望,但它开心并没有错误。

1 个答案:

答案 0 :(得分:0)

我喜欢容器的想法,你可以根据需要从外部导致失败 - R0MANARMY的观点是有效的 - Docker监视它启动的进程,如果进程退出则容器进入Exited状态,实际上没有错误状态的概念。

话虽如此,如果你想测试一个Exited容器,那么你提到的图像确实有效,但它是有限的 - 它运行,等待10秒然后退出:

docker run -d bantl23/error

如果你想要一些你可以从外面控制的东西,我会把一个非常简单的图像放在一起 - sixeyed/bad-server。这是一个HTTP服务器,您可以通过点击http://ip:8080/err

强制进入错误状态
> docker run -d -p 80:8080 sixeyed/bad-server
8b4bd7ffd96d543c9b51c7709267894d2bc75daa99ea80250d5e7846f98a6526                                                                         
> docker logs -f 8b4
+ exec app
Listening on port 8080                                                                                                        
Responding to path:
test                                                                                 
err!
> docker ps --all
CONTAINER ID        IMAGE                COMMAND             CREATED             STATUS                        PORTS               NAMES
8b4bd7ffd96d        sixeyed/bad-server   "go-wrapper run"    37 seconds ago      Exited (1) 10 seconds ago                         fervent_hawking

logs正在运行时,我点击http://localhost/test然后http://localhost/err - 这导致容器退出。