{"adoption": {"forks": 5785, "observed_at": "2026-08-28T04:11:38.887767+00:00", "stars": 26220}, "canonical_url": "https://ross.abutalabs.com/products/docker_practice", "card": {"archived": false, "artifact_type": "learning-resource", "description": "最新Docker容器技术，从真实案例中学习最佳实践！| Learn and understand Docker&Container technologies, with real DevOps practice!", "domain": ["cloud-computing", "tutorials", "developer-tools"], "enriched": true, "function": ["documentation", "developer-tools"], "health_score": 99, "homepage": "https://yeasy.gitbook.io/docker_practice/", "language": "Go", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["yeasy/docker_practice"], "name": "yeasy/docker_practice", "platform": ["cross-platform"], "pushed_at": "2026-08-26T18:44:49+00:00", "repo": "yeasy/docker_practice", "stars": 26220, "tags": ["docker", "book", "gitbook", "kubernetes", "containerization", "chinese-language", "devops", "containers", "linux"], "topics": ["docker", "book", "cloud-computing", "container", "kubernetes", "swarm", "mesos", "spark", "devops", "linux", "virtualization"], "urls": [], "use_cases": ["learn docker from scratch", "understand dockerfile and docker compose", "study kubernetes and container orchestration", "prepare for devops container deployment", "learn docker networking and data management", "understand container security and monitoring", "find docker practice examples for real deployments"], "what_it_is": "An open-source Chinese-language book, 'Docker 从入门到实践' (Docker from Beginner to Practice), teaching Docker and container technology from basics through Kubernetes orchestration and DevOps practices. It is available online via GitBook and as downloadable PDF releases, updated for Docker Engine v29.x.", "when_to_avoid": ["you need official Docker documentation or English-language material", "you want interactive hands-on labs rather than prose", "you need a tool or library rather than learning material", "you require content under a permissive license (it is CC BY-NC-SA, non-commercial)"], "when_to_choose": ["you want a free, comprehensive, regularly updated Docker tutorial", "you prefer learning from a structured book with beginner-to-advanced progression", "you want coverage of both Docker fundamentals and the surrounding ecosystem (Kubernetes, Etcd, Podman)", "you read Chinese or want the well-known Chinese Docker reference"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/docker_practice", "repo": "yeasy/docker_practice", "role": "main", "score": 96}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:38.887767+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:55:55.075589+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f779a2b1b75c4f523368e430d2f524a493d6a9c8fb14b22e99b8e9eff161a2c", "fetched_at": "2026-08-28T04:11:38.887767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yeasy/docker_practice"}, {"content_hash": "0aea5ff577a58a5460f367a36a4bfd76d2358c33c9897f40fd7aba474efecc77", "fetched_at": "2026-08-29T07:52:19.511160+00:00", "kind": "homepage", "missing": false, "url": "https://yeasy.gitbook.io/docker_practice/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:38.887767+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:55:55.075589+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f779a2b1b75c4f523368e430d2f524a493d6a9c8fb14b22e99b8e9eff161a2c", "fetched_at": "2026-08-28T04:11:38.887767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yeasy/docker_practice"}, {"content_hash": "0aea5ff577a58a5460f367a36a4bfd76d2358c33c9897f40fd7aba474efecc77", "fetched_at": "2026-08-29T07:52:19.511160+00:00", "kind": "homepage", "missing": false, "url": "https://yeasy.gitbook.io/docker_practice/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:55:55.075589+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f779a2b1b75c4f523368e430d2f524a493d6a9c8fb14b22e99b8e9eff161a2c", "fetched_at": "2026-08-28T04:11:38.887767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yeasy/docker_practice"}, {"content_hash": "0aea5ff577a58a5460f367a36a4bfd76d2358c33c9897f40fd7aba474efecc77", "fetched_at": "2026-08-29T07:52:19.511160+00:00", "kind": "homepage", "missing": false, "url": "https://yeasy.gitbook.io/docker_practice/"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:11:38.887767+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:38.887767+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:38.887767+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:55:55.075589+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f779a2b1b75c4f523368e430d2f524a493d6a9c8fb14b22e99b8e9eff161a2c", "fetched_at": "2026-08-28T04:11:38.887767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yeasy/docker_practice"}, {"content_hash": "0aea5ff577a58a5460f367a36a4bfd76d2358c33c9897f40fd7aba474efecc77", "fetched_at": "2026-08-29T07:52:19.511160+00:00", "kind": "homepage", "missing": false, "url": "https://yeasy.gitbook.io/docker_practice/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:38.887767+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:38.887767+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:55:55.075589+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f779a2b1b75c4f523368e430d2f524a493d6a9c8fb14b22e99b8e9eff161a2c", "fetched_at": "2026-08-28T04:11:38.887767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yeasy/docker_practice"}, {"content_hash": "0aea5ff577a58a5460f367a36a4bfd76d2358c33c9897f40fd7aba474efecc77", "fetched_at": "2026-08-29T07:52:19.511160+00:00", "kind": "homepage", "missing": false, "url": "https://yeasy.gitbook.io/docker_practice/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:38.887767+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:38.887767+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:38.887767+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:55:55.075589+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f779a2b1b75c4f523368e430d2f524a493d6a9c8fb14b22e99b8e9eff161a2c", "fetched_at": "2026-08-28T04:11:38.887767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yeasy/docker_practice"}, {"content_hash": "0aea5ff577a58a5460f367a36a4bfd76d2358c33c9897f40fd7aba474efecc77", "fetched_at": "2026-08-29T07:52:19.511160+00:00", "kind": "homepage", "missing": false, "url": "https://yeasy.gitbook.io/docker_practice/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:38.887767+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:38.887767+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:55:55.075589+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f779a2b1b75c4f523368e430d2f524a493d6a9c8fb14b22e99b8e9eff161a2c", "fetched_at": "2026-08-28T04:11:38.887767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yeasy/docker_practice"}, {"content_hash": "0aea5ff577a58a5460f367a36a4bfd76d2358c33c9897f40fd7aba474efecc77", "fetched_at": "2026-08-29T07:52:19.511160+00:00", "kind": "homepage", "missing": false, "url": "https://yeasy.gitbook.io/docker_practice/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:55:55.075589+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f779a2b1b75c4f523368e430d2f524a493d6a9c8fb14b22e99b8e9eff161a2c", "fetched_at": "2026-08-28T04:11:38.887767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yeasy/docker_practice"}, {"content_hash": "0aea5ff577a58a5460f367a36a4bfd76d2358c33c9897f40fd7aba474efecc77", "fetched_at": "2026-08-29T07:52:19.511160+00:00", "kind": "homepage", "missing": false, "url": "https://yeasy.gitbook.io/docker_practice/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:55:55.075589+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f779a2b1b75c4f523368e430d2f524a493d6a9c8fb14b22e99b8e9eff161a2c", "fetched_at": "2026-08-28T04:11:38.887767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yeasy/docker_practice"}, {"content_hash": "0aea5ff577a58a5460f367a36a4bfd76d2358c33c9897f40fd7aba474efecc77", "fetched_at": "2026-08-29T07:52:19.511160+00:00", "kind": "homepage", "missing": false, "url": "https://yeasy.gitbook.io/docker_practice/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:55:55.075589+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f779a2b1b75c4f523368e430d2f524a493d6a9c8fb14b22e99b8e9eff161a2c", "fetched_at": "2026-08-28T04:11:38.887767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yeasy/docker_practice"}, {"content_hash": "0aea5ff577a58a5460f367a36a4bfd76d2358c33c9897f40fd7aba474efecc77", "fetched_at": "2026-08-29T07:52:19.511160+00:00", "kind": "homepage", "missing": false, "url": "https://yeasy.gitbook.io/docker_practice/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 91}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4380, "days_push": 7, "days_rel": 60, "gap_med": 5, "n_releases_24m": 16}, "score": 96, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}