2016-06-01 2 views
0

Я попытался запуска службы с помощью chat.service блока файла на CoreOS и не удалось:CoreOS Unit Failed на Запущенный

// chat.service 
[Unit] 
Description=ChatApp 

[Service] 
ExecStartPre=-/usr/bin/docker kill simplechat1 
ExecStartPre=-/usr/bin/docker rm simplechat1 
ExecStartPre=-/usr/bin/docker pull jochasinga/socketio-chat 
ExecStart=/usr/bin/docker run -p 3000:3000 --name simplechat1 jochasinga/socketio-chat 

fleetctl list-units шоу:

UNIT   MACHINE      ACTIVE SUB 
chat.service cfe13a03.../<virtual-ip> failed failed 

Однако, если я изменил chat.service просто :

// chat.service 
[Service] 
ExecStart=/usr/bin/docker run -p 3000:3000 <mydockerhubuser>/socketio-chat 

Все прошло отлично. fleetctl list-units показывает:

UNIT   MACHINE      ACTIVE SUB 
chat.service 8df7b42d.../<virtual-ip> active running 

EDIT Использование journalctl -u chat.service я получил:

Jun 02 00:02:47 core-01 systemd[1]: Started chat.service. 
Jun 02 00:02:47 core-01 systemd[1]: chat.service: Main process exited, code=exited, status=125/n/a 
Jun 02 00:02:47 core-01 docker[8924]: docker: Error response from daemon: failed to create endpoint clever_tesla on network brid 
Jun 02 00:02:47 core-01 systemd[1]: chat.service: Unit entered failed state. 
Jun 02 00:02:47 core-01 systemd[1]: chat.service: Failed with result 'exit-code'. 
Jun 02 00:02:58 core-01 systemd[1]: Stopped chat.service. 
Jun 02 00:03:08 core-01 systemd[1]: Stopped chat.service. 

Что я сделал неправильно в первом chat.service единичном файле? Любые рекомендации приветствуются.

Запуск Vagrant version of CoreOS (stable) на Mac OS X.

ответ

1

Ваш ExecStartPre = команда, кажется, не имеют Docker субкоманду в нем. Вы имели в виду использовать pull?

Чтение журнала для устройства вы должны получить более подробную информацию: journactl -u chat.service

+0

Данг это была глупая ошибка. Позвольте мне исправить это и посмотреть, работает ли он, и я вернусь. Спасибо за совет журнала. – PieOhPah

+0

Кажется, проблема была не в недостатке 'pull'. Я обновил файл блока и добавил журнал 'journalctl'. С первой версией 'chat.service' она, похоже, терпит неудачу с сигналом. – PieOhPah

0

После просмотра в журнале с помощью @Rob предложения и некоторые исследования, кажется, что грузчик не может создать конечную точку в порту 3000, потому что на на этом порту был запущен процесс докеров.

Просто остановите процесс с помощью docker stop <processname> и перезапустите его с помощью fleetctl start chat.

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