安装好 docker 和 docker-compose
git clone https://github.com/dragonflyoss/Dragonfly2.git
cd ./Dragonfly2/deploy/docker-compose/
export IP=<host ip>
./run.sh
{
"registry-mirrors": ["http://127.0.0.1:65001"]
}
systemctl daemon-reload
systemctl restart docker
重启 docker 后,如果 redis 和 mysql 容器启动不了,其他容器也会无法启动,频繁重启,docker 日志报错如下
journalctl -xeu docker
Dec 25 12:29:38 a6000-2 dockerd[157647]: time="2023-12-25T12:29:38.694839782+08:00" level=error msg="stream copy error: reading from a closed fifo"
Dec 25 12:29:38 a6000-2 dockerd[157647]: time="2023-12-25T12:29:38.694846684+08:00" level=error msg="stream copy error: reading from a closed fifo"
启动 redis mysql 容器后,再分别重启无法启动的 pod 即可解决。
正常后启动的容器如下
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
27caf110ef20 dragonflyoss/dfdaemon:latest "/opt/dragonfly/bin/…" 3 hours ago Up 3 hours (healthy) 0.0.0.0:65000-65002->65000-65002/tcp, :::65000-65002->65000-65002/tcp peer
ecc9fe764fcc dragonflyoss/dfdaemon:latest "/opt/dragonfly/bin/…" 3 hours ago Up 2 hours (healthy) 65001/tcp, 0.0.0.0:65006-65008->65006-65008/tcp, :::65006-65008->65006-65008/tcp seed-peer
46ad108cdf71 dragonflyoss/scheduler:latest "/opt/dragonfly/bin/…" 3 hours ago Up 3 hours (healthy) 0.0.0.0:8002->8002/tcp, :::8002->8002/tcp scheduler
7e1d5504822c dragonflyoss/manager:latest "/opt/dragonfly/bin/…" 3 hours ago Up 3 hours (healthy) 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:65003->65003/tcp, :::65003->65003/tcp manager
fcb97801e326 mariadb:10.6 "docker-entrypoint.s…" 3 hours ago Up 3 hours (healthy) 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp mysql
9e77b05348eb redis:6-alpine "docker-entrypoint.s…" 3 hours ago Up 3 hours (healthy) 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp redis
docker pull nginx:latest
docker compose exec dfdaemon grep "peer task done" /var/log/dragonfly/daemon/core.log
或者直接进入 peer 容器查看
docker exec -it peer sh
cat /var/log/dragonfly/daemon/core.log|grep "peer task done"
如果输出类似如下的日志,代表成功。
{"level":"info","ts":"2023-12-25 05:19:49.804","caller":"peer/peertask_conductor.go:1326","msg":"peer task done, cost: 3574ms","peer":"192.168.64.18-1-433b8f5e-2759-4fc7-92c6-b164a94dc7c0","task":"a7c18a40f24b05110b121a9fda28115901327e4c4bbc3a1c4d308500be35bad6","component":"PeerTask","trace":"0327f902765798a3ebbc1beacf99fdc4"}
{"level":"info","ts":"2023-12-25 05:20:15.127","caller":"peer/peertask_conductor.go:1326","msg":"peer task done, cost: 28882ms","peer":"192.168.64.18-1-4253db56-f125-4d14-a5e0-693e86d3a93f","task":"8f86f62f2401f8e3c72f2c8689f04483ca10f24810e8113c4d6358eefb7e6207","component":"PeerTask","trace":"1914e9b388b8e7e57c565819f4532825"}
{"level":"info","ts":"2023-12-25 05:20:58.721","caller":"peer/peertask_conductor.go:1326","msg":"peer task done, cost: 2145ms","peer":"192.168.64.18-1-d0fdad30-6f59-4b54-9279-cc8ccf5d9838","task":"e37984f6f8220457913ff3167cb5fda9e6fdc6be4a6e4c18c0604f3175fe6ad8","component":"PeerTask","trace":"061cbe46b313f3f8c4c92490fe2208c4"}
{"level":"info","ts":"2023-12-25 05:21:00.065","caller":"peer/peertask_conductor.go:1326","msg":"peer task done, cost: 3507ms","peer":"192.168.64.18-1-01aa8814-7b9d-42a5-bf22-a597d499947f","task":"707b23662a78a010a2ca7ad5a08c0e50afeffac481f66525d245a4da9b1e3b3b","component":"PeerTask","trace":"7bc0450ed6733e2e55fab1214cbb52b9"}
curl --location --request POST 'http://192.168.64.18:8080/api/v1/jobs' --header 'Content-Type: application/json' --data-raw '{
"type": "preheat",
"args": {
"type": "image",
"url": "https://index.docker.io/v2/library/redis/manifests/latest"
}
}'
curl --location --request POST 'http://192.168.64.18:8080/oapi/v1/jobs' --header 'Content-Type: application/json' --header 'Authorization: Bearer NmNhZjJmOTgtNGRjYy00MGU3LWE5ZGMtNDMyZTExMTJhMTQ5' --data-raw '{
"type": "preheat",
"args": {
"type": "image",
"url": "https://uhub.service.ucloud.cn/v2/openbayesruntimes/pytorch/manifests/1.8.2-py38-cu111.87",
"filter": "Expires&Signature",
"username": "[email protected]",
"password": "Signcl2013&&"
}
}'
{"id":2,"created_at":"2023-12-26T04:12:19Z","updated_at":"2023-12-26T04:12:19Z","is_del":0,"task_id":"group_a2f0f879-c744-4925-902c-f4ff8690e87d","bio":"","type":"preheat","state":"PENDING","args":{"filter":"Expires\u0026Signature","headers":null,"password":"Signcl2013\u0026\u0026","platform":"","tag":"","type":"image","url":"https://uhub.service.ucloud.cn/v2/openbayesruntimes/pytorch/manifests/1.8.2-py38-cu111.87","username":"[email protected]"},"result":null,"user_id":0,"user":{"id":0,"created_at":"0001-01-01T00:00:00Z","updated_at":"0001-01-01T00:00:00Z","is_del":0,"email":"","name":"","avatar":"","phone":"","state":"","location":"","bio":"","configs":null},"seed_peer_clusters":null,"scheduler_clusters":[{"id":1,"created_at":"2023-12-25T04:13:57Z","updated_at":"2023-12-25T04:13:57Z","is_del":0,"name":"cluster-1","bio":"","config":{"candidate_parent_limit":4,"filter_parent_limit":15},"client_config":{"load_limit":50},"scopes":{},"is_default":true,"seed_peer_clusters":null,"schedulers":null,"peers":null,"jobs":null}]}
https://d7y.io/docs/next/getting-started/quick-start/docker-compose/