supervisord 部署 - 守护运行 安装部署 docker


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 -f

docker 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


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回