Debian11.9基于jre1.8的Dockerfile编写

# 使用Debian 11.9作为基础镜像  
FROM debian:11.9  
  
# 维护者信息(建议使用LABEL而不是MAINTAINER,因为MAINTAINER已被弃用)  
LABEL maintainer="caibingsen"  
  
# 创建一个目录来存放jre  
RUN mkdir -p /usr/java/jre1.8.0_191-amd64
  
# 将jre1.8.0_191-amd64目录复制到/usr/java/  
# 注意:这里假设jre1.8.0_191-amd64是一个目录,并且包含所有必要的文件  
COPY jre1.8.0_191-amd64 /usr/java/jre1.8.0_191-amd64
  
# 设置JAVA_HOME环境变量  
ENV JAVA_HOME=/usr/java/jre1.8.0_191-amd64  
  
# 将jre的bin目录添加到PATH中,以便可以直接调用java等命令  
ENV PATH=$JAVA_HOME/bin:$PATH  
  
# 调整系统配置  
# 1. 设置最大文件打开数和其他系统参数  
# 2. 禁用IPv6(可选,根据需求决定是否添加)  
# 3. 调整端口范围和其他网络相关参数(可选)  
RUN echo "fs.file-max = 65536" >> /etc/sysctl.conf \  
    && echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf \  
    && echo "net.ipv6.conf.default.disable_ipv6 = 1" >> /etc/sysctl.conf \  
    && echo "net.ipv4.ip_local_port_range = 1024 65000" >> /etc/sysctl.conf \  
    && echo "vm.swappiness = 10" >> /etc/sysctl.conf \  
    && echo "net.core.somaxconn=2048" >> /etc/sysctl.conf \  
    # 设置文件描述符限制  
    && echo "* soft nofile 60000" >> /etc/security/limits.d/user-nofile.conf \  
    && echo "* hard nofile 60000" >> /etc/security/limits.d/user-nofile.conf \  
    # 设置进程数限制  
    && echo "* soft nproc 50000" >> /etc/security/limits.d/20-nproc.conf \  
    && echo "root soft nproc unlimited" >> /etc/security/limits.d/20-nproc.conf  
  
# 容器启动时执行的命令(这里留空,因为通常您会在运行容器时指定)  
CMD ["bash"]

容器镜像打包后345M,基础镜像124M

如果对你有帮助,一块也是爱

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部