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
开始使用:
打开 http://ip:5001 检查是否正常
如何更新:
1 2
| cd /opt/dockge docker compose pull && docker compose up -d
|
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
|
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保存
编辑 frps.toml
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 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 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| 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 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
|
访问并安装好后如果容灾切换未自动启动,重启容器即可:
浏览器中打开 http://ip:5081 安装
浏览器中打开 http://ip:5081
进入docker,
进入dnsmgr容器内部
1
| docker exec -it 8b969acb9eef /bin/bash
|
crontab定时设置,10分钟
crontab -e
*/15 * * * * cd /app/www/ && php think opiptask