docker - 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 中准备就绪时。这里的应用程序
但是当我单击运行时,我无法运行此应用程序....我的问题是读取 dockerfile 时权限被拒绝究竟是什么问题,然后如何在 docker 映像中运行应用程序?
解决方案
尝试添加 Dockerfile
后COPY --chown=alpine:alpine target/${JAR_FILE} /home/alpine
:USER alpine
或USER root
推荐阅读
- docker - docker容器中的.net core rest api未运行
- airflow - 如何以表格格式为特定所有者导出最新的气流 dag 和任务状态
- flutter - Flutter IOS & ANDROID Widgets 实现
- c# - C# 中的日期时间结构。为什么 DateTime 用作创建属性“public DateTime Date { get; }”的类型。为什么没有别的。像字符串
- c# - 如何通过 C# 在 Revit 中获取所有参数及其值?
- sql - 带条件sql的左外连接
- c# - 实体类型对应的 CLR 类型不能实例化 Table-per-type
- javascript - TypeError,但不是在 React 返回函数中
- java - Kinesis 数据流不会加载到 s3 存储桶
- python - Tensorflow 对象检测 API - 当我尝试运行 model_builder_test.py 时出现 ImportError