Создание контейнера докера от capistrano развертывается

У меня есть что-то вроде трудного времени, понимая, как я могу усилить свой существующий код инфраструктуры с Докером.

У меня есть приложение Ruby on Rails, которое использует capistrano для выставления развертывания. Я хочу использовать этот capistrano сценарий для создания нового изображения докера. Я могу выставить развертывание и затем использовать развернутый на каталоге для развертывания сверху существующего изображения, говорят, точный (так как это соответствует моей целевой ОС).

Это было бы правильным подходом, или я пропускаю что-то?

6
задан 5 March 2014 в 17:53
2 ответа

Обычно в Docker предпочтительным способом развертывания приложения в контейнере является dockerfile , который может заменить роль сценария capistrano, в основном выполняя команды в контейнере. (установите пакеты, выполните git clone, запустите службы и приложения и т. д.).

Вы определяете файл докера с контейнером базового образа и списком команд для выполнения, а затем создаете свой контейнер следующим образом:

docker build {{your_repository_containing_dockerfile}}

Таким образом, вы можете переведите свой сценарий capistrano в файл докеров и замените развертывание Capistrano на развертывание Docker.

0
ответ дан 3 December 2019 в 00:45

@EightyEight

Docker və Jenkins istifadə edərək yerləşdirmələri edirik. Kodumuzu sərbəst buraxmaq və işə salmaq istədiyimiz vaxta qədər hər zaman dockerdan kənarda qalırıq.

Tətbiqi yerləşdirmək istədiyiniz bütün serverlərdə / nümunələrdə Docker Image-yə sahib olmalısınız.

Tamamını etməlisiniz. iki addımda yerləşdirmə.

1) Capistrano-da yerləşdirmək istədiyiniz etiket / qol tətbiqi üçün bir paket (tar və ya gz) hazırlamaq üçün bir işiniz olsun.

2) Həqiqi yerləşdirmələri yerinə yetirmək üçün başqa bir işə sahib olun. aşağıdakı addımlarla:

i) Tətbiqi yerləşdirmək istədiyiniz bütün serverlərə paketi itələyin və paketi açın.

ii) Hər hansı bir konteyner artıq eyni tətbiq üçün işləyirsə dayandırın və konteyner ilə üzərinə uyğun qab və kod quraşdırılmışdır.

Məsələn docker run -d -p 8000: 8000 -v / path / to / the / tag: / deployment / path / inside / docker --name (NameOfContainer) --env TERM = xterm accountid / imagename: version

0
ответ дан 3 December 2019 в 00:45

Теги

Похожие вопросы