2015-07-26 5 views
5

У меня есть два контейнера, первый - redis, а второй - мое приложение, которое имеет ссылку на redis-контейнер. Они оба имеют restart policies:Почему контейнер Docker с политикой -link и restart не запущен?

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 контейнер. BTW, если в контейнере приложения нет ссылки, он также запущен.

My Docker version - 1.7.1.

[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 

ответ

1

Вы уже пытались использовать --restart:always?

Я предполагаю, что ваш контейнер app не перезапускается, так как он успешно закончился во время docker stop. redis может быть перезапущен из-за ошибки (вы видели docker logs для контейнера redis?). Поэтому, когда вы укажете --restart:on-failure:10 в этой ситуации, он будет работать так, как было разработано, потому что только redis терпел неудачу.

+0

Я пробовал '--restart = always' - тот же результат. – starikovs

+0

Тогда почему мой контейнер приложения запущен, если я удаляю '--link redis'? Я думаю, что если будет ошибка, поведение не будет зависеть от '--link'. – starikovs

+2

Наконец, да, проблема была в контейнерах. Если я использую '--restart = always', то после' sudo service docker stop', а затем 'sudo service docker start', контейнеры запускаются ОК. Но я использую бродягу и после «бродяги», а затем «бродяга», некоторые контейнеры останавливаются, из-за бродячих монтируемых общих папок после запуска службы докеров. Таким образом, контейнеры, которые используют тома, связанные с общей папкой с бродягой, не могут запускаться, потому что на данный момент нет файлов. – starikovs

Смежные вопросы