Add adminer-deploy skill
This commit is contained in:
105
skill.md
Normal file
105
skill.md
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
---
|
||||||
|
name: adminer-deploy
|
||||||
|
description: Deploy Adminer (database management tool) using Docker Compose. Use when user wants to set up Adminer for database administration.
|
||||||
|
tools: Read, Glob, Grep, Bash
|
||||||
|
---
|
||||||
|
|
||||||
|
# Adminer Docker 部署
|
||||||
|
|
||||||
|
使用 Docker Compose 部署 Adminer 資料庫管理工具。
|
||||||
|
|
||||||
|
## 前置需求
|
||||||
|
|
||||||
|
- **目標**: 已安裝 Docker 的伺服器
|
||||||
|
- **存取**: SSH root 權限
|
||||||
|
- **目錄**: 服務部署於 `/opt/docker/adminer/`
|
||||||
|
|
||||||
|
## 部署步驟
|
||||||
|
|
||||||
|
### Step 1: 建立目錄與配置
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ssh root@<SERVER_IP> bash -c '
|
||||||
|
mkdir -p /opt/docker/adminer
|
||||||
|
cat > /opt/docker/adminer/docker-compose.yml << "EOF"
|
||||||
|
services:
|
||||||
|
adminer:
|
||||||
|
image: adminer:latest
|
||||||
|
container_name: adminer
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "8080:8080"
|
||||||
|
EOF
|
||||||
|
'
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 2: 啟動服務
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ssh root@<SERVER_IP> "cd /opt/docker/adminer && docker compose up -d"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 3: 驗證部署
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ssh root@<SERVER_IP> "docker ps | grep adminer"
|
||||||
|
```
|
||||||
|
|
||||||
|
**預期輸出**:
|
||||||
|
```
|
||||||
|
adminer Up 0.0.0.0:8080->8080/tcp
|
||||||
|
```
|
||||||
|
|
||||||
|
## 存取資訊
|
||||||
|
|
||||||
|
- **網址**: `http://<SERVER_IP>:8080`
|
||||||
|
- **預設連接埠**: 8080
|
||||||
|
|
||||||
|
## 常用指令
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 查看狀態
|
||||||
|
ssh root@<SERVER_IP> "cd /opt/docker/adminer && docker compose ps"
|
||||||
|
|
||||||
|
# 查看日誌
|
||||||
|
ssh root@<SERVER_IP> "cd /opt/docker/adminer && docker compose logs"
|
||||||
|
|
||||||
|
# 停止服務
|
||||||
|
ssh root@<SERVER_IP> "cd /opt/docker/adminer && docker compose down"
|
||||||
|
|
||||||
|
# 重啟服務
|
||||||
|
ssh root@<SERVER_IP> "cd /opt/docker/adminer && docker compose restart"
|
||||||
|
|
||||||
|
# 更新映像
|
||||||
|
ssh root@<SERVER_IP> "cd /opt/docker/adminer && docker compose pull && docker compose up -d"
|
||||||
|
```
|
||||||
|
|
||||||
|
## 連接資料庫
|
||||||
|
|
||||||
|
在 Adminer 登入頁面填寫:
|
||||||
|
|
||||||
|
- **系統**: MySQL / PostgreSQL / SQLite 等
|
||||||
|
- **伺服器**: 資料庫容器名稱或 IP
|
||||||
|
- **使用者**: 資料庫使用者名稱
|
||||||
|
- **密碼**: 資料庫密碼
|
||||||
|
- **資料庫**: 資料庫名稱
|
||||||
|
|
||||||
|
## 故障排除
|
||||||
|
|
||||||
|
### 連接不上資料庫
|
||||||
|
|
||||||
|
確認資料庫容器與 Adminer 在同一個 Docker 網路,或使用容器 IP 位址。
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 查看容器 IP
|
||||||
|
docker inspect <container_name> | grep IPAddress
|
||||||
|
```
|
||||||
|
|
||||||
|
### 連接埠衝突
|
||||||
|
|
||||||
|
如果 8080 連接埠被佔用,修改 `docker-compose.yml` 中的連接埠映射:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
ports:
|
||||||
|
- "8081:8080" # 將主機連接埠改為 8081
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user