dockge
Dockge 由备受赞誉的 Uptime Kuma 的作者开发,是一款时尚,提供了简化的用户体验,易于使用的管理器。
部署
- 先安装 docker
一个脚本化流程:
apt-get update
apt-get upgrade -y
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
usermod -aG docker $USER
rm get-docker.sh
执行 systemctl status docker
,确保 docker 是激活的状态。
- 新建用于部署 dockge 的文件夹
mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge
官方 compose.yaml 要求使用 stacks 的绝对路径。
- 下载官方 compose.yaml
curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml
- 运行
docker compose up -d
使用docker compose
(不带 -) 或者 docker-cimpose
(带 -) 都行。
初始化
浏览器打开 http://<ip>:3001,创建管理用户。
进入后能看到容器运行状态。以安装 uptime-kuma 为例:
- 打开官网,复制 docker 命令。
- 返回 dockge,在docker启动处复制,点击转换为 compose 格式。
可以手动修改容器信息,设置完成后点击部署。
点击端口号进入 uptime-kuma 服务界面。
比如检测 dockge 服务,即 http://<ip>:5001
。
反向代理
NPM
在dockge 部署 Nginx Proxy Manager,
官方提供的 compose.yaml
:
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
还有使用 sql 数据库和 secrets 的,这里只选择最简单的进行演示。
80端口是 Congratulations 之类欢迎界面。81 是 NPM 服务界面。初始用户和密码是admin@example.com
和 changeme
,登录后会要求更新邮箱和密码。
开启代理
新增代理:
代理 81 端口比较简单,但如果是 dockge 的 5001 端口,需要打开 Websockets Support
,不然无法连接到 socket 服务。
问题
我想用 dockge 开启不同服务后,用 http://<ip>/<server>
这种形式访问。用 nginx 的话就是编写 location ,NPM里面也有custom locations
,但是我设置不成功。
尝试过不用 ip 用 ip addr show docker0
显示的内网,容器连接相同网络,都没用。感觉还是 socket 的问题。应该再看看 docker 和 nginx 的知识。