hello guys i finished working on my wso2 api manager configs and now i am trying to build a docker images i followed docs and created zip file of wso2 folder and copied the entrypoint and docker file from github and run my script but i keep getting this problem
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
i change the WSO2_SERVER_DIST_URL with its value:
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
and then run
docker build -t wso2am:4.2.0 .
The issue is that WSO2 AM does not provide binaries for versions 4.1.0
and 4.2.0
. Instead, it looks like you have to create them yourself for both versions.
As of Feb. 2024: WSO2 AM has pre-releases like 4.3.0-m2
which provide binaries again.
So, if you change these arguments:
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
(works with 4.0.0
and 4.3.0-m2
)
Difference between release with binaries:
and without binaries