项目: github.com/netcccyun/dnsmgr
系统:推荐 Debian12
安装docker
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
检测是否安装
docker --version
docker compose version
创建目录
# 创建项目根目录
mkdir dnsmgr-deploy
cd dnsmgr-deploy
# 创建必要的目录结构
mkdir -p ./web
mkdir -p ./mysql/conf
mkdir -p ./mysql/logs
mkdir -p ./mysql/data
配置MySQL文件
vim mysql/conf/my.cnf
在 my.cnf
文件中添加以下内容:
[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
创建 docker-compose.yml 文件
vim docker-compose.yml
添加以下内容:
services:
dnsmgr-web:
container_name: dnsmgr-web
stdin_open: true
tty: true
ports:
- 8081:80
volumes:
- ./web:/app/www
image: netcccyun/dnsmgr
depends_on:
- dnsmgr-mysql
networks:
- dnsmgr-network
restart: unless-stopped
dnsmgr-mysql:
container_name: dnsmgr-mysql
restart: always
volumes:
- ./mysql/conf/my.cnf:/etc/mysql/my.cnf
- ./mysql/logs:/logs
- ./mysql/data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=123456
- TZ=Asia/Shanghai
image: mysql:5.7
networks:
- dnsmgr-network
networks:
dnsmgr-network:
driver: bridge
设置目录权限
sudo chown -R 1000:1000 ./web
sudo chmod -R 755 ./web
sudo chmod -R 755 ./mysql
启动服务
docker compose up -d
创建数据库
等待MySQL容器完全启动后,执行以下命令:
# 进入MySQL容器
docker exec -it dnsmgr-mysql /bin/bash
# 连接MySQL数据库
mysql -uroot -p123456
# 创建数据库
CREATE DATABASE dnsmgr;
# 退出MySQL
exit
exit
访问安装页面
- 打开浏览器访问:
http://your-server-ip:8081
- 系统会自动跳转到安装页面
- 填写安装信息:
- 数据库服务器地址:
dnsmgr-mysql
- 数据库端口:
3306
- 数据库名称:
dnsmgr
- 数据库用户名:
root
- 数据库密码:
123456
- 管理员账户:设置你的管理员用户名和密码
- 数据库服务器地址:
启动容灾切换
# 进入web容器
docker exec -it dnsmgr-web /bin/bash
# 切换到项目目录
cd /app/www/
# 启动容灾切换进程
php think dmtask
或者
# 后台运行命令
docker exec -d dnsmgr-web /bin/bash -c "cd /app/www && php think dmtask"
# 查看运行的进程
docker exec dnsmgr-web ps aux | grep dmtask
重新启动
cd dnsmgr-deploy
docker compose down
docker compose up -d