簡體   English   中英

如何在基於 alpine 的 docker 容器中配置 umask

[英]How do I configure umask in alpine based docker container

我有一個 Java 應用程序,該應用程序在 docker 中運行,基於 cutdown alpine 發行版,我希望將 umask 設置為 0000,以便所有用戶都可以訪問應用程序在配置的音量/音樂中創建的所有文件。

Dockerfile 所做的最后一件事是運行啟動應用程序的腳本

CMD /opt/songkong/songkongremote.sh

該文件包含以下內容

   umask 0000
   java -XX:MaxRAMPercentage=60 \  
        -Dcom.mchange.v2.log.MLog=com.mchange.v2.log.jdk14logging.Jdk14MLog\  
       -Dorg.jboss.logging.provider=jdk \       
-Djava.util.logging.config.class=com.jthink.songkong.logging.StandardLogging\             --add-opens java.base/java.lang=ALL-UNNAMED -jar lib/songkong-6.9.jar -r

應用程序運行,但在 docker 容器日志中,我看到以下是 output 到 stdout

/opt/songkong/songkongremote.sh: umask: line 1: illegal mode: 0000

指示umask命令不起作用,我不明白,因為這是 umask 的有效值。 (我也嘗試過 umask 000 失敗並出現同樣的錯誤)

我也嘗試添加

#!/bin/sh

作為文件的第一行,但隨后 Docker 抱怨它找不到 /bin/sh。

完整的 Dockerfile 是:

FROM adoptopenjdk/openjdk11:alpine-jre

RUN apk --no-cache add \
      ca-certificates \
      curl \
      fontconfig \
      msttcorefonts-installer \
      tini \
 && update-ms-fonts \
 && fc-cache -f

RUN mkdir -p /opt \
 && curl http://www.jthink.net/songkong/downloads/build1114/songkong-linux-docker.tgz?val=121| tar -C /opt -xzf - \
&& find /opt/songkong -perm /u+x -type f -print0 | xargs -0 chmod a+x

EXPOSE 4567

ENTRYPOINT ["/sbin/tini"]

# Config, License, Logs, Reports and Internal Database
VOLUME /songkong

# Music folder should be mounted here
VOLUME /music

WORKDIR /opt/songkong

CMD /opt/songkong/songkongremote.sh

您的/opt/songkong/songkongremote.sh腳本看起來像非 linux 換行符(Windows?)。

在此處輸入圖像描述

您可以通過運行查看它:

$ docker run --rm -it your-image-name vi /opt/songkong/songkongremote.sh

這與#!/bin/sh行不起作用的原因相同,它可能看起來也像#!/bin/sh^M

您的腳本文件中有回車符:

umask 0000^M
java -XX:MaxRAMPercentage=60 -Dcom.mchange.v2.log.MLog=com.mchange.v2.log.jdk14logging.Jdk14MLog -Dorg.jboss.logging.provider=jdk -Djava.util.logging.config.class=com.jthink.songkong.logging.StandardLoggi
^M

您可以將RUN sed -i -e 's/\r//g' /opt/songkong/songkongremote.sh到 Dockerfile 或更好地重新創建腳本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM