我有两个容器,第一个是redis,第二个是我的应用程序,它有--link to redis容器。他们都有restart policies:
docker run --restart=on-failure:10 --name redis redis
docker run --restart=on-failure:10 --name app --link redis app
然后当我sudo service docker stop
然后sudo service docker start
时,只启动redis容器。顺便说一句,如果应用容器中没有 - 链接,它也会启动。
我的Docker版本是1.7.1。
vagrant@vagrant-ubuntu-trusty-64:~$ docker version
Client version: 1.7.1
Client API version: 1.19
Go version (client): go1.4.2
Git commit (client): 786b29d
OS/Arch (client): linux/amd64
Server version: 1.7.1
Server API version: 1.19
Go version (server): go1.4.2
Git commit (server): 786b29d
OS/Arch (server): linux/amd64
答案 0 :(得分:1)
您是否已尝试使用--restart:always
?
我认为您的app
容器未重新启动,因为它在docker stop
期间成功结束。由于错误,您可能会重新启动redis
(您是否查看了docker logs
容器的redis
?)。因此,当您在该情况下指定--restart:on-failure:10
时,它将按设计运行,因为只有redis
失败。