https://hub.docker.com/r/bravado/supervisord
https://hub.docker.com/r/tarove/supervisord/
https://github.com/ochinchina/supervisord
https://github.com/bravado/supervisord/releases
# supervisord 安装
https://abc.htmltoo.com/thread-45964.htm
docker run -d --net=host --name sv --restart=always --privileged -v /data/site/docker/data/supervisord/supervisord.conf:/etc/supervisor/supervisord.conf:ro -v /data/site/htmltoo.opt:/opt --ulimit nofile=65535:65535 --ulimit nproc=65535:65535 hub.htmltoo.com:5000/http:supervisor
docker exec -it sv /bin/bash
supervisord -h
supervisord version
docker run -d --net=host --name sv --restart=always --privileged -v /data/site/docker/data/supervisord/supervisord.conf:/etc/supervisor/supervisord.conf:ro -v /data/site/htmltoo.opt:/opt --ulimit nofile=65535:65535 --ulimit nproc=65535:65535 supervisor
docker stop sv
docker rm sv
cd /data/docker/dockerfile/supervisord/
Dockerfile
FROM debian:latest
COPY --from=ochinchina/supervisord:latest /usr/local/bin/supervisord /usr/local/bin/supervisord
COPY chinese /usr/share/fonts/
RUN apt-get update -y && apt-get install -y wget vim net-tools curl git cron zip unzip aptitude tzdata && aptitude install locales -y && sed -i 's/^# *\(zh_CN.UTF-8\)/\1/' /etc/locale.gen && locale-gen zh_CN.UTF-8 \
&& curl -o /jdk8.tar.gz http://up.htmltoo.com/soft/java/jdk-8u361-linux-x64.tar.gz && mkdir -p /usr/local/java && tar -xzf /jdk8.tar.gz -C /usr/local/java --strip-components 1 \
&& rm -rf /jdk8.tar.gz && apt-get dist-upgrade -y && apt-get upgrade -y && apt autoremove -y && apt-get clean && apt-get autoclean
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime;
ENV LANG zh_CN.UTF-8
ENV LC_ALL zh_CN.UTF-8
ENV JAVA_HOME /usr/local/java
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/bin/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH
ENTRYPOINT ["/usr/local/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
start.sh
cronfile=/etc/crontab
cat /dev/null > "${cronfile}"
for cronvar in ${!CRON_*}; do
cronvalue=${!cronvar}
echo "Installing: $cronvalue"
FIRSTPART=$(echo "$cronvalue" | cut -d " " -f 1-6)
SECONDPART=$(echo "$cronvalue" | cut -d " " -f 7-)
NAME="CRON: ${cronvalue}"
echo "${FIRSTPART} echo ${NAME@Q} > /proc/1/fd/1 && ${SECONDPART} >/proc/1/fd/1 2>/proc/1/fd/2" >> "${cronfile}"
done
chmod 0644 "${cronfile}"
echo "[$(date -Iseconds)] Starting cron in foreground"
cron -fdocker build -t supervisor .
docker tag supervisor:latest hub.htmltoo.com:5000/http:supervisor
docker commit -m="update" -a="htmltoo.com" sv hub.htmltoo.com:5000/http:supervisor
docker push hub.htmltoo.com:5000/http:supervisor
vim /data/docker/nginx/supervisor/supervisord.conf
# Web GUI
[inet_http_server]
port=0.0.0.0:9001
username=ihunter
password=wdq54321
[supervisorctl]
serverurl=0.0.0.0:9001
[supervisord]
nodaemon=true
[program:biz]
priority=1
directory=/opt/app/
command=java -Djava.security.egd=file:/dev/./urandom -jar biz.jar --spring.profiles.active=prod --server.servlet.context-path=/ --server.port=8014 -Dhudson.util.ProcessTree.disable=true -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -Xms1024m -Xmx1024m -Xmn96m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -Dfile.encoding=UTF-8 -Duser.timezone=Asia/Shanghai
autostart=true
autorestart=true
stopsignal=KILL
stopasgroup=true
stdout_logfile=/opt/logs/biz.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=300
redirect_stderr=true
start.sh
---Unlinking stale socket /var/run/supervisor.sock---
[supervisord]
nodaemon=true
# supervisord ctl
supervisord ctl status
supervisord ctl status program-1 program-2...
supervisord ctl status group:*
supervisord ctl stop program-1 program-2...
supervisord ctl stop group:*
supervisord ctl stop all
supervisord ctl start program-1 program-2...
supervisord ctl start group:*
supervisord ctl start all
supervisord ctl shutdown
supervisord ctl reload
supervisord ctl signal <signal_name> <process_name> <process_name> ...
supervisord ctl signal all
supervisord ctl pid <process_name>
supervisord ctl fg <process_name>
-建立helloworld.java
mkdir hello
cd hello/
vi hello.java
public class hello {
public static void main(String[] args) {
System.out.println("Hello!!");
}
}-hello.java 打包成可执行的jar
javac hello.java
echo Main-class: hello > manifest.txt
jar cvfm hello.jar manifest.txt hello.class
-ls
hello.jar
cd /usr/share/fonts/
wget http://up.htmltoo.com/soft/java/chinese.zip
unzip chinese.zip && rm -rf chinese.zip
https://github.com/ochinchina/supervisord/releases
cd /usr/local/bin/
cp supervisord supervisord.bak
wget http://up.htmltoo.com/soft/java/supervisord.zip
unzip supervisord.zip && rm -rf supervisord.zip
chmod -R 777 supervisord