非root用户启动springboot容器

Dockerfile

#指定依赖jdk
FROM jdk:17.0.8
MAINTAINER  renkaige renkaige5@foxmail.com
USER root
#定义环境变量
ENV TimeZone=Asia/Shanghai LANG=zh_CN.UTF-8 LANGUAGE=zh_CN:en LC_ALL=zh_CN.UTF-8
ENV APP_OPTS="--spring.config.location=config/bootstrap.yml"
#设置时区,要先设置,下面1001 insightone用户没有权限
RUN echo $TimeZone > /etc/timezone
#创建uid为1001名称为renkaige的用户,并设置sudo不需要输入密码
RUN useradd -u 1001 -M -s /bin/bash renkaige \
    && echo "renkaige ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers \
	&& yum install -y sudo
#创建文件夹
RUN mkdir  -p /opt/iosvr/logs  \
    && mkdir -p  /opt/iosvr/config  \
    && mkdir -p  /opt/arthas  \
    && mkdir -p  /opt/audit  \
    && mkdir -p  /opt/iopy/logs  \
    && mkdir -p /opt/iopy/tracking  \
    && mkdir -p /data/iosvr  \
    && mkdir -p /nacos/config \
    && mkdir -p  /home/insightone \
    && chmod -R a+rwx /data  \
    && chmod -R a+rwx /opt \
    && chmod -R a+rwx /nacos \
    && chown -R 1001:0 /data \
    && chown -R 1001:0 /opt \
    && chown -R 1001:0 /nacos \
    && chown -R 1001:0 /home/insightone/
#切换用户为1001 renkaige docker
USER 1001
#指定工作目录,进入docker容器的默认目录
WORKDIR  /opt/renkaige
#复制jar到docker的WORKDIR目录
COPY  test.jar test.jar
#默认启动jar
ENTRYPOINT java -jar ${JAVA_OPTS}  ${JASYPT_OPTS} -Djava.net.preferIPv6Addresses=true test.jar ${APP_OPTS}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值