代码之家  ›  专栏  ›  技术社区  ›  Arshanvit

在Docker中运行启动脚本

  •  0
  • Arshanvit  · 技术社区  · 3 年前

    我已经从下面构建了docker镜像:

    FROM rocker/r-ubuntu:20.04
    
    LABEL maintainer="Utkarsh Saraf"
    
    ARG DEBIAN_FRONTEND=noninteractive
    
    RUN apt-get update && \
        apt-get upgrade -y && \
        apt-get install -y  software-properties-common \
        apt-utils \
        libxml2-dev \
        openjdk-8-jdk \
        build-essential \
        libcurl4-gnutls-dev \
        libssl-dev \
        openssh-server && \
        apt-get clean
    
    
    WORKDIR /app
    COPY . /app
    COPY start.sh /start.sh
    RUN chmod +x /start.sh
    ENTRYPOINT ["sh","/app/startup.sh"]
    

    在startup.sh中,以下代码包含:

    java web-app.jar &
    

    如何执行shell文件。

    0 回复  |  直到 3 年前
        1
  •  1
  •   rassakra    3 年前

    我也面临着同样的问题&;只需更换即可解决

    RUN chmod +x /start.sh
    CMD ["startup.sh"]
    

    通过

     ENTRYPOINT ["sh", "/app/startup.sh"]
    

    您的最终码头文件将是:

    FROM rocker/r-ubuntu:20.04
    
    LABEL maintainer="Utkarsh Saraf"
    
    ARG DEBIAN_FRONTEND=noninteractive
    
    RUN apt-get update && \
        apt-get upgrade -y && \
        apt-get install -y  software-properties-common \
        apt-utils \
        libxml2-dev \
        openjdk-8-jdk \
        build-essential \
        libcurl4-gnutls-dev \
        libssl-dev \
        openssh-server && \
        apt-get clean
    
    
    # for enabling SSh in container ------------------------------#
    EXPOSE 80 2222 3306 8081
    
    WORKDIR /app
    COPY . /app
    COPY start.sh start.sh
    ENTRYPOINT ["sh", "/app/startup.sh"]
    

    我希望这部分能帮助你解决你的问题