From 79dfb8af9309e1f4313d75afe2fd1f68feafbc83 Mon Sep 17 00:00:00 2001 From: devome Date: Mon, 17 Jan 2022 11:34:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0docker=E5=AE=89=E8=A3=85?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=E5=A6=82=E4=BD=95=E7=AD=89=E5=BE=85=E5=85=B6?= =?UTF-8?q?=E4=BB=96=E6=9C=8D=E5=8A=A1=E5=85=88=E4=B8=8A=E7=BA=BF=E7=9A=84?= =?UTF-8?q?=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 08a14261..6747afc6 100644 --- a/README.md +++ b/README.md @@ -142,7 +142,12 @@ docker pull cym1102/nginxwebui:latest 3.启动容器: ``` -docker run -itd -v /home/nginxWebUI:/home/nginxWebUI -e BOOT_OPTIONS="--server.port=8080" --privileged=true --net=host cym1102/nginxwebui:latest +docker run -itd \ + -v /home/nginxWebUI:/home/nginxWebUI \ + -e BOOT_OPTIONS="--server.port=8080" \ + --privileged=true \ + --net=host \ + cym1102/nginxwebui:latest ``` 注意: @@ -175,6 +180,47 @@ services: ``` +#### docker安装时如何确保所要代理的服务已经运行起来 + +docker安装时,有时候重启机器后,所有的容器会自动启动,但启动有先有后,为了保证nginxwebui能正常代理,一般需要nginxwebui在其他所有所在代理的服务之后才启动,这时,可以自己重写容器默认的[entrypoint.sh](entrypoint.sh)如下: + +``` +#!/bin/sh + +## 如果你还需要其他软件包,也可以在启动时安装好,比如想额外安装nginx的http-js这个mod +apk add --update nginx-mod-http-js + +## 由nginxwebui负责代理的并且需要在nginxwebui之前先确认是否启动好的ip或hostname,注意ip最好是固定ip +hosts="code-server flexget 10.0.0.19 172.18.0.3" + +## 检测所要代理的服务是否全部上线 +for host in $hosts; do + until ping -c 2 $host &>/dev/null; do + echo "等待 $host 上线..." ## 你也可以自行修改 + sleep 1 + done + continue +done +echo "所有服务已全部已上线,开始启动nginxwebui程序..." + +## 执行原本的entrypoint.sh内容 +cd /home +exec java -jar -Xmx64m nginxWebUI.jar ${BOOT_OPTIONS} > /dev/null +``` + +然后在创建容器时,用上述`entrypoint.sh` (注意添加可执行权限`chmod +x entrypoint.sh`)覆盖容器内的`/usr/local/bin/entrypoint.sh`,增加映射即可: + +``` +docker run -itd \ + -v /home/nginxWebUI:/home/nginxWebUI \ + -v /你修改后的entrypoint.sh存放路径/entrypoint.sh: /usr/local/bin/entrypoint.sh \ + -e BOOT_OPTIONS="--server.port=8080" \ + --privileged=true \ + --net=host + cym1102/nginxwebui:latest +``` + + #### 编译说明 使用maven编译打包 -- Gitee