FROM calmking/alpine-glibc:3.7.3
ENV JAVA_VERSION_MAJOR=8 \
JAVA_VERSION_MINOR=321 \
LANG=en_US.UTF8 \
JAVA_HOME=/usr/local/java \
MAVEN_HOME=/usr/local/maven \
MAVEN_VERSION=3.8.4 \
glibc=glibc-2.27-r0.apk \
APP_HOME=/opt/app
COPY package/ /opt/app/
WORKDIR /opt/app/
RUN /bin/sh -c ls && \
echo http://mirrors.aliyun.com/alpine/v3.7/main > /etc/apk/repositories && \
echo http://mirrors.aliyun.com/alpine/v3.7/community/ >> /etc/apk/repositories && \
apk --update --no-cache add tar git openssh supervisor && \
echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config && \
# apk add --allow-untrusted ${glibc} && \
rm -rf /var/lib/apt/lists/* && \
rm /var/cache/apk/* && \
mkdir -p ${JAVA_HOME} && \
ls /opt/app/ && \
mkdir ${MAVEN_HOME} && \
ls ${APP_HOME} && \
# mv ${APP_HOME}/supervisord.conf /etc/supervisord.conf && \
tar -xzf ${APP_HOME}/apache-maven-${MAVEN_VERSION}-bin.tar.gz -C ${MAVEN_HOME} && \
mv ${MAVEN_HOME}/apache-maven-${MAVEN_VERSION}/* ${MAVEN_HOME} && \
rm -rf ${MAVEN_HOME}/apache-maven-${MAVEN_VERSION} && \
tar -zxf ${APP_HOME}/jdk-${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}-linux-x64.tar.gz -C ${JAVA_HOME} && \
mv ${JAVA_HOME}/jdk1.${JAVA_VERSION_MAJOR}.0_${JAVA_VERSION_MINOR}/* ${JAVA_HOME}/ && \
# rm -rf ${JAVA_HOME}/jdk1.${JAVA_VERSION_MAJOR}.0_${JAVA_VERSION_MINOR} && \
# chmod a+x ${JAVA_HOME}/bin/* && \
chmod a+x ${MAVEN_HOME}/bin/* && \
chmod a+x ${APP_HOME}/*.sh && \
ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone && \
rm -rf ${APP_HOME}/apache-maven-${MAVEN_VERSION}-bin.tar.gz && \
echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf &&\
echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config
ENV CLASSPATH=.:/usr/local/lib:/lib:/usr/local/lib/dt.jar:/usr/local/lib/tools.jar \
JRE_HOME=/usr/local/jre \
PATH=${PATH}:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/maven/bin:/usr/bin/supervisord \
APP_JAR_TARGET=app/app-server/target/app-server-1.0-SNAPSHOT.jar \
[email protected]:RenGuEJia/ren-gu-e-jia.git \
GIT_USER_NAME=rain \
[email protected] \
LOCAL_BRANTCH=develop \
REMOTE_BRANTCH=origin/develop \
PROJECT_NAME=ren-gu-e-jia
VOLUME ["/root/.ssh/", "/root/.m2/repository" ,"/opt/app"]
ENTRYPOINT ["supervisord" ,"-c" ,"/opt/app/supervisord.conf"]
[supervisord]
nodaemon=true
[program:appbuild]
directory = /opt/app ; 程序的启动目录
command = sh getProjectFromGit.sh ; 启动命令,可以看出与手动在命令行启动的命令是一样的
autostart = true ; 在 supervisord 启动的时候也自动启动
startsecs = 5 ; 启动 5 秒后没有异常退出,就当作已经正常启动了
autorestart = true ; 程序异常退出后自动重启
startretries = 3 ; 启动失败自动重试次数,默认是 3
redirect_stderr = true ; 把 stderr 重定向到 stdout,默认 false
stdout_logfile_maxbytes = 20MB ; stdout 日志文件大小,默认 50MB
stdout_logfile_backups = 20 ; stdout 日志文件备份数
; stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件)
stdout_logfile = getProjectFromGit.log
#!/bin/sh
git clone ${GIT_URL} -b ${REMOTE_BRANTCH}
cd ${PROJECT_NAME}
mvn clean
mvn install -DskipTests
Content type
Image
Digest
sha256:e698a1d3c…
Size
346.3 MB
Last updated
over 3 years ago
docker pull calmking/java8-building