2015-01-21 3 views
0

Я начал просматривать документы и начинать понимать докеры. Создал изображение с использованием официального изображения tomcat: 7-jre7 и запустил войну в соответствующем месте, и она начала/прекратилась.Как обновить военные файлы в контейнере docker tomcat

Мой файл для справки является:

FROM tomcat:7-jre7 
    MAINTAINER: me, [email protected] 
    ADD app.war /usr/local/tomcat/webapps 
    EXPOSE 8080 
    CMD ["catalina.sh", "run"] 

Теперь, вот и все хорошо у меня есть два вопроса:

  1. В случае что-то плохое, я могу SSH в и посмотреть на лог-файлы или что нибудь?
  2. Как обновить файл войны? Есть ли способ ssh/scp создать новый файл?

До сих пор я пытался начать исходное изображение, выполнив:

docker run -t <_id> /bin/bash 

, а затем делать присоединять, как показано ниже с другой сессии, но didnt'r делать - все, что я видел, было черный экран.

docker attach <running_container_id> 

Другой способ (непроверенные) я думал о том, чтобы разделить файл с хоста - надеюсь, обновляя архив войны вызовет кот перебросить войну файл? Кто-нибудь пытался это сделать?

Есть ли более простой способ сделать это?

Спасибо за любой вклад, оцените его.

+1

Я думаю, идея состоит в том, что выход журнала передается на хост (или syslogd или что-то еще за пределами контейнера), и что вы обновляете WAR, восстанавливая изображение докера. – Thilo

+0

А, я вижу. Итак, какое-то время простоя, а затем сервис идет как обычно? В исходном сеансе, который я запускаю докере, я могу видеть журналы - поэтому я не слишком беспокоюсь об этом, но обновление материала было бы важным. – Josh

+0

Re: время простоя: я думаю, идея состоит в том, чтобы начать новый контейнер, пока старый все еще работает, укажите веб-прокси на новый, а затем выключите старый. – Thilo

ответ

0

У вас есть несколько вариантов, в зависимости от того, что вы хотите сделать. Самый простой вариант - просто, чтобы папка для вашего встроенного военного файла также содержала Dockerfile, который у вас выше. Затем, всякий раз, когда файл войны обновляется, начинайте выполнение сборки докеров и докеров. Это может быть легко автоматизировано с рис, а также, с чем-то вроде:

tomcat: 
    build: ./war 

Теперь просто запустите fig up всякий раз, когда изменения в файл WAR и ваш новый контейнер будут построены, из Dockerfile в папке war и побежали.

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