привет, ребята, я закончил работу над конфигурациями моего менеджера API wso2 и теперь пытаюсь создать образы докеров. Я следил за документацией, создал zip-файл папки wso2, скопировал точку входа и файл докеров из github и запустил свой скрипт, но я продолжаю получать эту проблему
chown: cannot access '/home/wso2carbon/wso2am-4.2.0': No such file or directory
------
Dockerfile:107
--------------------
106 | # add the WSO2 product distribution to user's home directory
107 | >>> RUN \
108 | >>> wget -O ${WSO2_SERVER}.zip "${WSO2_SERVER_DIST_URL}" \
109 | >>> && unzip -d ${USER_HOME} ${WSO2_SERVER}.zip \
110 | >>> && chown wso2carbon:wso2 -R ${WSO2_SERVER_HOME} \
111 | >>> && mkdir ${USER_HOME}/wso2-tmp \
112 | >>> && bash -c 'mkdir -p ${USER_HOME}/solr/{indexed-data,database}' \
113 | >>> && chown wso2carbon:wso2 -R ${USER_HOME}/solr \
114 | >>> && cp -r ${WSO2_SERVER_HOME}/repository/deployment/server/synapse-configs ${USER_HOME}/wso2-tmp \
115 | >>> && cp -r ${WSO2_SERVER_HOME}/repository/deployment/server/executionplans ${USER_HOME}/wso2-tmp \
116 | >>> && rm -f ${WSO2_SERVER}.zip
я меняю WSO2_SERVER_DIST_URL на его значение:
ARG USER=wso2carbon
ARG USER_ID=802
ARG USER_GROUP=wso2
ARG USER_GROUP_ID=802
ARG USER_HOME=/home/${USER}
# build arguments for WSO2 product installation
ARG WSO2_SERVER_NAME=wso2am
ARG WSO2_SERVER_VERSION=4.2.0
ARG WSO2_SERVER_REPOSITORY=product-apim
ARG WSO2_SERVER=${WSO2_SERVER_NAME}-${WSO2_SERVER_VERSION}
ARG WSO2_SERVER_HOME=${USER_HOME}/${WSO2_SERVER}
ARG WSO2_SERVER_DIST_URL=https://github.com/wso2/product-apim/archive/refs/tags/v4.2.0.zip
...
RUN \
wget -O ${WSO2_SERVER}.zip "${WSO2_SERVER_DIST_URL}" \
&& unzip -d ${USER_HOME} ${WSO2_SERVER}.zip \
&& chown wso2carbon:wso2 -R ${WSO2_SERVER_HOME} \
&& mkdir ${USER_HOME}/wso2-tmp \
&& bash -c 'mkdir -p ${USER_HOME}/solr/{indexed-data,database}' \
&& chown wso2carbon:wso2 -R ${USER_HOME}/solr \
&& cp -r ${WSO2_SERVER_HOME}/repository/deployment/server/synapse-configs ${USER_HOME}/wso2-tmp \
&& cp -r ${WSO2_SERVER_HOME}/repository/deployment/server/executionplans ${USER_HOME}/wso2-tmp \
&& rm -f ${WSO2_SERVER}.zip
а затем запустить
docker build -t wso2am:4.2.0 .





Я не думаю, что https://github.com/wso2/product-apim/archive/refs/tags/v4.2.0.zip есть пакет продукта. Этот URL-адрес должен использоваться для загрузки сжатой версии кода продукта. Вам нужно либо собрать и получить пакет (он находится в modules/distribution/product/target месте), либо получить пакет продукта с веб-сайта. Затем вы можете разместить этот пакет продукта где-нибудь и использовать этот URL-адрес в Dockerfile.
Проблема в том, что WSO2 AM не предоставляет двоичные файлы для версий 4.1.0 и 4.2.0. Вместо этого, похоже, вам придется создать их самостоятельно для обеих версий.
По состоянию на февраль 2024 г.: WSO2 AM имеет предварительные версии, такие как 4.3.0-m2, которые снова предоставляют двоичные файлы.
Итак, если вы измените эти аргументы:
ARG WSO2_SERVER_VERSION=4.3.0-m2
ARG WSO2_SERVER_DIST_URL=https://github.com/wso2/${WSO2_SERVER_REPOSITORY}/releases/download/v${WSO2_SERVER_VERSION}/${WSO2_SERVER}.zip
(работает с 4.0.0 и 4.3.0-m2)
Разница между релизом с бинарниками:
и без двоичных файлов