Open isalkovic opened 2 years ago
@isalkovic Apologies for the delay. Are you still encountering this issue?
@leochr I gave up and swithced to one of the Open Liberty profiles where the same approach worked. If it is important for you I gan dig in to get more details.
@psihovjeverica Glad that you got it to work. We'll try to reproduce with one of the sample spring app. Thanks.
@psihovjeverica I managed to reproduce the issue you were hitting by using same Dockerfile above, but with one of our sample spring app.
The permission problem is related to these lines in the Dockerfile:
COPY --from=staging /staging/lib.index.cache /lib.index.cache COPY --from=staging /staging/myThinApp.jar /config/dropins/spring/myThinApp.jar
I was able to create image successfully after changing the above lines to include --chown=1001:0
, like this:
COPY --from=staging --chown=1001:0 /staging/lib.index.cache /lib.index.cache COPY --from=staging --chown=1001:0 /staging/myThinApp.jar /config/dropins/spring/myThinApp.jar
Explanation:
The configure.sh
script tries to change the permission of some folders (after adding new features using installUtility), but it couldn't change permission for the above files, since they were copied as root user (COPY command copies as root-user). We'll evaluate whether permission operation can be scoped down. Open Liberty uses featureUtility and has slightly different scripts, hence you didn't encounter the same issue with it.
Thanks a lot for following up on this, for me it made more sense to just switch to OL image at that moment :-)
It could make sense for the line to be expanded to include chown also in OL (if same user is running in OL) - just for people like mw who try to switch from one to another. ;-)
On Fri, Feb 4, 2022 at 11:24 PM Leo Christy Jesuraj < @.***> wrote:
@psihovjeverica https://github.com/psihovjeverica I managed to reproduce the issue you were hitting by using same Dockerfile above, but with one of our sample spring app.
The permission problem is due to these lines in the Dockerfile:
COPY --from=staging /staging/lib.index.cache /lib.index.cache COPY --from=staging /staging/myThinApp.jar /config/dropins/spring/myThinApp.jar
I was able to create image successfully after changing the above lines to include --chown=1001:0, like this:
COPY --from=staging --chown=1001:0 /staging/lib.index.cache /lib.index.cache COPY --from=staging --chown=1001:0 /staging/myThinApp.jar /config/dropins/spring/myThinApp.jar
Explanation: The configure.sh script tries to change the permission of some folders (after adding new features using installUtility), but it couldn't change permission for the above files, since they were copied as root user (COPY command copies as root-user). We'll evaluate whether permission operation can be scoped down. Open Liberty uses featureUtility and has slightly different scripts, hence you didn't encounter the same issue with it.
— Reply to this email directly, view it on GitHub https://github.com/WASdev/ci.docker/issues/420#issuecomment-1030398043, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEMWTULF4AKXY6JHE437LJTUZRGZZANCNFSM5H5BWJMQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID: <WASdev/ci. @.***>
-- (_/) (='.'=) This is Bunny. Copy and paste Bunny into (")(") your signature to help him gain world domination.
Hello,
I have a problem when building image to include a springboot app. Don't know if this is a bug, or if I am making some stupid mistake...
Here is the error:
14 48.82 chmod: changing permissions of '/opt/ibm/wlp/usr/servers/defaultServer/dropins/spring': Operation not permitted
executor failed running [/bin/sh -c configure.sh]: exit code: 123
Dockerfile: FROM websphere-liberty:21.0.0.9-full-java8-ibmjava as staging COPY --chown=1001:0 tf-nobkhnd.jar /staging/myFatApp.jar COPY --chown=1001:0 server.xml /config/ RUN springBootUtility thin \ --sourceAppPath=/staging/myFatApp.jar \ --targetThinAppPath=/staging/myThinApp.jar \ --targetLibCachePath=/staging/lib.index.cache FROM websphere-liberty:21.0.0.9-kernel-java8-ibmjava COPY --chown=1001:0 server.xml /config COPY --from=staging /staging/lib.index.cache /lib.index.cache COPY --from=staging /staging/myThinApp.jar /config/dropins/spring/myThinApp.jar ARG VERBOSE=true RUN configure.sh