2015-07-26 27 views
5

İki konteynere sahibim, birincisi redis ve ikincisi benim redis kabına sahip olan app'ım. Her ikisi de restart policies vardır: Sonra sudo service docker stop ve sonra sudo service docker start sadece Redis konteyner başlatılırNeden Docker konteyner --link ve yeniden başlatma politikası başlatılmıyor?

docker run --restart=on-failure:10 --name redis redis 
docker run --restart=on-failure:10 --name app --link redis app 

. BTW, uygulama kabında --link yoksa da başlamıştır.

Benim Docker sürüm 1.7.1 olduğunu.

[email protected]:~$ 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 

cevap

1

Bunun yerine --restart:always kullanmayı denediniz mi?

app konteynerinizin, docker stop sırasında başarıyla sonlandırıldığı için yeniden başlatılmadığını varsayalım. redis, bir hata nedeniyle yeniden başlatılabilir (redis konteyner için docker logs'a baktınız mı?). Bu durumda, --restart:on-failure:10 belirtildiğinde, yalnızca redis başarısız olduğu için tasarlandığı şekilde çalışır. aynı sonucu -

+0

I --restart = always' 'çalıştı. – starikovs

+0

O zaman neden "--link redis" öğesini kaldırırsam uygulama konteyneri başlatılsın mı? Bence bir hata varsa, davranış '--link' 'e bağlı olmaz .. – starikovs

+2

Son olarak, sorun kaplarda oldu. Eğer '--restart = her zaman' 'sudo servis docker durduktan sonra' ve 'sudo service docker start'ı kullanırsam, kaplar başlatılır. Ama ben serseri kullanıyorum ve 'vagrant durduktan sonra' ve daha sonra 'vagrant up' bazı konteynerler docker hizmeti başladıktan sonra paylaşılan klasörleri paylaşılan dosyalar nedeniyle durduruldu. Bu nedenle, vagrant paylaşılan klasöre bağlı birimler kullanan kapsayıcılar şu anda herhangi bir dosya olmadığından başlatılamıyor. – starikovs

İlgili konular