Ответы пользователя по тегу Docker
  • Как зайти в том Docker и изменить настройки?

    @sah4ez32
    software engineer
    В докере можно такую штуку сделай. Зайти в контейнер через docker exec -it CONTAINER_NAME /bin/bash, потом изменить нужный файл и сделать docker commit (вроде так) что сделает новый образ и он будет храниться у вас на хосте.
    НО! Это не правильно.
    Если своя разработка, то параметры правильнее передавать через ENV.
    А в вашем случае оптимальнее всего будет docker cp CONTAINER_NAME:/path/to/file /local/path/to/file
    Потом его отредактировать чем душе угодно. А потом его монтировать в контейнер при запуске в место где он должен быть. Такой вариант получается в меру гибким (хотя просаживать конфиги в контейнер зло). Если пойдете дальше (k8s и иже с ним), то проблемы только увеличатся. Для ознакомления советую почитать "12 факторов".
    Ответ написан
    Комментировать
  • Как обновить содержимое примонтированного volume в docker service?

    @sah4ez32
    software engineer
    Так вольюм оно как раз про это. Сохранение данных.
    Вопрос что у вас в вольюмах лежит. Можно попробовать запустить разовую джобу по миграции данных. В виде контейнера и списка команд.
    Но так же советую пересмотреть подходы к использованию докера.
    Ответ написан
    7 комментариев
  • Как правильно запустить в докере java приложение с Jetty и Mysql?

    @sah4ez32
    software engineer
    Вопрос зачем вам)
    Если поиграться локально в "песочнице". То наверное подойдут оба варианта.
    Если вы собираетесь в "продакшн", то наверное надо базу положить рядом и лучше не в докер, он не про это.
    Ответ написан
    Комментировать
  • Как правильно обрабатывать disconnect в микросервисах?

    @sah4ez32
    software engineer
    2й вариант однозначно.
    Для swarm режима есть опции (точно не вспомню название) которая позволяет обновлять сервисы не все разом, а частями (например репликаций 5, то можно обновлять по 2). Плюс есть вроде тайм-аут для этого дела. Посмотрите что-то из докладов Аруна Гупта про swarm, очень хорошо рассказывает.
    Также в пользу 2ого варианта, простота приложения. Не надо городить счётчики и прочее. Единственное, если в сервисе есть какое-то состояние, можно делать 1 попытку реконнекта и потом падать.
    Плюсом этого подхода будет наглядность при деградации какого-то сервиса. Условно, упала база упадут и все сервисы с ней работающие и это будет заметно. А если реконнект внутри сервиса, то это уже не будет наглядно и надо будет дебажить и лезть в логи.
    Ответ написан
    Комментировать
  • Как обойти дублирование таблиц, при запуске приложения в контейнере?

    @sah4ez32
    software engineer
    Из описанного могу предложить два варианта:
    1. Создать новую бд на базе офф контейнера, запустить на нем хранимку. Потом снять дамп с базы из пользовательского контейнера и развернуть в новом.
    2. Если контейнер пишет данные в вольюм, то просто перемонтировать вольюм в новый контейнер без запуска хранимки.
    Ответ написан
    7 комментариев
  • Почему не запускается контейнер?

    @sah4ez32
    software engineer
    Добавьте в конце dockerfile COMMAND или копировать файл entrypoint.sh с запуском самого jenkins:
    sh /usr/local/bin/jenkins.sh
    Ну при запуске контейнера командой добавить /bin/bash /usr/local/bin/jenkins.sh
    Ответ написан
    5 комментариев