1

Я создаю много приложений, которые я хочу использовать на удаленных серверах в контейнерах докеров. Представьте, что я создал проект foo, и я написал Dockerfile для него. Я создаю это изображение на своем локальном хосте и запускаю его в контейнере. Все работает нормально, я хочу запустить контейнер с тем же изображением на удаленной машине. Теперь я имею следующие способы:Push-изображение против здания на самой системе, докер

  1. я могу опубликовать его на dockerhub, но изображение не мало, я не хочу ждать каждый раз, когда изображение меняется (я сделал некоторые исправления). Так что это не очень хороший вариант для меня.
  2. Я могу создать частный сервер на локальной сети , где находятся мои серверы производства. Этот способ намного лучше, , потому что скорость соединения высока, и это мое независимое репо. Но очень сложно настроить частный репозиторий для докеров из-за https. Вам также нужно добавить - insecure для каждого демона. Вы должны использовать docker-клиент, построить свою собственную систему, пометить ее, логин и нажать. Слишком много шагов ...
  3. Я нашел другой способ. Я архивирую мое приложение с dockerfile в tar.gz, загружаю его на удаленный сервер (nexus 3, raw repository), а затем настраиваем Jenkins для загрузки этого архива и запускаем команду сборки docker. Это также не очень удобно, мне приходится каждый раз создавать задания для каждого изображения, задания равны, а URL-адреса и имена разные. Я также запускаю контейнер с дженкинсами, это правильно или я использую что-то вроде куберне?

Вы можете поделиться своими впечатлениями о том, как вы решаете проблемы, подобные описанным выше? Я делаю это правильно или это плохая практика?

ответ

1

Поместите код в git-сервер, github, stash и т. Д., Получите jenkins, чтобы определить, когда код изменился, его создать, а затем развернуть на сервере и, если его хорошая загрузка в nexus.

Вы можете назвать изображение любым, например. version- {auto-incrementedNumber}, установите это как переменную, а затем используйте одну и ту же переменную, чтобы указать архив при загрузке.

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