Замена одного из компонентов JumpServer на другую версию
JumpServer представляет из себя набор контейнеров докер, которые взаимодействуют друг с другом. Иногда может потребоваться замена одного из контейнеров на другую версию, например
- В новой версии JumpServer появляется проблема с каким-то модулем которой не было в прошлой версии.
- Вендор выпускает новую версию контейнера для исправления проблемы, чтобы исправить ее не дожидаясь выхода новой версии.
Примечание: рекомендуется это выполнять только после рекомендации от технической поддержки(то есть от нас)
Загрузка образа компонента на примере jms_magnus
Примечание: если при обновлении версии вы отказались от удаления старых образов контейнеров, то эти образа уже загружены, нужно только переключиться. Проверить есть ли в хранилище контейнеров старый образы можно командой
docker images
Если нет, то скачайте нужный образ контейнера в формате, например magnus.tar , файл образа можно получить или из предыдущей установки или попросив его у нас и загрузите его в хранилище образов докера:
docker load -i magnus.tar
Проверьте, что контейнер с нужной версией загрузился в хранилище командой
docker images
Вы увидите два контейнера с одинаковым именем, но с разным TAG, например magnus старой версии v4.10.4-ee
Переключение на другую версию образа
Когда образ контейнера на месте, нужно изменить версию контейнера в compose файле, по умолчанию композ-файлы находятся в папке compose внутри дистрибутива JumpServer. Редактируем соответствующий композ-файл:
nano /opt/jumpserver-ee-v4.10.14-x86_64/compose/magnus.yml
И заменяем параметр image, заменяя переменную ${VERSION}, на версию вашего образа, например v4.10.4-ee:
services:
magnus:
image: ${REGISTRY:-registry.fit2cloud.com}/jumpserver/magnus:v4.10.4-ee
container_name: jms_magnus
hostname: jms_magnus
ulimits:
core: 0
restart: always
env_file:
- ${CONFIG_FILE}
ports:
- ${MAGNUS_MYSQL_PORT:-33061}:${MAGNUS_MYSQL_PORT:-33061}
- ${MAGNUS_MARIADB_PORT:-33062}:${MAGNUS_MARIADB_PORT:-33062}
- ${MAGNUS_REDIS_PORT:-63790}:${MAGNUS_REDIS_PORT:-63790}
- ${MAGNUS_POSTGRESQL_PORT:-54320}:${MAGNUS_POSTGRESQL_PORT:-54320}
- ${MAGNUS_SQLSERVER_PORT:-14330}:${MAGNUS_SQLSERVER_PORT:-14330}
- ${MAGNUS_ORACLE_PORT:-15210}:${MAGNUS_ORACLE_PORT:-15210}
- ${MAGNUS_MONGODB_PORT:-27018}:${MAGNUS_MONGODB_PORT:-27018}
volumes:
- ${CONFIG_DIR}/certs:/opt/magnus/data/certs
- ${VOLUME_DIR}/magnus/data:/opt/magnus/data
healthcheck:
test: "curl localhost:8088/health || exit 1"
interval: 10s
timeout: 5s
retries: 3
start_period: 10s
networks:
- net
Перезапускаем контейнер magnus:
jmsctl restart magnus
Проверяем статус контейнеров, если все сделано верно, вы увидите все контейнеры в статусе (healthy) с одной версией, и ваш контейнер с версией, отличающейся от остальных.
