DashDot是一款简单、实用的开源现代服务器仪表盘,主要应用于小型 VPS服务器它是一个界面非常漂亮的监控服务器面板!

1、拉取Dashdot镜像
bash
docker pull mauricenino/dashdot
2. 部署DashDot应用
bash
创建部署目录
mkdir -p /data/dashdot
cd /data/dashdot
使用docker-cli创建Dashdot容器
bash
docker run -d \
-p 8987:3001 \
-v /etc/os-release:/etc/os-release:ro \
-v /proc/1/ns/net:/mnt/host_ns_net:ro \
--privileged \
mauricenino/dashdot
使用docker compose方式快速创建Dashdot容器
bash
编辑docker-compose.yaml文件
version: '3'
services:
dashdot:
image: mauricenino/dashdot
ports:
- 8987:3001
volumes:
- /etc/os-release:/etc/os-release:ro
- /proc/1/ns/net:/mnt/host_ns_net:ro
privileged: true
运行
bash
docker compose up -d
地访问DashDot服务
访问地址:http://ip:8987,
在浏览器可以访问Dashdot服务器仪表盘首页。可以看出它识别出我的CPU ,内存,硬盘等信息
1、拉取Drupal镜像
bash
获取Drupal镜像
docker pull drupal:latest
bash
!/bin/bash
# 创建Drupal临时容器
docker run --name drupal_temp -p 8080:80 -d drupal:latest
# 压缩容器内文件并输出到宿主机
docker exec drupal_temp tar -czf - -C /var/www/html . > ~/drupal_files.tar.gz
# 解压到宿主机目录
mkdir -p ~/drupal_backup && tar -xzf ~/drupal_files.tar.gz -C /projects/drupal/web
# 清理临时容器
docker rm -f drupal_temp
执行完毕后,容器内的代码就安全地"搬迁"到了宿主机,为持久化打下了基础。
第三步:编写Docker Compose配置文件
接下来需要编写docker-compose.yml文件,这是整个部署的核心:
docker-compose.yml
bash
version: '3.8'
services:
drupal:
image: drupal:latest
container_name: drupal
restart: unless-stopped
ports:
- "80:80"
volumes:
- ~/drupal/web:/var/www/html
- ~/drupal/modules:/var/www/html/modules
- ~/drupal/themes:/var/www/html/themes
- ~/drupal/sites:/var/www/html/sites
depends_on:
- mariadb
environment:
DRUPAL_DATABASE_HOST: mariadb
DRUPAL_DATABASE_NAME: drupal
DRUPAL_DATABASE_USER: drupaluser
DRUPAL_DATABASE_PASSWORD: drupaluser
DRUPAL_PROFILE: standard
networks:
- drupal_network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost"]
interval: 30s
timeout: 10s
retries: 3
mariadb:
image: mariadb:latest
container_name: mariadb
restart: unless-stopped
environment:
MYSQL_DATABASE: drupal
MYSQL_USER: drupaluser
MYSQL_PASSWORD: drupaluser
MYSQL_ROOT_PASSWORD: rootpassword123
TZ: Asia/Shanghai
volumes:
- mariadb_data:/var/lib/mysql
- ./mysql/my.cnf:/etc/mysql/conf.d/my.cnf
- /etc/localtime:/etc/localtime:ro
ports:
- "3306:3306"
networks:
- drupal_network
command:
- "--character-set-server=utf8mb4"
- "--collation-server=utf8mb4_unicode_ci"
- "--max_allowed_packet=256M"
- "--innodb_buffer_pool_size=256M"
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
timeout: 20s
retries: 10
volumes:
mariadb_data:
driver: local
networks:
drupal_network:
external: true
bash
1. 创建外部网络(如果不存在)
# 创建网络
docker network create drupal_network
# 查看网络
docker network ls
2. 创建必要的目录
# 创建项目目录结构
mkdir -p ~/drupal/{web,modules,themes,sites,mysql}
- 创建 MySQL 配置文件
bash
# 创建 MySQL 配置文件
cat > ~/drupal/mysql/my.cnf << 'EOF'
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
max_allowed_packet = 256M
innodb_buffer_pool_size = 256M
innodb_log_file_size = 128M
slow_query_log = 1
slow_query_log_file = /var/lib/mysql/slow.log
long_query_time = 2
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
EOF