Работаю в данный момент на докере. Я хотел бы изменить версию Websphere, просто изменив свое изображение Websphere. Но проблема, я не хочу терять свой профиль Websphere.
Изображения Websphere перечислены по этой ссылке: https://hub.docker.com/r/ibmcom/websphere-traditional/
Я уже тестировал метод по этой ссылке: https://developer.ibm.com/wasdev/blog/2016/04/27/upgrading-traditional-docker-containers-latest-fixpack/
Но это не работает. Я протестировал установку профиля в образ websphere 9.0.0.2. Файлы профиля хранятся на моем локальном диске и монтируются при запуске образа с флагом -v и заменяют исходные файлы из образа.
И когда я беру другую версию, например изображение websphere 9.0.0.3, используя мой профиль, созданный ранее в websphere 9.0.0.2, у меня возникают несовместимости, такие как "java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2ConnectionPoolDataSource"
У вас есть какое-нибудь решение для этого? Или это невозможно и почему?
Нет, я забыл об этом, все в порядке, это была проблема, спасибо
Где хранятся файлы профиля? У вас они собираются в постоянное место или просто внутри пакета? Если они находятся внутри пакета, это ваша проблема, так как замена пакета или даже его развертывание на новом узле докера приведет к повторному созданию слоя, и вы потеряете информацию своего профиля.
В этом случае переместите файлы вашего профиля в более постоянное место, например, для монтирования файлов, в зависимости от вашей среды.
Файлы профиля хранятся на моем локальном диске и монтируются при запуске образа с флагом -v и заменяют исходные файлы из образа
Вы примонтировали это в новом образе? Вы вошли в контейнер в интерактивном режиме, чтобы проверить, можете ли вы прочитать файл? Возможно, проблема связана с разрешением, или, возможно, IBM изменила макет файла конфигурации, что могло вызывать такие ошибки java.
Вы установили драйвер JDBC в образ 9.0.0.3?