系統用的是Ubuntu 22.04 LTS
1、安裝Docker
sudo apt update
sudo apt install -y docker.io docker-compose
sudo systemctl start docker
sudo systemctl enable docker# 如果不想每次用 sudo,可以加權限
sudo usermod -aG docker $USER
2、安裝 docker-compose
下載最新 docker-compose 二進制文件
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
3、安裝MySQL
docker run -d --name mysql-sonic \-e MYSQL_ROOT_PASSWORD=123123 \-p 3306:3306 \mysql:5.7
進入MySQL進行配置,?創建對外賬戶
# 進入MySql
docker exec -it mysql-sonic mysql -u root -p
--輸入密碼# 示例:創建新用戶
CREATE USER 'myuser'@'%' IDENTIFIED BY '123123';
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;# 創建數據庫
CREATE DATABASE sonic
CHARACTER SET utf8
COLLATE utf8_general_ci;# 退出MySQL
\q
4、克隆或下載Sonic
4.1下載Sonic
下載本地后,解壓上傳到服務器
4.2Gitee下載(建議使用4.1)
Sonic生成公鑰:
# 生成公鑰,改成自己的郵箱
ssh-keygen -t rsa -C "xxx@xxx.com"
# 一路按回車,生成默認的 ~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub#輸出公鑰內容
cat ~/.ssh/id_rsa.pub
?將公鑰復制到Gitee賬戶設置中
驗證Gitee是否連接成功
ssh -T git@gitee.com
?看到輸出:?
Hi lyc0311(@lyc0311)! You've successfully authenticated, but GITEE.COM does not provide shell access.
?克隆Sonic
git clone https://gitee.com/sonic-cloud/sonic-server.git
cd sonic-server
5、配置.env 和拉取
# 進入.env 進行編輯
cp .env.example .env
nano .env
################################################
# Do you need any help? #
# Visit https://sonic-cloud.cn/deploy #
##################################################################
# Service Config #
##################
SONIC_SERVER_HOST=192.168.68.19 #電腦的本地IP
SONIC_SERVER_PORT=3000
SONIC_EUREKA_USERNAME=sonic
SONIC_EUREKA_PASSWORD=sonic
SONIC_EUREKA_PORT=8761################
# MySQL Config #
################
MYSQL_HOST=192.168.68.19 #電腦的本地IP
MYSQL_PORT=3306
MYSQL_DATABASE=sonic #MySQL數據庫名稱
MYSQL_USERNAME=myuser #外部訪問賬戶
MYSQL_PASSWORD=123123 #密碼################
# User Config #
################
SECRET_KEY=sonic
EXPIRE_DAY=14
PERMISSION_ENABLE=true
PERMISSION_SUPER_ADMIN=sonic
REGISTER_ENABLE=true
NORMAL_USER_ENABLE=true
LDAP_USER_ENABLE=false
LDAP_USER_ID=cn
LDAP_BASE_DN=ou=users
LDAP_BASE=ou=system
LDAP_USERNAME=uid=admin,ou=system
LDAP_PASSWORD=sonic
LDAP_URL=ldap://192.168.68.19:10389 電腦的本地IP
LDAP_OBJECT_CLASS=person
# 進入Sonic的文件
cd /home/ubuntu/sonic-server# 更新Docker配置文件 (加速器在文章發布時可用)
sudo tee /etc/docker/daemon.json > /dev/null <<EOF
{"registry-mirrors": ["https://docker-mirror.aigc2d.com" ]
}
EOF# 重啟docker
sudo systemctl daemon-reexec
sudo systemctl restart docker# 拉取
docker-compose up -d
6、運行情況
docker ps
7、其他
7.1重啟網絡?
docker-compose down
docker network prune
docker-compose up -d
?7.2查詢容器運行情況
docker ps -a
7.3報錯
大概率是server-controller報錯,可以將日志輸出 問一下deepseek。
# sonic-server-v272_y_sonic-server-controller_1 是容器名稱
docker logs --tail=200 sonic-server-v272_y_sonic-server-controller_1
以下是正常情況輸出內容?
我遇到的問題是
創建一個新的數據庫
# 登錄root賬戶
mysql -u root -p
#輸入密碼# 創建數據庫
CREATE DATABASE sonictest
CHARACTER SET utf8
COLLATE utf8_general_ci;
?修改.env 重啟容器解決