我喜欢将Docker容器放入错误状态以便对容器错误进行一些测试的一致方法。
当我在码头工具集线器上看到bantl23/error
时,我很有希望,但它开心并没有错误。
答案 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
- 这导致容器退出。