一款时尚、易于使用docker部署项目的管理器


Dockge是一款时尚、易于使用docker compose.yaml 部署项目的管理器

一、dockge是什么?

Dockge是一款时尚、易于使用docker compose.yaml 部署项目的管理器。
Dockge由备受赞誉的Uptime Kuma的创作者开发,提供了简化的用户体验,可以在一个页面上方便地找到您需要的一切,一目了然。

dockge github 地址:https://github.com/louislam/dockge

demo地址:https://dockge.kuma.pet/

默认配置信息:

默认安装目录:/opt/stacks

默认端口:5001

二、开始安装:

1 首先安装docker 以及 docker compose

1
2
3
4
5
6
sudo -i
apt update && apt upgrade -y
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
rm get-docker.sh
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose

检查docker是否安装成功

1
2
docker --version
docker-compose --version

2 然后新建用于部署dockge的文件目录

1
2
mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge

3 下载compose.yaml

1
curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml

4 最后运行 docker compose up -d

1
docker compose up -d

开始使用:

打开 http://ip:5001 检查是否正常

如何更新:

1
2
cd /opt/dockge
docker compose pull && docker compose up -d

5 安装nginx-proxy-manager开源项目:https://github.com/NginxProxyManager/nginx-proxy-manager?utm_source=nginx-proxy-manager

1
2
3
4
5
6
7
8
9
10
11
12
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./npm/data:/data
- ./letsencrypt:/etc/letsencrypt

默认登录账号、密码

1
2
admin@example.com
changeme

6 安装Portainer项目:https://docs.portainer.io/start/install-ce/server/docker/linux

1
2
3
4
5
6
7
8
9
10
11
version: "3.8"
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
ports:
- 9009:9000
volumes:
- ./portainer/data:/data
- /var/run/docker.sock:/var/run/docker.sock
networks: {}

7. 一个功能更强大的图床——Lsky Pro

docker-compose.yml填入以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
version: "3.8"
services:
lsky-pro:
container_name: lsky-pro
image: dko0/lsky-pro
restart: always
volumes:
- ./lsky-pro/lsky-pro-data:/var/www/html [[映射到本地]]
ports:
- 7791:80
environment:
- MYSQL_HOST=mysql
- MYSQL_DATABASE=lsky-pro
- MYSQL_USER=lsky-pro
- MYSQL_PASSWORD=lsky-pro
mysql:
image: mysql
container_name: lsky-pro-db
restart: always
environment:
- MYSQL_DATABASE=lsky-pro
- MYSQL_USER=lsky-pro
- MYSQL_PASSWORD=lsky-pro
- MYSQL_ROOT_PASSWORD=lsky-pro
volumes:
- ./lsky-pro/db:/var/lib/mysql
networks: {}

8 Docker方法安装frps:

只能通过ssh部署安装,不能通过dockge部署安装

1 在/opt/stacks/下新建frps文件夹,并用touch新建frps.toml配置文件

1
2
3
mkdir -p /opt/stacks/frp
cd /opt/stacks/frp
touch frps.toml

3 创建docker-compose

1
2
vi docker-compose.yml
按i 编辑
1
2
3
4
5
6
7
8
9
version: "3.8"
services:
frps:
container_name: frps
image: snowdreamtech/frps
restart: always
network_mode: host
volumes:
- /opt/stacks/frp/frps.toml:/etc/frp/frps.toml

按 :wq保存

1
docker-compose up -d

编辑 frps.toml

1
2
3
vi frps.toml

按 i 编辑
1
2
3
4
5
6
7
8
bindPort = 7000
auth.method = "token"
auth.token = "dffdgg" [[修改token值]]
[[开启服务器端控制面板]]
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "daduo62000"
webServer.password = "sdfdgggfg" [[修改密码]]

设置客户端token,对应客户端有页需要配置一定要记住,如果客户端不填写你连不上服务端

最后,重启一下frps服务即可

1
docker-compose restart

卸载

1
2
3
4
5
docker stop frps

docker rm -f frps # 停止容器,此时不会删除映射到本地的数据

rm -rf /root/data/docker_data/frps # 完全删除映射到本地的数据

Docker安装frpc客户端:

只能通过ssh部署安装,不能通过dockge部署安装

1 在/opt/stacks/下新建frp文件夹,并用vi新建frps.toml配置文件

1
2
mkdir -p /opt/stacks/frp
cd /opt/stacks/frp

创建frps.toml

1
2
3
vi  frpc.toml

按 i 编辑
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# frpc.toml
serverAddr = "156.251.1.1"
serverPort = 7000
auth.method = "token" [[修改token值]]
auth.token = "asdfg"

[[proxies]]
name = "daduo_ssh"
type = "tcp"
localIP = "0.0.0.0"
localPort = 22
remotePort = 2202

[[proxies]]
name = "lsky"
type = "tcp"
localIP = "0.0.0.0"
localPort = 7791
remotePort = 5000

编辑docker-compose.yml

1
2
3
vi docker-compose.yml

按 i
1
2
3
4
5
6
7
8
9
version: "3.8"
services:
frpc:
container_name: frpc
image: snowdreamtech/frpc
restart: always
network_mode: host
volumes:
- ./frpc.toml:/etc/frp/frpc.toml

按: wq保存

运行Frp客户端容器

1
docker-compose up -d

卸载

1
2
3
docker stop frpc

docker rm -f frpc # 停止容器,此时不会删除映射到本地的数据

10 Docker创建MariaDB数据库

1
2
3
4
5
6
docker run -d \
--name mariadb \
-v ./mariadb/data/:/var/lib/mysql/
-e MYSQL_ROOT_PASSWORD=123456 \
-p 3306:3306 \
mariadb:latest

``version: “3.8”
services:
mariadb:
container_name: mariadb
volumes:
- ./mariadb/:/var/lib/mysql/
environment:
- MYSQL_ROOT_PASSWORD=123456
ports:
- 3306:3306
image: mariadb:latest`

11 Docker 创建网页版的mysql管理工具phpmyadmin

1
docker run --name phpmyadmin-5080 -d -e PMA_ARBITRARY=1 -p 5080:80 phpmyadmin:5.2.1
1
2
3
4
5
6
7
8
9
version: "3.8"
services:
phpmyadmin:
container_name: phpmyadmin-5080
environment:
- PMA_ARBITRARY=1
ports:
- 5080:80
image: phpmyadmin:latest
 phpmyadmin安装完成后,浏览器中打开 http://ip:5080

创建一个wordpress可用的数据库dnsmgr,因为是内网,我们直接用root账户就行了,不用额外创建用户。
账号:root
密码:123456

登录后,先创建一个数据库,数据库名为:dnsmgr

点击dnsmgr数据库,SQL语句创建一个专用的账户:

1
2
GRANT all on dnsmgr.* TO 'dnsmgr'@'%' IDENTIFIED BY '123456';
flush privileges ;

聚合DNS管理系统

聚合DNS管理系统可以实现在一个网站内管理多个平台的域名解析,目前已支持的域名平台有:

  • 阿里云
  • 腾讯云
  • 华为云
  • 西部数码
  • DNSLA
  • CloudFlare

功能特性

  • 多用户管理,可为每个用户可分配不同的域名解析权限
  • 提供API接口,可获取域名单独的登录链接,方便各种IDC系统对接
  • 容灾切换功能,支持ping、tcp、http(s)检测协议并自动暂停/修改域名解析,并支持邮件、微信公众号通知
  • CF优选IP功能,支持获取最新的Cloudflare优选IP,并自动更新到解析记录

Docker部署方法

首先需要安装Docker,然后执行以下命令拉取镜像并启动(启动后监听8081端口):

1
docker run --name dnsmgr -dit -p 5081:80 -v /var/dnsmgr:/app/www netcccyun/dnsmgr
1
2
3
4
5
6
7
8
9
10
11
version: "3.8"
services:
dnsmgr:
container_name: dnsmgr
stdin_open: true
tty: true
ports:
- 5081:80
volumes:
- ./dnsmgr:/app/www
image: netcccyun/dnsmgr

访问并安装好后如果容灾切换未自动启动,重启容器即可:

1
docker restart dnsmgr

浏览器中打开 http://ip:5081 安装

浏览器中打开 http://ip:5081

进入docker,

1
docker ps 

进入dnsmgr容器内部

1
docker exec -it 8b969acb9eef /bin/bash

crontab定时设置,10分钟

crontab -e

*/15 * * * * cd /app/www/ && php think opiptask


 上一篇
PicGo上传图片重命名设置 PicGo上传图片重命名设置
这是你自定义的文章摘要内容,如果这个属性有值,文章卡片摘要就显示这段文字,否则程序会自动截取文章的部分内容作为摘要
2024-09-11
下一篇 
一款高效的云存储和图床平台管理工具——PicList 一款高效的云存储和图床平台管理工具——PicList
PicList是一款高效的云存储和图床平台管理工具,在PicGo的基础上经过深度的二次开发,不仅完整保留了PicGo的所有功能,还增添了许多新的feature。例如相册支持同步云端删除文件,内置图床额外添加了WebDav、本地图床和SFTP等。PicList同时增加了完整的云存储管理功能,包括云端目录查看、文件搜索、批量上传下载和删除文件,复制多种格式文件链接和图片/markdown/文本/视频预览等,另外还有更加强大的相册和多项功能新增或优化。
2024-09-10