有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在Docker中运行启动脚本的java

我从下面创建了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"]

在初创阶段。sh,以下代码包含:

java web-app.jar &

如何执行shell文件


共 (1) 个答案

  1. # 1 楼答案

    我也面临同样的问题;只需更换

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

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

    您的最终dockerfile将是:

    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"]
    

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