一、安裝docker
與我之前寫的原博客:ubuntu安裝milvus向量數據庫,獲取key不同,原博客獲取key已經過時
# 更新Ubuntu軟件包列表和已安裝軟件的版本:
sudo apt update# 安裝Ubuntu系統的依賴包
sudo apt-get install ca-certificates curl gnupg lsb-release# 創建 GPG 密鑰存儲目錄(首先,創建一個存儲 GPG 密鑰的目錄,如果該目錄不存在:)
sudo mkdir -p /etc/apt/keyrings# 下載并保存 Docker 的 GPG 密鑰(使用 curl 命令下載 Docker 的 GPG 密鑰并將其保存到 /etc/apt/keyrings 目錄中:)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo tee /etc/apt/keyrings/docker.asc# 添加 Docker 倉庫(然后,添加 Docker 的官方倉庫,并使用 signed-by 參數指定 GPG 密鑰文件的位置:)
# $(lsb_release -cs) 會自動替換為你當前的 Ubuntu 版本代號(例如,jammy 對應 Ubuntu 22.04)。
echo "deb [signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null# 更新 APT 軟件包列表(更新 APT 軟件包列表,使新的 Docker 倉庫生效:)
sudo apt-get update# 添加Docker軟件源
ository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"# 安裝 Docker(如果更新成功,你可以安裝 Docker:)
sudo apt-get install docker-ce docker-ce-cli containerd.io# 啟動Docker服務
sudo systemctl start docker
sudo systemctl status docker
同原博客
{
"registry-mirrors": ["https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
]
}
二、安裝docker compose?
原博客的是V1,V1已經過時了,現在安裝的是V2 也就是執行命令的時候不再是 docker-compose 而是中間不加 -
# 1. 更新包列表
sudo apt-get update# 2. 安裝插件(通常安裝 docker-ce 時已經包含,如果已安裝可跳過)
sudo apt-get install docker-compose-plugin# 3. 驗證安裝
docker compose version
# 輸出類似:Docker Compose version v2.XX.X
三、下載milvus的Compose文件
如果無法ping通github 則加上代理 # 如果還不行,嘗試第三個 (使用 gh.idayer.com)
wget https://gh.idayer.com/https://github.com/milvus-io/milvus/releases/download/v2.2.16/milvus-standalone-docker-compose.yml -O docker-compose.yml
查看docker-compose.yml被下載的路徑是啥
# 在整個系統中搜索(需要sudo權限,可能稍慢)
sudo find / -name "docker-compose.yml" 2>/dev/null
由于Docker Compose 需要在yml中顯示定義name字段,所以將yml移動到/home目錄下,例如如果原路徑是/docker-compose.yml
# 首先確保您在根目錄 /
cd /# 將 docker-compose.yml 文件移動到 /home 目錄
sudo mv docker-compose.yml /home/# 檢查文件是否已移動到 /home 目錄
ls -la /home/docker-compose.yml
四、創建主機目錄并設置權限 ?
# 創建總目錄
sudo mkdir -p /media/kyrf/機械硬盤/guazaiData/milvus
# 創建所有需要的子目錄
sudo mkdir -p /media/kyrf/機械硬盤/guazaiData/milvus/volumes/{etcd,minio,milvus,logs,conf}
# 更改所有者,確保Docker有寫入權限(重要!)
sudo chown -R 1000:1000 /media/kyrf/機械硬盤/guazaiData/milvus/volumes/
五、修改docker-compose.yml
nano docker-compose.yml
修改后的docker-compose.yml
name:milvusStandalone
services:etcd:container_name: milvus-etcdimage: quay.io/coreos/etcd:v3.5.5environment:- ETCD_AUTO_COMPACTION_MODE=revision- ETCD_AUTO_COMPACTION_RETENTION=1000- ETCD_QUOTA_BACKEND_BYTES=4294967296- ETCD_SNAPSHOT_COUNT=50000volumes:- /media/kyrf/機械硬盤/guazaiData/milvus/volumes/etcd:/etcdcommand: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcdhealthcheck:test: ["CMD", "etcdctl", "endpoint", "health"]interval: 30stimeout: 20sretries: 3minio:container_name: milvus-minioimage: minio/minio:RELEASE.2023-03-20T20-16-18Zenvironment:MINIO_ACCESS_KEY: minioadminMINIO_SECRET_KEY: minioadminports:- "9001:9001"- "9000:9000"volumes:- /media/kyrf/機械硬盤/guazaiData/milvus/volumes/minio:/minio_datacommand: minio server /minio_data --console-address ":9001"healthcheck:test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]interval: 30stimeout: 20sretries: 3standalone:container_name: milvus-standaloneimage: milvusdb/milvus:v2.3.12command: ["milvus", "run", "standalone"]security_opt:- seccomp:unconfinedenvironment:ETCD_ENDPOINTS: etcd:2379MINIO_ADDRESS: minio:9000volumes:- /media/kyrf/機械硬盤/guazaiData/milvus/volumes/milvus:/var/lib/milvushealthcheck:test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]interval: 30sstart_period: 90stimeout: 20sretries: 3ports:- "19530:19530"- "9091:9091"depends_on:- "etcd"- "minio"networks:default:name: milvus
六、啟動服務
先進入到包含docker-compose.yml 的目錄下 ,我們這里是吧yml文件移動到了/home下
sudo docker compose up -d
七、啟動attu,瀏覽(http://192.168.0.238:8000)
docker run -p 8000:3000 -e MILVUS_URL=192.168.0.238:19530 zilliz/attu:v2.3.9