chmod:无法访问“/home/alpine/*.sh”:权限被拒绝

问题描述

我尝试运行我的 Java 应用程序,而我的应用程序运行一个 docker 映像并构建它。但是当我运行并尝试完成所有操作时。我得到这样的错误:这个 docker 在 Windows 10 操作系统上运行

[INFO] + chmod 0755 '/home/alpine/*.sh'
[INFO]
[INFO] chmod: cannot access '/home/alpine/*.sh': Permission denied
[INFO]
[ERROR] The command '/bin/sh -c set -ex   && chmod 0755 /home/alpine/*.sh' returned a non-zero code: 1
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  03:42 min
[INFO] Finished at: 2021-06-16T16:16:11+07:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.spotify:dockerfile-maven-plugin:1.4.10:build (default) on project oracle-admin: Could not build image: The command '/bin/sh -c set -ex   && chmod 0755 /home/alpine/*.sh' returned a non-zero code: 1 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors,re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions,please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

但我不知道到底是什么问题以及如何解决?这里是我的 dockerfile 格式

FROM cirepo/service-base-image-java:openjdk-11.0.2-en_US.UTF-8_Asia

ARG ARTIFACT_REPOSITORY=unkNown
ARG BUILD_TIMESTAMP=unkNown
ARG DOCKER_REGISTRY=unkNown
ARG GIT_BRANCH=unkNown
ARG GIT_COMMIT_ID=unkNown
ARG GIT_COMMIT_ID_ABBREV=unkNown
ARG GIT_COMMIT_TIME=unkNown
ARG GIT_REMOTE_ORIGIN_URL=unkNown
ARG JAR_FILE
ARG PROJECT_ARTIFACTID=unkNown
ARG PROJECT_GROUPID=unkNown
ARG PROJECT_VERSION=unkNown

LABEL image.artifact.repository=$ARTIFACT_REPOSITORY
LABEL image.build.timestamp=$BUILD_TIMESTAMP
LABEL image.docker.registry=$DOCKER_REGISTRY
LABEL image.git.branch=$GIT_BRANCH
LABEL image.git.commit.id=$GIT_COMMIT_ID
LABEL image.git.commit.id.abbrev=$GIT_COMMIT_ID_ABBREV
LABEL image.git.commit.time=$GIT_COMMIT_TIME
LABEL image.git.remote.origin.url=$GIT_REMOTE_ORIGIN_URL
LABEL image.project.artifactId=$PROJECT_ARTIFACTID
LABEL image.project.groupId=$PROJECT_GROUPID
LABEL image.project.version=$PROJECT_VERSION

copY --chown=alpine:alpine src/main/docker /
copY --chown=alpine:alpine target/${JAR_FILE} /home/alpine
RUN set -ex \
  && chmod 0755 /home/alpine/*.sh

我的问题是如何解决这个问题?

当我在我的 docker 应用程序中看到名称为 none 的 docker 中准备就绪时。应用程序在这里

enter image description here

但是当我单击运行时,我无法运行此应用程序....我的问题是读取 dockerfile 时权限被拒绝究竟是什么问题,然后如何在 docker 映像中运行应用程序?

解决方法

尝试添加 Dockerfile

COPY --chown=alpine:alpine target/${JAR_FILE} /home/alpine之后

USER alpineUSER root