我准备了这样的搬运工,compose.yml如何在docker-compose中为`restart:on-failure`通知错误?
server:
build: server
restart: on-failure
而且,我想从shell脚本发送错误的容器内,以重新启动容器。 我该怎么做?
我准备了这样的搬运工,compose.yml如何在docker-compose中为`restart:on-failure`通知错误?
server:
build: server
restart: on-failure
而且,我想从shell脚本发送错误的容器内,以重新启动容器。 我该怎么做?
容器不是虚拟机,它们是流程(以一种思维方式)。因此,容器内的OS重新启动没有意义,因此不可能。一个杀死,停止或重新启动容器,例如
docker stop CONTAINER
docker kill CONTAINER
docker restart CONTAINER
在您的问题的上下文中,根据您的容器的具体情况,重新启动容器可能是最有意义的。
因此,我认为您的方案的最佳解决方案是在您的容器中安装/var/run/docker.sock
,并使用Docker API自行重新启动您的容器。
您可以在here中看到可帮助您的库和SDK列表。请务必在您的容器中安装特定的SDK以便使用它。
希望它有帮助。
谢谢伊曼, 我试过了,并从容器中调用API。 ''' curl --unix-socket /var/run/docker.sock -X POST http:/v1.30/containers/xxxxx/restart?t = 5 ''' 发生了那个错误。 ''' curl:option --unix-socket:未知 ''' – Harry
问题是你应该使用'-v'选项来挂载它。例如'docker run sth -v /var/run/docker.sock:/ var/run/docker.sock' @Harry。 – Iman
我正在使用docker-compose 然后像这样在volume指令中添加这样的 ' - /private/var/run/docker.sock:/ var/run/docker.sock'。 – Harry
默认情况下,它重新启动容器,这是什么意思? – Iman
在此容器上,正在运行shell脚本以检测某些内容。 我想通过shell脚本自己重新启动服务器容器。 – Harry
你的意思是你想重启容器? – Iman