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}