{ "version": "https://jsonfeed.org/version/1", "title": "Docker", "description": "\u57fa\u4e8e Linux Container \u6280\u672f\u7684\u8f7b\u91cf\u7ea7\u865a\u62df\u5316\u73af\u5883\u3002", "home_page_url": "go/docker", "feed_url": "feed/docker.json", "icon": "https://cdn.v2ex.com/navatar/e7f8/a7fb/716_large.png?m=1718314882", "favicon": "https://cdn.v2ex.com/navatar/e7f8/a7fb/716_normal.png?m=1718314882", "items": [ { "author": { "url": "member/52pojie", "name": "52pojie", "avatar": "https://cdn.v2ex.com/avatar/527c/0ce2/511156_large.png?m=1773650166" }, "url": "t/1206807", "title": "\u8bf7\u95ee\u6211\u7684 OrbStack \u4e3a\u4ec0\u4e48\u603b\u662f\u5f39\u51fa\uff1f", "id": "t/1206807", "date_published": "2026-04-18T03:32:23+00:00", "content_html": "

\u5f00\u4e86\u4e00\u4e2a v2rayn \uff0c\u8ddf\u8fd9\u4e2a\u6709\u5173\u7cfb\u5417\uff1f\n\"\"

\n" }, { "author": { "url": "member/52pojie", "name": "52pojie", "avatar": "https://cdn.v2ex.com/avatar/527c/0ce2/511156_large.png?m=1773650166" }, "url": "t/1204216", "title": "\u8bf7\u95ee OrbStack \u754c\u9762\u4e0b\u4e0d\u80fd\u4fee\u6539\u53c2\u6570\u5417\uff1f", "id": "t/1204216", "date_published": "2026-04-08T02:09:31+00:00", "content_html": "

\u60f3\u4fee\u6539\u7aef\u53e3\u6620\u5c04\u8def\u5f84\uff0c\u662f\u8fd8\u8981\u5728\u7ec8\u7aef\u4e0b\u64cd\u4f5c\u5417\uff1f OrbStack \u754c\u9762\u4e0b\u6ca1\u627e\u5230\u80fd\u4fee\u6539\u7684\u5730\u65b9\u554a

\n" }, { "author": { "url": "member/52pojie", "name": "52pojie", "avatar": "https://cdn.v2ex.com/avatar/527c/0ce2/511156_large.png?m=1773650166" }, "url": "t/1203809", "title": "\u5c0f\u767d\u6c42\u95ee\u5982\u4f55\u8ba9 OrbStack \u8d70\u4ee3\u7406", "id": "t/1203809", "date_published": "2026-04-06T08:27:40+00:00", "content_html": "

macmini \u7528\u7684 v2rayn \uff0c\u73b0\u5728\u9ed8\u8ba4 OrbStack \u597d\u50cf\u8d70\u4e0d\u4e86\u4ee3\u7406\uff0c\u62c9\u53d6\u955c\u50cf\u5931\u8d25\uff0c\u8bf7\u95ee\u60f3\u8ba9 OrbStack \u8d70 v2rayn \u4ee3\u7406\uff0c \u8bf7\u95ee\u5982\u4f55\u914d\u7f6e

\n" }, { "author": { "url": "member/yujianwjj", "name": "yujianwjj", "avatar": "https://cdn.v2ex.com/gravatar/1f488ec8d742b28f39e69f9ad297e139?s=73&d=retro" }, "url": "t/1202386", "title": "mac \u4e0a\u9762\u7684 docker desktop \u90fd\u66f4\u65b0\u4e9b\u5565\u554a", "id": "t/1202386", "date_published": "2026-03-31T00:14:21+00:00", "content_html": "

\u66f4\u65b0\u9891\u7387\u611f\u89c9\u8ddf cursor \u4e00\u6837\uff0ccursor \u6bcf\u6b21\u66f4\u65b0\u90fd\u6709\u65b0\u7684\u529f\u80fd\u3002docker desktop \u611f\u89c9\u4e5f\u662f\u9694\u51e0\u5929\u5c31\u66f4\u65b0\u4e00\u6b21\uff0c\u90fd\u4e0d\u77e5\u9053\u66f4\u65b0\u4e9b\u5565\u3002

\n" }, { "author": { "url": "member/chokinsen", "name": "chokinsen", "avatar": "https://cdn.v2ex.com/avatar/5732/6f1f/720657_large.png?m=1770349489" }, "url": "t/1191161", "title": "\u963f\u91cc\u4e91\u8f7b\u91cf\u670d\u52a1\u5668\u4e2d\u62c9\u53d6 Docker \u955c\u50cf\u95ee\u9898", "id": "t/1191161", "date_published": "2026-02-06T03:47:46+00:00", "content_html": "

\u5404\u4f4d\u5927\u4f6c\uff0c\u79df\u7528\u4e86\u4e00\u53f0\u963f\u91cc\u4e91\u8f7b\u91cf\u670d\u52a1\u5668\uff0c\u94fe\u63a5\u4e0a\u4e4b\u540e\u7528 Docker \u90e8\u7f72\u9879\u76ee\u3002\n\u5df2\u7ecf\u5728/etc/docker/daemon.json \u8fd9\u4e2a\u6587\u4ef6\u91cc\u914d\u7f6e\u91cc\u963f\u91cc\u4e91\u63a8\u8350\u7684\u955c\u50cf\u5730\u5740\uff08 https://qkpevwpj.mirror.aliyuncs.com \uff09\uff0c\u7528 docker info \u547d\u4ee4\u4e5f\u53ef\u4ee5\u770b\u5230\u914d\u7f6e\u7684\u955c\u50cf\u5730\u5740\n\u4f46\u662f\u6211\u4f7f\u7528 docker-compose up -d --build \u542f\u52a8\u7684\u65f6\u5019\u8fd8\u662f\u4f1a\u62a5\u9519

\n
root@aaaaaaaaaaaaa:/opt/myapp# docker-compose up -d --build\nPulling redis (redis:7)...\nERROR: Get \"https://registry-1.docker.io/v2/\": context deadline exceeded\n
\n

\u770b\u8d77\u6765\u50cf\u662f\u955c\u50cf\u6ca1\u914d\u7f6e\u4e0a\uff0c\u4f46\u662f\u6211\u91cd\u542f docker \uff0c\u5237\u65b0\u7f51\u7edc\u7f13\u5b58\uff0c\u91cd\u542f\u670d\u52a1\u5668\u90fd\u8bd5\u8fc7\u4e86\uff0c\u8bf7\u95ee\u8fd9\u662f\u963f\u91cc\u4e91\u7684\u95ee\u9898\u5417\uff1f

\n" }, { "author": { "url": "member/sn0wdr1am", "name": "sn0wdr1am", "avatar": "https://cdn.v2ex.com/gravatar/c6a7919632a1797e1f075dc31ffb0e87?s=73&d=retro" }, "url": "t/1191033", "title": "\u73b0\u5728\u5927\u5bb6\u5982\u4f55\u62c9\u53d6 Docker \u955c\u50cf\uff1f", "id": "t/1191033", "date_published": "2026-02-05T11:14:14+00:00", "content_html": "
    \n
  1. \u4e4b\u524d\u642d\u7684 Cloudflare \u53cd\u4ee3 docker \u955c\u50cf\u7f51\u7ad9\u597d\u50cf\u6ca1\u6cd5\u7528\u4e86\u3002
  2. \n
  3. \u4f7f\u7528\u4ee3\u7406\uff0c\u62c9\u53d6 docker \u955c\u50cf\u7684\u901f\u5ea6\u4e5f\u5f88\u611f\u4eba\u3002\uff08 10KB/s - 40KB/s \uff09
  4. \n
  5. \u4e4b\u524d\u7528\u963f\u91cc\u4e91\u955c\u50cf\u7684\u65f6\u5019\uff0c\u51fa\u73b0\u8fc7\u4e00\u4e2a\u5f88\u6076\u5fc3\u7684\u95ee\u9898\u3002\uff08\u62c9\u53d6\u955c\u50cf latest \u4e0b\u8f7d\u5230\u5f88\u4e45\u4e4b\u524d\u7684\u955c\u50cf\uff09
  6. \n
  7. \u611f\u89c9\u6ca1\u6cd5\u5feb\u901f\u62c9\u53d6 docker \u955c\u50cf\u4e86\u3002
  8. \n
\n" }, { "author": { "url": "member/netnr", "name": "netnr", "avatar": "https://cdn.v2ex.com/avatar/9bfd/9fda/426497_large.png?m=1758579152" }, "url": "t/1185940", "title": "\u8f7b\u91cf\u7ea7 OCR \u6587\u5b57\u8bc6\u522b\u670d\u52a1 netnr/liteocr", "id": "t/1185940", "date_published": "2026-01-15T08:19:34+00:00", "content_html": "

https://hub.docker.com/r/netnr/liteocr

\n

\u8bc6\u522b\u7ed3\u679c\u4ec5\u7eaf\u6587\u5b57\uff0c\u4e0d\u9002\u5408\u4e13\u4e1a\u573a\u666f

\n
docker run -d -p 7715:7715 --name liteocr netnr/liteocr\n
\n
# PUT\ncurl http://localhost:7715/api/ocr -T image.png\n\n# GET URL\ncurl \"http://localhost:7715/api/ocr?url=https://example.com/image.png\"\n\n# POST file\ncurl -X POST http://localhost:7715/api/ocr -F \"file=@image.png\"\n\n# Swagger\nhttp://localhost:7715/swagger\n
\n" }, { "author": { "url": "member/YanSeven", "name": "YanSeven", "avatar": "https://cdn.v2ex.com/avatar/3f22/feff/383743_large.png?m=1775465214" }, "url": "t/1184221", "date_modified": "2026-01-11T03:29:10+00:00", "content_html": "\u4e3a\u4ec0\u4e48 TUN+\u89c4\u5219\u4e5f\u4e0d\u884c\uff0c\u6211\u770b\u4e86\u4e0b\u8bf7\u6c42\u8bb0\u5f55\u91cc\u9762\u7684\uff0c\u65e0\u8bba\u662f\u89c4\u5219\u8fd8\u662f\u5168\u5c40\uff0c\u90fd\u8d70\u4e86\u4ee3\u7406\u554a\u3002", "date_published": "2026-01-09T05:41:30+00:00", "title": "\u73b0\u5728\u5b98\u65b9 docker \u62c9\u955c\u50cf\u5fc5\u987b TUN+\u5168\u5c40\u4e86\u5417", "id": "t/1184221" }, { "author": { "url": "member/NEANC", "name": "NEANC", "avatar": "https://cdn.v2ex.com/avatar/3685/9f9f/571705_large.png?m=1722786969" }, "url": "t/1180794", "date_modified": "2025-12-25T00:39:09+00:00", "content_html": "

\u76ee\u524d\u662f\u901a\u8fc7 OpenResty \u624b\u52a8\u7ba1\u7406\u7684\uff0c\u670d\u52a1\u4e0d\u591a\u7684\u60c5\u51b5\u4e0b\u624b\u52a8\u52a0\u4e2d\u95f4\u4ef6 TinyAuth \u8fd8\u80fd\u63a5\u53d7\uff0c\u540e\u9762\u670d\u52a1\u591a\u4e86\u6211\u6015\u4f1a\u5f88\u5934\u75bc\u3002

\n

\u4f46\u4f7f\u7528 OpenResty \u505a\u53cd\u4ee3\u7684\u60c5\u51b5\u4e0b\uff0c\u611f\u89c9\u52a0\u4e2a Traefik \u4e2a\u4e5f\u662f\u8981\u624b\u52a8\u914d\u7f6e\uff0c\u8981\u662f\u6709\u4e2a\u7c7b\u4f3c\u7684\u73a9\u610f\u5c31\u597d\u4e86

\n

\u65e2\u80fd\u81ea\u52a8\u53d1\u73b0\u4e5f\u80fd\u624b\u52a8\u914d\u7f6e\uff0c\u6211\u662f\u4e0d\u662f\u60f3\u5f97\u592a\u7f8e\u4e86 XD

\n", "date_published": "2025-12-24T00:26:20+00:00", "title": "\u8bf7\u6559\u4e00\u4e0b\u4f6c\u4eec\uff0c\u5728\u4f7f\u7528 1panel \u7684\u60c5\u51b5\u4e0b\uff0c\u6709\u6ca1\u6709\u5fc5\u8981\u518d\u90e8\u7f72 Traefik \u4f5c\u4e3a Docker \u7edf\u4e00\u7f51\u5173\uff1f", "id": "t/1180794" }, { "author": { "url": "member/movq", "name": "movq", "avatar": "https://cdn.v2ex.com/avatar/046c/e28c/463491_large.png?m=1683787993" }, "url": "t/1180420", "date_modified": "2025-12-22T15:52:58+00:00", "content_html": "", "date_published": "2025-12-22T06:50:29+00:00", "title": "\u521b\u5efa docker \u955c\u50cf\u65f6\u4e3a\u4e86\u9632\u6b62\u7ed3\u675f\uff0c\u8fd0\u884c sleep infinity \u548c tail -f /dev/null \u54ea\u4e2a\u66f4\u597d", "id": "t/1180420" }, { "author": { "url": "member/eephee", "name": "eephee", "avatar": "https://cdn.v2ex.com/avatar/a967/a383/539657_large.png?m=1719558879" }, "url": "t/1180383", "title": "2025 \u5e74\u4e86\uff0c\u5927\u5bb6\u516c\u53f8\u7684\u670d\u52a1\u5668\u7528\u7684\u662f debian \u8fd8\u662f ubuntu \u5440", "id": "t/1180383", "date_published": "2025-12-22T04:36:57+00:00", "content_html": "

\u6211\u4eec\u516c\u53f8\u4e00\u76f4\u7528\u7684 openjdk:11-jre \u7684 docker \u955c\u50cf\uff0c\u73b0\u5728\u51c6\u5907\u6362\u6210 eclipse-temurin \u4e86\uff0c\u4e3b\u8981\u662f\u56e0\u4e3a\u516c\u53f8\u8981\u8fc1\u79fb\u5230\u8f83\u65b0\u7248\u672c\u7684 k8s \u96c6\u7fa4\u4e86\uff0ck8s \u540e\u9762\u4f1a\u53ea\u80fd\u652f\u6301 cgroup v2 \u673a\u5668\u3002eclipse-temurin \u5bf9 cgroup v2 \u652f\u6301\u6bd4 openjdk \u8981\u597d\u3002

\n

\u56e0\u4e3a openjdk:11-jre \u662f\u57fa\u4e8e debian \u6784\u5efa\u7684\uff0c\u6240\u4ee5\u6211\u5e73\u5e38\u521b\u5efa ECS \u65f6\u4e5f\u503e\u5411\u4e8e\u7528 debian \uff0c\u7ed9\u5ba2\u6237\u7684\u90e8\u7f72\u8bf4\u660e\u6587\u6863\u90fd\u662f\u4f18\u5148\u63a8\u8350 debian \u7cfb\u7edf\uff0c\u8fd9\u6837\u4f53\u9a8c\u4e0a\u6bd4\u8f83\u4e00\u81f4\u3002

\n

\u73b0\u5728 eclipse-temurin \u662f\u57fa\u4e8e ubuntu \u6784\u5efa\u7684\uff0c\u4f46\u662f\u6211\u7684 ECS \u4ecd\u7136\u662f debian \uff0c\u4f7f\u7528\u4e0a\u603b\u662f\u6709\u70b9\u4e0d\u723d\uff0c\u867d\u7136\u5e73\u65f6\u7528\u8d77\u6765\u90fd\u5dee\u4e0d\u591a\uff0c\u6bd5\u7adf ubuntu \u4e5f\u662f\u57fa\u4e8e debian \uff0c\u4f46\u662f\u5bf9\u4e8e\u8f7b\u5fae\u5f3a\u8feb\u75c7\u7684\u6211\u6765\u8bf4\u8fd8\u662f\u6709\u4e00\u4e22\u4e22\u4e0d\u723d\u3002

\n

\u4e0d\u77e5\u9053\u5927\u5bb6\u7528 ubuntu \u591a\u8fd8\u662f debian \u591a\uff0c\u5c31\u670d\u52a1\u5668\u7aef\u6765\u8bf4\u7684\u8bdd

\n" }, { "author": { "url": "member/DejavuMoe", "name": "DejavuMoe", "avatar": "https://cdn.v2ex.com/avatar/1739/33b7/532638_large.png?m=1768714826" }, "url": "t/1179714", "title": "Watchtower \u505c\u6b62\u7ef4\u62a4", "id": "t/1179714", "date_published": "2025-12-18T04:17:09+00:00", "content_html": "

https://github.com/containrrr/watchtower/discussions/2135

\n" }, { "author": { "url": "member/zhoufan47", "name": "zhoufan47", "avatar": "https://cdn.v2ex.com/gravatar/fa322bbd5f1d1a8a7ecc6aac84d3933f?s=73&d=retro" }, "url": "t/1179680", "title": "NAS \u4e0a\u90e8\u7f72\u81ea\u5236 docker \u7a0b\u5e8f\u53d1\u751f\u7f51\u7edc\u8fde\u63a5\u76f8\u5173\u95ee\u9898", "id": "t/1179680", "date_published": "2025-12-18T02:59:48+00:00", "content_html": "

\u4e4b\u524d\u4e00\u76f4\u90fd\u662f\u7528\u5176\u4ed6\u5f00\u53d1\u8005 build \u7684 docker \u6210\u54c1\n\u6628\u5929\u7b97\u662f\u9996\u6b21\u628a\u81ea\u5df1\u5199\u7684 python \u7a0b\u5e8f\u6253\u5305\u6210 docker \uff0c\u90e8\u7f72\u5230\u81ea\u5df1\u7684\u5a01\u8054\u901a nas \u4e0a\n\u7136\u540e\u5c31\u51fa\u73b0\u4e86\u4e00\u4e2a\u5f88\u5947\u602a\u7684\u95ee\u9898\n\u53ea\u8981\u628a\u8fd9\u4e2a\u5bb9\u5668\u7684\u7f51\u7edc\u6a21\u5f0f\u8bbe\u7f6e\u6210 bridge \u540e\uff0c\u8fd9\u4e2a\u5bb9\u5668\u91cc\u8fd0\u884c\u7684 python \u7a0b\u5e8f\u5c31\u6ca1\u529e\u6cd5\u8fde\u63a5\u5916\u7f51\uff0cfast api \u63d0\u4f9b\u7684\u63a5\u53e3\uff0c\u5916\u90e8\u7f51\u7edc\u4e5f\u65e0\u6cd5\u8bbf\u95ee\u3002docker exec \u8fdb\u53bb\u540e\uff0c\u5b9e\u9645\u53ef\u4ee5 curl \u5230\u4e92\u8054\u7f51\n\u4f46\u662f\u628a docker \u7f51\u7edc\u8bbe\u7f6e\u6210 nat+\u7aef\u53e3\u6620\u5c04\uff0c\u90a3\u5c31\u53ef\u4ee5\u6b63\u5e38\u4ece\u5916\u90e8\u7f51\u7edc\u8bbf\u95ee\u4ee5\u53ca\u5bb9\u5668\u5185\u7684 python \u7a0b\u5e8f\u4e5f\u80fd\u6b63\u5e38\u8bbf\u95ee\u5916\u90e8\u7f51\u7edc\u3002\n\u8fd9\u4f1a\u662f\u4ec0\u4e48\u95ee\u9898\u5462\uff1f\u6709\u4eba\u9047\u5230\u8fc7\u6216\u8005\u53ef\u4ee5\u6307\u6307\u8def\u4e48

\n" }, { "author": { "url": "member/BeforeTooLate", "name": "BeforeTooLate", "avatar": "https://cdn.v2ex.com/avatar/0dae/9391/455039_large.png?m=1769153923" }, "url": "t/1177620", "date_modified": "2025-12-08T08:23:51+00:00", "content_html": "

\u5df2\u7ecf docker pull \u4e0b\u5b98\u65b9\u7684 centos6.8 \u955c\u50cf\uff0c
\n\u4f46\u662f\u5f53\u6211\u6267\u884c >docker run -it --name centos68_test centos:6.8 /bin/bash
\n\u53d1\u73b0\u8fdb\u4e0d\u53bb\u5bb9\u5668\u91cc\u9762\uff0c\u67e5\u4e86\u4e0b\u8bf4\u73b0\u4ee3\u7684 docker \u90fd\u4e0d\u652f\u6301\u4e86\uff0c\u5efa\u8bae\u6211\u7528 centos7 \u7248\u672c\u4ee5\u4e0a\u5bb9\u5668\u955c\u50cf\uff0c\u4f46\u662f\u6211\u5982\u679c\u53ea\u60f3\u590d\u523b\u4ee3\u7801\u5c4e\u5c71\u539f\u5148\u73af\u5883\u600e\u4e48\u529e\uff0c\u964d docker \u7248\u672c\uff1f

\n", "date_published": "2025-12-08T08:14:03+00:00", "title": "\u8bf7\u95ee\u4e0b\u73b0\u4ee3\u7684 docker \u7248\u672c\uff0c\u662f\u65e0\u6cd5\u518d\u4f7f\u7528 centos6.8 \u8fd9\u7c7b\u5bb9\u5668\u4e86\u4e48\uff1f", "id": "t/1177620" }, { "author": { "url": "member/loganovo", "name": "loganovo", "avatar": "https://cdn.v2ex.com/avatar/23d5/c262/572769_large.png?m=1746526781" }, "url": "t/1177200", "title": "\u73b0\u5728\u662f\u4e0d\u63a8\u8350\u4f7f\u7528 \u963f\u91cc\u4e91\u6216\u817e\u8baf\u4e91\u6216\u9ad8\u6821\u7684 dokcer \u955c\u50cf\u6e90\u5417? \u4e3a\u4ec0\u4e48? \r\n\u4e00\u76f4\u6302\u68af\u5b50\u7528 docker, \u4e0d\u4e86\u89e3\u73b0\u5728\u7684\u60c5\u51b5\u4e86", "id": "t/1177200", "date_published": "2025-12-05T10:22:36+00:00", "content_html": "" }, { "author": { "url": "member/eephee", "name": "eephee", "avatar": "https://cdn.v2ex.com/avatar/a967/a383/539657_large.png?m=1719558879" }, "url": "t/1176455", "title": "\u79c1\u6709\u5316\u90e8\u7f72\u4e86\u4e00\u5957\u516c\u53f8\u7684\u7cfb\u7edf\uff0c\u5982\u4f55\u6709\u6548\u4fdd\u62a4\u5bb9\u5668\u91cc\u9762\u7684\u6587\u4ef6\u4e0d\u88ab\u5ba2\u6237\u62ff\u5230", "id": "t/1176455", "date_published": "2025-12-02T11:12:37+00:00", "content_html": "

\u76ee\u524d\u6211\u4eec\u7684\u4e1a\u52a1\u7cfb\u7edf\u4e2d\u6709\u4e00\u4e2a java \u540e\u7aef\u670d\u52a1\uff0c\u8be5\u670d\u52a1\u7684 docker \u955c\u50cf\u4e2d\u9664\u4e86\u5305\u542b\u6784\u5efa\u597d\u7684 jar \u5305\u5916\uff0c\u8fd8\u5305\u542b\u4e86\u4e00\u4e2a\u4e8c\u8fdb\u5236\u53ef\u6267\u884c\u6587\u4ef6\u548c\u4e00\u4e9b\u52a8\u6001\u5e93\uff0c\u8fd0\u884c\u65f6 java \u4f1a\u5f00\u5b50\u8fdb\u7a0b\u8c03\u7528\u8fd9\u4e2a\u4e8c\u8fdb\u5236\u6587\u4ef6\u53bb\u505a\u4e00\u4e9b\u4e8b\u60c5\u3002\u7531\u4e8e\u8fd9\u4e2a\u4e8c\u8fdb\u5236\u6587\u4ef6\u4f9d\u8d56\u7684\u590d\u6742\u6027\uff0c\u6211\u4e0d\u592a\u597d FROM scratch \u53bb\u6784\u5efa\u955c\u50cf\uff0c\u56e0\u6b64\u76ee\u524d\u6211\u662f\u57fa\u4e8e debian \u53bb\u6784\u5efa\u7684\u955c\u50cf\u3002

\n

\u79c1\u6709\u5316\u90e8\u7f72\u65f6\uff0c\u6211\u4eec\u4f1a\u5728\u5ba2\u6237\u63d0\u4f9b\u7684\u673a\u5668\u4e0a\u9762\u90e8\u7f72\u4e00\u4e2a k3s \u96c6\u7fa4\u6765\u8dd1\u8fd9\u5957\u7cfb\u7edf\u3002

\n

\u9886\u5bfc\u8bf4\u8981\u9632\u6b62\u5ba2\u6237\u8fdb\u5165\u5bb9\u5668\u62ff\u5230\u91cc\u9762\u7684\u4e8c\u8fdb\u5236\u53ef\u6267\u884c\u6587\u4ef6\u548c\u52a8\u6001\u5e93\uff0c\u6211\u76ee\u524d\u662f\u5728\u6784\u5efa\u955c\u50cf\u65f6\u5c06 bash|sh|dash \u6084\u6084\u79fb\u52a8\u5230\u5176\u4ed6\u76ee\u5f55\u4e0b\uff08\u65b9\u4fbf\u6211\u4eec\u81ea\u5df1\u8c03\u8bd5\uff09\uff0c\u4f46\u662f\u6211\u77e5\u9053\u8fd9\u4e2a\u505a\u6cd5\u5176\u5b9e\u662f\u63a9\u8033\u76d7\u94c3\uff0c\u56e0\u4e3a\u53ea\u8981\u522b\u4eba\u62f7\u8d1d\u4e00\u4e2a shell \u6587\u4ef6\u8fdb\u53bb\u5c31\u53ef\u4ee5\u7834\u89e3\u3002

\n

\u60f3\u95ee\u4e00\u4e0b\u5173\u4e8e\u8fd9\u5757\u76ee\u524d\u6709\u6ca1\u6709\u4eba\u6709\u76f8\u5bf9\u6210\u719f\u7684\u65b9\u6848\u5462

\n" }, { "author": { "url": "member/loveqianool", "name": "loveqianool", "avatar": "https://cdn.v2ex.com/avatar/48c7/bd64/48403_large.png?m=1500796238" }, "url": "t/1175711", "title": "Docker 29.1 \u4e0d\u80fd\u89e3\u6790\u5916\u90e8 dns", "id": "t/1175711", "date_published": "2025-11-28T08:56:24+00:00", "content_html": "

\u6392\u67e5\u4e86\u51e0\u4e2a\u5c0f\u65f6\uff0c\u770b reddit \u624d\u53d1\u73b0\u662f docker \u95ee\u9898\u3002

\n

\u89e3\u51b3\u65b9\u6848\u662f\u964d\u7ea7 docker \u6216 \u91cd\u65b0\u65b0\u5efa\u5bb9\u5668\u3002\n\u91cd\u542f\u670d\u52a1\u5668\u65e0\u6548\uff0c\u5fc5\u987b docker compose down \u65b0\u5efa\u5bb9\u5668\u3002

\n" }, { "author": { "url": "member/handwork", "name": "handwork", "avatar": "https://cdn.v2ex.com/gravatar/f9915cd8db3faf8185af61e0fea48deb?s=73&d=retro" }, "url": "t/1172165", "title": "\u6c42\u52a9 docker \u4e2d\u5b89\u88c5 portainer \u4e0d\u80fd\u8fde\u63a5 docker.sock", "id": "t/1172165", "date_published": "2025-11-12T01:12:20+00:00", "content_html": "

docker \u6309\u6b64\u5b89\u88c5 portainer:

\n
docker run -d -p 9443:9443 -p 8000:8000 \\\n --name portainer --restart always \\\n -v /var/run/docker.sock:/var/run/docker.sock \\\n -v portainer_data:/data \\\n -v /data/certs:/certs \\\n portainer/portainer-ce:lts \\\n --tlscert /certs/fullchain.cer \\\n --tlskey /certs/domain.key\n
\n

\u5b89\u88c5\u6210\u529f\u540e\uff0c\u767b\u5f55\u8fdb\u5165\u540e Environments \u8fde\u63a5\u663e\u793a\u201cUp\u201d\uff0c\u70b9\u51fb\u5c31\u53d8\u201cDown\u201d\uff0c\u8fc7\u4f1a\u53c8\u201cUp\u201d,\u70b9\u51fb\u53c8\u201cDown\u201d,\u63d0\u793a\u201cFailed loading environment\u201d

\n

Environments \u662f unix:///var/run/docker.sock \uff0c

\n

\u67e5 portainer \u65e5\u5fd7\uff1a

\n
2025/11/12 12:58AM INF github.com/portainer/portainer/api/cmd/portainer/main.go:325 > encryption key file not present | filename=/run/secrets/portainer\n2025/11/12 12:58AM INF github.com/portainer/portainer/api/cmd/portainer/main.go:365 > proceeding without encryption key |\n2025/11/12 12:58AM INF github.com/portainer/portainer/api/database/boltdb/db.go:137 > loading PortainerDB | filename=portainer.db\n2025/11/12 12:58AM INF github.com/portainer/portainer/api/chisel/service.go:228 > generated a new Chisel private key file | private-key=/data/chisel/private-key.pem\n2025/11/12 00:58:48 server: Reverse tunnelling enabled\n2025/11/12 00:58:48 server: Fingerprint G7ulBdMzW20ZXnDOtfZM6smFEqP7JeDe7nUu5T2GNJc=\n2025/11/12 00:58:48 server: Listening on http://0.0.0.0:8000\n2025/11/12 12:58AM INF github.com/portainer/portainer/api/cmd/portainer/main.go:636 > starting Portainer | build_number=236 go_version=1.24.9 image_tag=2.33.3-linux-amd64 nodejs_version=18.20.8 version=2.33.3 webpack_version=5.88.2 yarn_version=1.22.22\n2025/11/12 12:58AM INF github.com/portainer/portainer/api/http/server.go:367 > starting HTTPS server | bind_address=:9443\n2025/11/12 12:58AM INF github.com/portainer/portainer/api/http/server.go:351 > starting HTTP server | bind_address=:9000\n2025/11/12 12:59AM ERR github.com/portainer/portainer/api/internal/snapshot/snapshot.go:213 > the Podman environment option doesn't support Docker environments. Please select the Docker option instead. | error=\"the Podman environment option doesn't support Docker environments. Please select the Docker option instead.\" endpoint=local\n
\n

\u6700\u540e 1 \u6761\u6709\u4e2a ERR \uff0c\u201cPodman environment option doesn't support Docker environments\u201d\u3002\nPodman \u548c Docker \u8bc6\u522b\u9519\u8bef\uff1f\n\u8bf7\u6559\u5927\u4f6c\uff0c\u8fd9\u4e2a\u539f\u56e0\u662f\u600e\u4e48\u9020\u6210\u7684\uff0c\u5982\u4f55\u6392\u67e5\uff1f

\n" }, { "author": { "url": "member/c4923", "name": "c4923", "avatar": "https://cdn.v2ex.com/avatar/9178/ce70/613078_large.png?m=1708929372" }, "url": "t/1170081", "title": "docker ps \u663e\u793a\u6b63\u5728\u8fd0\u884c\uff0c\u4f46\u662f\u670d\u52a1\u5df2\u7ecf down \u4e86", "id": "t/1170081", "date_published": "2025-11-03T01:42:07+00:00", "content_html": "

\u8fd9\u6bb5\u65f6\u95f4\u6211\u4eec\u8fd9\u8fb9\u670d\u52a1\u7ecf\u5e38\u9047\u5230\u4e00\u4e2a\u8be1\u5f02\u7684\u95ee\u9898\u3002

\n

\u670d\u52a1\u5728\u5bb9\u5668\u4e2d\u6b63\u5e38\u8fd0\u884c\u4e86 2-3 \u5468\uff0c\u671f\u95f4\u6ca1\u6709\u4eba\u7ba1\u8fc7\u3002\u67d0\u4e00\u5929\u540e\u7aef\u670d\u52a1\u7a81\u7136\u6302\u6389\u4e0d\u518d\u63d0\u4f9b\u670d\u52a1\u4e86\u3002

\n

\u6392\u67e5\u6027\u80fd\u76f8\u5173\uff0ccpu \uff0c\u78c1\u76d8\uff0c\u5185\u5b58\u90fd\u662f\u6b63\u5e38\u7684\uff0cdocker ps \u4e5f\u663e\u793a\u6b63\u5e38\u6ca1\u6709\u91cd\u542f\u4e4b\u7c7b\u7684\u60c5\u51b5\u3002\u4f46\u662f docker logs \u65e5\u5fd7\u505c\u6b62\u8f93\u51fa\u3002\u5fc5\u987b\u624b\u52a8 docker restart \u624d\u80fd\u6062\u590d\u670d\u52a1\uff0c\u6587\u4ef6\u63cf\u8ff0\u7b26\u6570\u91cf\u4e5f\u6b63\u5e38\uff0c\u5bb9\u5668\u65e5\u5fd7\u4e5f\u4e0d\u5b58\u5728\u5199\u6ee1\u7684\u60c5\u51b5\u3002\u56e0\u4e3a\u8981\u4f18\u5148\u6062\u590d\u670d\u52a1\u53ef\u7528\u6027\uff0c\u6240\u4ee5\u6ca1\u529e\u6cd5\u518d\u6392\u67e5\u66f4\u52a0\u7ec6\u81f4\u7684\u5185\u5bb9\uff0c\u6709\u6ca1\u6709\u5927\u4f6c\u9047\u5230\u8fc7\u7c7b\u4f3c\u7684\u95ee\u9898\uff1f\u6216\u8005\u8bf4\u6709\u5927\u4f6c\u80fd\u63d0\u4f9b\u4e00\u4e0b\u4e0b\u6b21\u51fa\u73b0\u7c7b\u4f3c\u60c5\u51b5\u7684\u6392\u67e5\u601d\u8def\u5417\uff1f

\n

docker \u7248\u672c\u662f 23.0.6

\n" }, { "author": { "url": "member/kfpenn", "name": "kfpenn", "avatar": "https://cdn.v2ex.com/gravatar/eca9d8dbcc246e5ce3548791f853c002?s=73&d=retro" }, "url": "t/1167631", "date_modified": "2025-10-22T08:12:27+00:00", "content_html": "

\u4eca\u5929\u7a81\u7136\u6536\u5230\u516c\u53f8\u7f51\u7ba1\u7684\u6d88\u606f\uff0c\u95ee\u6211\u7535\u8111\u662f\u4e0d\u662f\u6709\u88c5 Docker \uff0c\u5e76\u4e14\u8981\u6c42\u5378\u8f7d\u3002\u600e\u4e48\u7a81\u7136\u6709\u8fd9\u79cd\u8981\u6c42\uff1f Docker \u73b0\u5728\u6709\u4ec0\u4e48\u5b89\u5168\u6216\u8005\u7248\u6743\u95ee\u9898\u5417\uff1f

\n", "date_published": "2025-10-22T08:04:52+00:00", "title": "\u516c\u53f8\u7981\u7528 Docker", "id": "t/1167631" }, { "author": { "url": "member/coderstory", "name": "coderstory", "avatar": "https://cdn.v2ex.com/avatar/3c9c/7f07/178817_large.png?m=1659344747" }, "url": "t/1167406", "date_modified": "2025-10-21T10:49:35+00:00", "content_html": "
coderstory@DXP2800-NAS:/volume2/docker/med$ ls\ndocker-compose.yaml emby jellyfin moviepilot-v2 pgsql postgresql v2raya\ncoderstory@DXP2800-NAS:/volume2/docker/med$ rm -rf pgsql/\ncoderstory@DXP2800-NAS:/volume2/docker/med$ rm -rf postgresql/\ncoderstory@DXP2800-NAS:/volume2/docker/med$ ls\ndocker-compose.yaml emby jellyfin moviepilot-v2 v2raya\ncoderstory@DXP2800-NAS:/volume2/docker/med$ sudo docker compose -f docker-compose.yaml up \n -dWARN[0000] /volume2/docker/med/docker-compose.yaml: `version` is obsolete [+]\n Running 5/6 \u2714 Container v2raya Running 0.0s \u2714 Container mp-redis Running 0.0s \u2714 Container jellyfin Running 0.0s \u2714 Container emby Running 0.0s \u2714 Container watchtower Running 0.0s \u2838 Container postgres Starting 0.3s Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting \"/volume2/docker/med/postgresql\" to rootfs at \"/var/lib/postgresql/data\": change mount propagation through procfd: open o_path procfd: open /volume2/@docker/overlay2/2d07030109595a75379f1bd753830c59b15a852610f6093fd681388e874060fa/merged/var/lib/postgresql/data: no such file or directory: unknown\n
\n

\u9519\u8bef\u63d0\u793a\u7684\u76ee\u5f55\u662f\u81ea\u52a8\u751f\u6210\u7684\uff0c\u4e4b\u524d\u521b\u5efa\u7684\u6211\u90fd\u624b\u52a8\u5220\u9664\u4e86\u3002\u3002\u4e0d\u77e5\u9053\u4e3a\u4ec0\u4e48\u6302\u4e0d\u4e0a\u53bb

\n
coderstory@DXP2800-NAS:/volume2/docker/med$ uname -a\nLinux DXP2800-NAS 6.12.30+ #3 SMP PREEMPT_DYNAMIC Fri Sep 5 21:51:19 CST 2025 x86_64 GNU/Linux\ncoderstory@DXP2800-NAS:/volume2/docker/med$ cat /etc/os-release \nPRETTY_NAME=\"Debian GNU/Linux 12 (bookworm)\"\nNAME=\"Debian GNU/Linux\"\nVERSION_ID=\"12\"\nVERSION=\"12(bookworm)\"\nVERSION_CODENAME=bookworm\nID=debian\nHOME_URL=\"https://www.debian.org/\"\nSUPPORT_URL=\"https://www.debian.org/support\"\nBUG_REPORT_URL=\"https://bugs.debian.org/\"\nOS_VERSION=1.9.0.0075\ncoderstory@DXP2800-NAS:/volume2/docker/med$ docker --version\nDocker version 26.1.0, build 9714adc\ncoderstory@DXP2800-NAS:/volume2/docker/med$ \n
\n
\n# \u6839\u636e PT \u7ad9\u7ad9\u89c4\uff0cMP \u4f5c\u8005\u6587\u6863\uff0cANI-RSS \u4f5c\u8005\u58f0\u660e\uff0c\u4e25\u7981\u5728\u4e92\u8054\u7f51\u4efb\u4f55\u516c\u5f00\u573a\u5408\u8ba8\u8bba\u76f8\u5173\u5185\u5bb9\uff0c\u672c\u6a21\u677f\u540c\u4e0a\n# \u6839\u636e PT \u7ad9\u7ad9\u89c4\uff0cMP \u4f5c\u8005\u6587\u6863\uff0cANI-RSS \u4f5c\u8005\u58f0\u660e\uff0c\u4e25\u7981\u5728\u4e92\u8054\u7f51\u4efb\u4f55\u516c\u5f00\u573a\u5408\u8ba8\u8bba\u76f8\u5173\u5185\u5bb9\uff0c\u672c\u6a21\u677f\u540c\u4e0a\n# \u6839\u636e PT \u7ad9\u7ad9\u89c4\uff0cMP \u4f5c\u8005\u6587\u6863\uff0cANI-RSS \u4f5c\u8005\u58f0\u660e\uff0c\u4e25\u7981\u5728\u4e92\u8054\u7f51\u4efb\u4f55\u516c\u5f00\u573a\u5408\u8ba8\u8bba\u76f8\u5173\u5185\u5bb9\uff0c\u672c\u6a21\u677f\u540c\u4e0a\n# \u6839\u636e PT \u7ad9\u7ad9\u89c4\uff0cMP \u4f5c\u8005\u6587\u6863\uff0cANI-RSS \u4f5c\u8005\u58f0\u660e\uff0c\u4e25\u7981\u5728\u4e92\u8054\u7f51\u4efb\u4f55\u516c\u5f00\u573a\u5408\u8ba8\u8bba\u76f8\u5173\u5185\u5bb9\uff0c\u672c\u6a21\u677f\u540c\u4e0a\n# \u6839\u636e PT \u7ad9\u7ad9\u89c4\uff0cMP \u4f5c\u8005\u6587\u6863\uff0cANI-RSS \u4f5c\u8005\u58f0\u660e\uff0c\u4e25\u7981\u5728\u4e92\u8054\u7f51\u4efb\u4f55\u516c\u5f00\u573a\u5408\u8ba8\u8bba\u76f8\u5173\u5185\u5bb9\uff0c\u672c\u6a21\u677f\u540c\u4e0a\n# \u6839\u636e PT \u7ad9\u7ad9\u89c4\uff0cMP \u4f5c\u8005\u6587\u6863\uff0cANI-RSS \u4f5c\u8005\u58f0\u660e\uff0c\u4e25\u7981\u5728\u4e92\u8054\u7f51\u4efb\u4f55\u516c\u5f00\u573a\u5408\u8ba8\u8bba\u76f8\u5173\u5185\u5bb9\uff0c\u672c\u6a21\u677f\u540c\u4e0a\n# \u6839\u636e PT \u7ad9\u7ad9\u89c4\uff0cMP \u4f5c\u8005\u6587\u6863\uff0cANI-RSS \u4f5c\u8005\u58f0\u660e\uff0c\u4e25\u7981\u5728\u4e92\u8054\u7f51\u4efb\u4f55\u516c\u5f00\u573a\u5408\u8ba8\u8bba\u76f8\u5173\u5185\u5bb9\uff0c\u672c\u6a21\u677f\u540c\u4e0a\n# \u6839\u636e PT \u7ad9\u7ad9\u89c4\uff0cMP \u4f5c\u8005\u6587\u6863\uff0cANI-RSS \u4f5c\u8005\u58f0\u660e\uff0c\u4e25\u7981\u5728\u4e92\u8054\u7f51\u4efb\u4f55\u516c\u5f00\u573a\u5408\u8ba8\u8bba\u76f8\u5173\u5185\u5bb9\uff0c\u672c\u6a21\u677f\u540c\u4e0a\n# \u6839\u636e PT \u7ad9\u7ad9\u89c4\uff0cMP \u4f5c\u8005\u6587\u6863\uff0cANI-RSS \u4f5c\u8005\u58f0\u660e\uff0c\u4e25\u7981\u5728\u4e92\u8054\u7f51\u4efb\u4f55\u516c\u5f00\u573a\u5408\u8ba8\u8bba\u76f8\u5173\u5185\u5bb9\uff0c\u672c\u6a21\u677f\u540c\u4e0a\n##############################################\n# \u5982\u679c docker \u7f51\u7edc\u62c9\u53d6\u5931\u8d25\uff0c\u53ef\u4ee5\u7ed9\u955c\u50cf\u5730\u5740\u52a0\u4e0a\u52a0\u901f\u6e90\uff0c\u4f7f\u7528\u6587\u672c\u6279\u91cf\u66ff\u6362\u5373\u53ef\u5c06\u4e0b\u65b9\u4e2d\u62ec\u53f7\u7684\u5185\u5bb9\u6279\u91cf\u66ff\u6362\u6389\n# [images: ] \u2192 [images: docker.1ms.run/]\uff0c\u6ce8\u610f\"images: \"\u662f\u5e26\u7a7a\u683c\n##############################################\n# \u81ea\u52a8\u5316\u5a92\u4f53\u5e93\u7684\u5de5\u4f5c\u6d41\u7a0b\n# MP \u8d1f\u8d23\u8ba2\u9605\u641c\u522e PT \u7ad9\u5185\u7684\u8d44\u6e90\uff0c\u5c06\u79cd\u5b50\u4ee5\u53ca\u4e0b\u8f7d\u8def\u5f84(\u5bb9\u5668\u7684\u8def\u5f84)\uff0c\u53d1\u9001\u7ed9 QB/TR \u8fdb\u884c\u4e0b\u8f7d\n# \u5f53 MP \u68c0\u6d4b\u4e0b\u8f7d\u5b8c\u6bd5\u540e\uff0c\u5c06\u4f1a\u6839\u636e\u6574\u7406\u522e\u524a\u547d\u540d\u89c4\u5219\u8fdb\u884c\u5904\u7406\uff0c\u8f6c\u79fb\u5230\u5a92\u4f53\u5e93\u76ee\u5f55\u4e2d\n# \u8fd9\u6837\u4e00\u6765\uff0cPEJ \u68c0\u6d4b\u5230\u672c\u5730\u6709\u65b0\u7684\u5a92\u4f53\u5165\u5e93\uff0c\u5e76\u4e14\u672c\u5730\u5df2\u7ecf\u5b58\u5728\u522e\u524a\u6570\u636e\u53ef\u4ee5\u8bfb\u53d6\uff0c\u5373\u5b8c\u6210\u5165\u5e93\n# iyuu \u662f\u7528\u4e8e\u8f85\u52a9\u505a\u79cd\u7684\uff1b v2raya \u662f\u7528\u4e8e\u89e3\u51b3\u7f51\u7edc\u4e0d\u987a\u7545\u7684\u95ee\u9898\uff0c\u53ef\u4ee5\u4e0d\u641e\uff1b cookiecloud \u7528\u4e8e\u5b9a\u671f\u628a\u7535\u8111\u6d4f\u89c8\u5668\u7684 PT \u7ad9 cookie \u540c\u6b65\u5230 MP \u4e0a\n# QB \u9002\u5408\u4e0b\u79cd\uff0cTR \u9002\u5408\u505a\u79cd\n\n##############################################\n# \u91cd\u8981\u5185\u5bb9\uff0c\u786c\u94fe\u63a5\u53ea\u80fd\u591f\u5b58\u5728\u4e8e\u540c\u4e00\u4e2a\u5b58\u50a8\u6c60\u4e0a\n# \u91cd\u8981\u5185\u5bb9\uff0c\u786c\u94fe\u63a5\u53ea\u80fd\u591f\u5b58\u5728\u4e8e\u540c\u4e00\u4e2a\u5b58\u50a8\u6c60\u4e0a\n# \u91cd\u8981\u5185\u5bb9\uff0c\u786c\u94fe\u63a5\u53ea\u80fd\u591f\u5b58\u5728\u4e8e\u540c\u4e00\u4e2a\u5b58\u50a8\u6c60\u4e0a\n\n# /volume1/media\n# |---/\u52a8\u6f2b\n# |---/\u4e0b\u8f7d\n# |\n# |---/\u7535\u5f71\n# | |---/\u56fd\u4ea7\u7535\u5f71\n# | |---/\u6b27\u7f8e\u7535\u5f71\n# | |---/\u65e5\u97e9\u7535\u5f71\n# |\n# |---/\u7535\u89c6\u5267\n# |---/\u56fd\u4ea7\u7535\u89c6\u5267\n# |---/\u6b27\u7f8e\u7535\u89c6\u5267\n# |---/\u65e5\u97e9\u7535\u89c6\u5267\n\n# \u2460\uff1a/volume1/media\u2014\u2014\u2014\u2014\u2014\u2014media \u4e3a\u5171\u4eab\u6587\u4ef6\u5939\uff0c\u5b58\u50a8\u6c60\u9884\u8bbe\u4e3a\u7b2c 1 \u4e2a\u5b58\u50a8\u6c60\uff0c\u8bf7\u6839\u636e\u81ea\u5df1\u5b9e\u9645\u60c5\u51b5\u4fee\u6539 [\u8fd9\u662f\u5b9e\u9645\u8def\u5f84] \n# \u2461\uff1a/volume1/media/\u4e0b\u8f7d\u2014\u2014\u2014\u2014\u2014\u2014\u7528\u4e8e QB \u548c TR \u4e0b\u8f7d\uff0cMP \u4e2d\u8bbe\u7f6e\u5bf9\u5e94\u7684\u5bb9\u5668\u8def\u5f84/downloads \u7528\u4e8e\u4f20\u9012 [\u8fd9\u662f\u5b9e\u9645\u8def\u5f84] \n# \u2462\uff1a/volume1/media/\u7535\u5f71\uff1b/volume1/media/\u7535\u89c6\u5267\u2014\u2014\u2014\u2014\u2014\u2014\u7528\u4e8e\u5a92\u4f53\u5e93\u7684\u5206\u7c7b\u5b58\u653e\uff0c\u53ef\u6839\u636e\u81ea\u5df1\u9700\u8981\u589e\u6dfb [\u8fd9\u662f\u5b9e\u9645\u8def\u5f84] \n# \u2463\uff1a\u8bf7\u5728 MP \u8bbe\u7f6e\u4e2d\uff0c\u628a\u4e0b\u8f7d\u76ee\u5f55\u8bbe\u7f6e\u4e3a\u201c/meida/\u4e0b\u8f7d\u201d\uff1b\u628a \u7535\u5f71/\u7535\u89c6\u5267 \u7b49\u5206\u7c7b\u7684\u76ee\u5f55\u8bbe\u7f6e\u4ece\u201c/meida\u201d\u5f00\u59cb\u9009\u62e9 [\u8fd9\u662f\u5bb9\u5668\u8def\u5f84] \n# \u2464\uff1aMP \u548c QB,TR \u90fd\u4f7f\u7528\u540c\u4e00\u6761\u8def\u5f84\u6620\u5c04\u201c/meida/\u4e0b\u8f7d\u201d [\u5fc5\u987b\u5b8c\u5168\u4e00\u6837] \n# \u4e0d\u61c2\u53ef\u4ee5\u770b\u770b MP-01 \u548c MP-03 \u8fd9\u4e24\u5f20\u56fe\uff0cMP-02 \u662f\u6548\u679c\u56fe\n# \u2465\uff1a/volume1/media/\u52a8\u6f2b\u2014\u2014\u2014\u2014\u2014\u2014\u7528\u4e8e ani-rss \u52a8\u6f2b bt \u4e0b\u8f7d\uff0c\u81ea\u8eab\u5e26\u91cd\u547d\u540d\u6574\u7406\u529f\u80fd\uff0c\u522e\u524a\u529f\u80fd\u53ef\u4ee5\u7531 PEJ \u8d1f\u8d23\n# \u2466\uff1a\u6ce8\u610f\uff0c\u9700\u8981\u5728 ani-rss \u7684\u8bbe\u7f6e\u4e2d\uff0c\u5c06\u4e0b\u8f7d\u5730\u5740\u4fee\u6539\u4e3a/ani-rss\n\n##############################################\n# \u6ce8\u610f\u4e8b\u9879\n# \u672c\u6a21\u677f\u5305\u542b PLEX,EMBY,JF,QB,TR,MP,ANI-RSS,COOKIECLOUD,IYUU,V2RAYA,WATCHTOWER,PEERBANHELPER,VOCECHAT\n# \u5982\u679c\u8bbe\u7f6e\u4e86\u4f7f\u7528\u7f51\u7edc\u4ee3\u7406(\u4e0d\u4e00\u5b9a\u662f v2raya \uff0c\u53ef\u4ee5\u662f\u8f6f\u8def\u7531)\uff0c\u8bf7\u63d0\u524d\u542f\u7528\u5e76\u6fc0\u6d3b\u597d\u9b54\u6cd5\uff0c\u5426\u5219 EMBY,JF,MP \u65e0\u6cd5\u6b63\u5e38\u8fde\u63a5 TMDB \uff0cMP \u53ef\u80fd\u65e0\u6cd5\u6b63\u5e38\u4e0b\u8f7d\u6838\u5fc3\u6587\u4ef6\n# \u6a21\u677f\u9884\u8bbe\u4f7f\u7528\u7684\u7f51\u7edc\u4ee3\u7406\u4e3a v2raya \u7684 http \u7aef\u53e3 20171 \uff0c\u5982\u679c\u4f7f\u7528\u4e86\u522b\u7684\uff0c\u8bf7\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u4fee\u6539\uff0c\u603b\u4e0d\u4f1a\u6709\u4eba\u8fde\u9b54\u6cd5\u90fd\u4e0d\u4f1a\u7528\u4e0d\uff1f\u4e0d\u4f1a\u5427\uff1f\u4e0d\u4f1a\u5427\uff1f\n# \u90e8\u5206\u53c2\u6570\u4e0d\u8bf4\u660e\uff0c\u5982\u679c\u60f3\u77e5\u9053\u6709\u4ec0\u4e48\u7528\uff0c\u53ef\u4ee5\u53c2\u8003\u5176\u4ed6\u7684\u6a21\u677f\n# \u6743\u9650\u5747\u8bbe\u7f6e\u4e3a root \u4ee5\u4fdd\u8bc1\u8bbf\u95ee\u4e0d\u4f1a\u51fa\u9519\uff0c\u6ce8\u91ca\u5185\u5bb9\u591a\u591a\u9605\u8bfb\n# \u5a92\u4f53\u5e93\u8def\u5f84\u8bf7\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u4fee\u6539\n# \u5a92\u4f53\u5e93\uff0ciyuu \uff0ccookiecloud \u4f7f\u7528 bridge \uff1b\u5176\u4f59\u7edf\u4e00\u4f7f\u7528 host \uff0c\u9700\u8981\u6539\u53d8\u7aef\u53e3\u5c31\u53bb\u4fee\u6539\u53d8\u91cf\uff0c\u770b\u6ce8\u91ca\u8bf4\u660e\n# iyuu \u4f7f\u7528 host \u6a21\u5f0f\u4f1a\u5360\u7528 mariadb/mysql \u7684 3306 \u7aef\u53e3\uff0c\u6240\u4ee5\u4f7f\u7528 bridge\n# QB \u548c TR \u4f7f\u7528 host \uff0c\u53ea\u8981\u5bbf\u4e3b\u673a\u62e5\u6709 IPV6 \uff0c\u5373\u53ef\u8fde\u4e0a IPV6 \u4f20\u8f93\u6570\u636e\uff0c\u5982\u679c\u5bbf\u4e3b\u673a\u6ca1\u6709\uff0c\u8bf7\u68c0\u67e5\u7f51\u7edc\u73af\u5883\n\n# EMBY \u548c JF \u5728 [\u63a7\u5236\u53f0-\u9ad8\u7ea7] \u4e2d\u751f\u6210 [ API \u5bc6\u94a5] \uff0cMP \u9700\u8981\u7528\n# PLEX \u9700\u8981\u6ce8\u518c\u767b\u5f55\u751f\u6210\u767b\u5f55\u5bc6\u94a5\uff0c\u7528\u4e8e\u767b\u5f55\u4f7f\u7528\uff0c\u8bbe\u7f6e\u597d\u540e\uff0c\u6d4f\u89c8\u5668 F12->\u7f51\u7edc\uff0c\u4ece Plex \u8bf7\u6c42 URL \u4e2d\u83b7\u53d6\u7684 X-Plex-Token \uff0cMP \u9700\u8981\u7528\n\n# QB \u521d\u59cb\u5316\u8d26\u53f7\u4e3a admin \uff0c\u5bc6\u7801\u5728\u65e5\u5fd7\u4e2d\u67e5\u770b\n# QB \u53ef\u9009\u4fee\u6539\uff1a\u7528\u4e8e\u4f20\u5165\u8fde\u63a5\u7684\u7aef\u53e3\uff0c\u968f\u673a\u751f\u6210\u4e00\u4e2a\uff0c\u8bb0\u5f97\u770b\u7ad9\u89c4\uff1b\u5e76\u4e14\u5728\u8def\u7531\u5668\u4e0a\u505a\u597d\u7aef\u53e3\u6620\u5c04\uff0c\u5982\u679c\u6709\u516c\u7f51\u7684\u8bdd\n# QB \u5173\u95ed\uff1a\u542f\u7528 DHT (\u53bb\u4e2d\u5fc3\u5316\u7f51\u7edc) \u4ee5\u627e\u5230\u66f4\u591a\u7528\u6237\n# QB \u5173\u95ed\uff1a\u542f\u7528\u7528\u6237\u4ea4\u6362 (PeX) \u4ee5\u627e\u5230\u66f4\u591a\u7528\u6237\n# QB \u5173\u95ed\uff1a\u542f\u7528\u672c\u5730\u7528\u6237\u53d1\u73b0\u4ee5\u627e\u5230\u66f4\u591a\u7528\u6237\n# QB \u5173\u95ed\uff1a\u542f\u7528\u8de8\u7ad9\u8bf7\u6c42\u4f2a\u9020 (CSRF) \u4fdd\u62a4\n\n# TR \u9700\u8981\u628a\u6c49\u5316\u6587\u4ef6\u5b58\u653e\u5230\u5bf9\u5e94\u76ee\u5f55\uff0c\u770b\u6ce8\u91ca\u8bf4\u660e\n# TR \u4e0d\u6253\u5f00\uff1a\u542f\u7528\u968f\u673a\u7aef\u53e3\uff0c\u6216\u4f7f\u7528\u56fa\u5b9a\u7aef\u53e3\u3002\u7aef\u53e3\u53f7\u8bbe\u7f6e\u597d\u5e76\u4e14\u5728\u8def\u7531\u5668\u4e0a\u505a\u597d\u7aef\u53e3\u6620\u5c04\uff0c\u5982\u679c\u6709\u516c\u7f51\u7684\u8bdd\n# TR \u5173\u95ed\uff1a\u542f\u7528\u672c\u5730\u7528\u6237\u53d1\u73b0(LPD)\n# TR \u5173\u95ed\uff1a\u542f\u7528\u5e26\u5bbd\u7ba1\u7406(\u00b5TP)\n# TR \u5173\u95ed\uff1a\u542f\u7528\u5206\u5e03\u5f0f\u54c8\u5e0c\u8868(DHT)\n# TR \u5173\u95ed\uff1a\u542f\u7528\u7528\u6237\u4ea4\u6362\n\n# iyuu \u9700\u8981\u6ce8\u518c\u626b\u7801\u83b7\u53d6 token \uff0c\u521d\u59cb\u5316\u5b89\u88c5\u7b2c\u4e00\u6b65\u53ea\u9700\u8981\u8f93\u5165 token \u5373\u53ef\n\n# MP \u5982\u679c\u9047\u5230 cookiecloud \u8bbe\u7f6e\u6b63\u786e\u4f46\u662f\u65e0\u6cd5\u540c\u6b65\u6210\u529f\u7684\uff0c\u8bd5\u8bd5\u91cd\u542f\u51e0\u6b21\u518d\u53bb\u540c\u6b65\uff0c\u5b9e\u5728\u4e0d\u662f\uff0c\u624b\u52a8\u6dfb\u52a0\u5427\n# MP v2.0.7 \u53ca\u4ee5\u4e0a\u7248\u672c\uff0c\u5df2\u652f\u6301\u901a\u8fc7 UI \u8fdb\u884c\u7528\u6237\u8ba4\u8bc1\uff1a\u70b9\u51fb\u7528\u6237\u5934\u50cf -> \u7528\u6237\u8ba4\u8bc1\uff0c\u65e0\u9700\u914d\u7f6e\u73af\u5883\u53d8\u91cf\uff0c\u6a21\u677f\u7ee7\u7eed\u4fdd\u7559\u539f\u6709\u7684\u8ba4\u8bc1\u53d8\u91cf\n\n# ANI-RSS \u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u5747\u4e3a admin\n\n# cookiecloud \u4f7f\u7528\u6559\u7a0b\uff1a https://post.smzdm.com/p/a905kd5p\n\n##############################################\n# \u955c\u50cf\u5730\u5740\n# https://hub.docker.com/r/linuxserver/plex\n# https://hub.docker.com/r/linuxserver/emby\n# https://hub.docker.com/r/nyanmisaka/jellyfin\n# https://hub.docker.com/r/linuxserver/qbittorrent\n# https://hub.docker.com/r/linuxserver/transmission\n# https://hub.docker.com/r/jxxghp/moviepilot\n# https://hub.docker.com/r/easychen/cookiecloud\n# https://hub.docker.com/r/iyuucn/iyuuplus-dev\n# https://hub.docker.com/r/mzz2017/v2raya\n# https://hub.docker.com/r/containrrr/watchtower\n# https://hub.docker.com/r/privoce/vocechat-server\n# https://hub.docker.com/_/redis\n# https://hub.docker.com/_/postgres\n\n##############################################\n# MP \u6587\u6863\n# https://github.com/jxxghp/MoviePilot\n# https://wiki.movie-pilot.org\n# MP \u63d2\u4ef6\n# https://wiki.movie-pilot.org/zh/plugin\n# PT \u73a9\u5bb6\u770b\u7ad9\u89c4\uff01\uff01\uff01 PT \u73a9\u5bb6\u770b\u7ad9\u89c4\uff01\uff01\uff01 PT \u73a9\u5bb6\u770b\u7ad9\u89c4\uff01\uff01\uff01\n\n# ani-rss \u6587\u6863\uff1a https://docs.wushuo.top\n\n# iyuu \u6587\u6863\uff1a https://doc.iyuu.cn/guide/getting-started\n\n# \u5a92\u4f53\u5e93\u89c4\u8303\u5316\u547d\u540d\u624b\u518c\uff08 PEJ \u901a\u7528\uff09\uff1a https://emby.media/support/articles/Home.html\n\n# peerbanhelper \u6587\u6863\uff1a https://github.com/PBH-BTN/PeerBanHelper\n\n# vocecha \u6587\u6863\uff1a https://doc.voce.chat/zh-cn\n\n##############################################\n# \u5404\u4e2a\u670d\u52a1\u7684 WebUI\n# plex ip:32400\n# emby ip:8096\n# jellyfin ip:8097\n# qbittorrent ip:8085\n# transmission ip:9091\n# moviepilot ip:55055\n# ani-rss ip:7789\n# cookiecloud ip:8188\n# peerbanhelper ip:9898\n# iyuu ip:8780\n# v2raya ip:2017\n # sock \u4ee3\u7406\u7aef\u53e3\uff1a20170\n # http \u4ee3\u7406\u7aef\u53e3\uff1a20171\n # http \u4ee3\u7406\u7aef\u53e3(\u5e26\u5206\u6d41\u89c4\u5219)\uff1a20172\n# watchtower \u4e0d\u5b58\u5728\uff0c\u540e\u53f0\u81ea\u52a8\u66f4\u65b0\u5bb9\u5668\u955c\u50cf\n# vocechat ip:3456\n# redis + pgsql \u4e0d\u5b58\u5728 webui \uff0c\u53ea\u9700\u8981\u8ba9 mp \u94fe\u63a5\u5373\u53ef\n\n# \u5982\u679c\u8981\u4f7f\u7528 peerbanhelper \uff0cQB \u548c TR \u5fc5\u987b\u4f7f\u7528 host \u7f51\u7edc\u6a21\u5f0f\uff0c\u6a21\u677f\u9ed8\u8ba4\u4e3a host \u7f51\u7edc\u6a21\u5f0f\uff0c\u4e14\u5bf9 QB \u548c TR \u7684\u7248\u672c\u53f7\u6709\u8981\u6c42\uff0c\u6ce8\u610f\u67e5\u770b\u6587\u6863\n# redis \u548c pgsql \u5747\u4f7f\u7528 bridge \u7f51\u7edc\u6a21\u5f0f\uff0c\u4ec5\u63d0\u4f9b\u7ed9 MP \u4f7f\u7528\uff0c\u5982\u679c\u4f60\u6709\u5355\u72ec\u5df2\u7ecf\u90e8\u7f72\u597d\u7684 redis \u548c pgsql \u5bb9\u5668\uff0c\u61c2\u5f97\u5982\u4f55\u94fe\u63a5\u4e0a\uff0c\u81ea\u884c\u4fee\u6539\uff0c\u672c\u6a21\u677f\u5df2\u7ecf\u6574\u5408\u53f7\uff0c\u90e8\u7f72\u5373\u53ef\u4f7f\u7528\n# 2025-09-10\uff1aMP \u5df2\u7ecf\u652f\u6301\u5728 WebUI \u4e0a\u8fdb\u884c\u8ba4\u8bc1\uff0c\u56e0\u6b64\u5220\u9664\u6389\u8ba4\u8bc1\u90e8\u5206\uff0c\u540c\u65f6\uff0c\u90e8\u5206\u53d8\u91cf\u5728 compose \u4e2d\u5199\u4e86\uff0c\u5c31\u65e0\u6cd5\u5728 WebUI \u4e0a\u968f\u65f6\u4fee\u6539\uff0c\u56e0\u6b64\u4e5f\u5220\u6389\u4e86\n# 2025-09-10\uff1a\u672c\u6a21\u677f\u6539\u4e3a MP \u4f7f\u7528\u5e26\u6570\u636e\u5e93\u4e14\u5168\u65b0\u90e8\u7f72\u7684\u7248\u672c\uff0c\u5982\u9700\u539f\u6709\u6570\u636e\u5e93\u8fc1\u79fb\u5347\u7ea7\uff0c\u591a\u52a0\u4e00\u4e2a pgsql \u7a0d\u5fae\u4fee\u6539\u4e00\u4e0b\u8def\u5f84\u5373\u53ef\uff0c\u7eff\u8054 amd64 \u548c arm64 \u5b9e\u6d4b\u6ca1\u95ee\u9898\n\n##############################################\n\n---\nversion: \"3\"\n# \u6700\u540e\u7f16\u8f91\u65f6\u95f4\uff1a2025-09-10\nservices:\n##############################################\n# #\n# \u5a92\u4f53\u5e93\u90e8\u5206\uff0c\u5168\u9009/\u4e0d\u9009/\u9009\u5176\u4e00 #\n# #\n##############################################\n\n\n\n##############################################\n\n emby:\n image: linuxserver/emby:latest\n # \u955c\u50cf\u5730\u5740\uff0c\u5982\u9700\u6d4b\u8bd5\u7248\u8ffd\u65b0\uff0clatest \u66f4\u6539\u4e3a beta \uff0c\u4e0d\u533a\u5206\u8bbe\u5907\u67b6\u6784\n # \u5982\u679c\u4f7f\u7528\u5f00\u5fc3\u7248\uff0c\u5c06\u955c\u50cf\u6539\u4e3a amilys/embyserver \uff0carm64v8 \u8bbe\u5907\u4f7f\u7528 amilys/embyserver_arm64v8\n container_name: emby\n hostname: emby\n # privileged: true\n devices:\n - /dev/dri:/dev/dri\n volumes:\n - ./emby:/config\n # \u914d\u7f6e\u6587\u4ef6\u76ee\u5f55\n - /volume3/1TSSD/\u5f71\u97f3:/data\n # \u5a92\u4f53\u5e93\u76ee\u5f55\uff0c\u53ef\u4ee5\u81ea\u5b9a\u4e49\uff0c\u53ef\u4ee5\u5199\u591a\u4e2a\n environment:\n - PUID=0\n - PGID=0\n - UMASK=022\n - TZ=Asia/Shanghai\n\n # \u4ee5\u4e0b\u662f\u4e3a EMBY \u6dfb\u52a0\u7f51\u7edc\u4ee3\u7406\uff0c\u81ea\u884c\u51c6\u5907\u597d\u9b54\u6cd5\uff0c\u5c06 IP \u6539\u4e3a NAS \u7684 IP \uff0c\u5982\u9700\u4f7f\u7528\uff0c\u53bb\u6389#\u53f7\u6ce8\u91ca\n # emby \u63a8\u8350\u4e0d\u5199\uff0c\u800c\u662f\u5b89\u88c5\u795e\u533b\u63d2\u4ef6\uff1a https://github.com/sjtuross/StrmAssistant\n - NO_PROXY=172.17.0.1,127.0.0.1,localhost\n # \u4fdd\u6301\u9ed8\u8ba4\n - ALL_PROXY=http://localhost:20171\n - HTTP_PROXY=http://localhost:20171\n # \u66f4\u6362\u4e3a\u81ea\u5df1\u7684 http \u4ee3\u7406\n # \u5207\u8bb0\u8bbe\u7f6e\u597d V2raya \uff0c\u5982\u679c\u4f60\u6ca1\u6709\u914d\u7f6e\u9b54\u6cd5\u5c31\u6ce8\u91ca\u6389\n\n network_mode: bridge\n ports:\n - 8096:8096\n restart: unless-stopped\n\n##############################################\n\n jellyfin:\n image: nyanmisaka/jellyfin:latest\n # \u955c\u50cf\u5730\u5740\uff0c\u65e0\u8111\u63a8\u8350\u4f7f\u7528 ny \u5927\u4f6c\u7684 JF \uff0c\u505a\u597d\u4e86\u5168\u90e8\u4fee\u6b63\u4f18\u5316\uff0c\u5f00\u7bb1\u5373\u7528 \n # x86 \u8bbe\u5907\u9ed8\u8ba4\u7528 latest \uff0carm64v8 \u8bbe\u5907\u7528 latest-rockchip\n container_name: jellyfin\n hostname: jellyfin\n # privileged: true\n devices:\n - /dev/dri:/dev/dri\n volumes:\n - ./jellyfin/config:/config\n # \u914d\u7f6e\u6587\u4ef6\u76ee\u5f55\n - /volume3/1TSSD/\u5f71\u97f3:/media\n # \u5a92\u4f53\u5e93\u76ee\u5f55\uff0c\u53ef\u4ee5\u81ea\u5b9a\u4e49\uff0c\u53ef\u4ee5\u5199\u591a\u4e2a\n - ./jellyfin/cache:/cache\n # \u7f13\u5b58\u76ee\u5f55\n\n # - /dev/shm:/config/transcodes\n # \u4f7f\u7528\u5185\u5b58\u4f5c\u4e3a\u8f6c\u7801\u7f13\u51b2\u76ee\u5f55\uff0c\u63a8\u8350\u81f3\u5c11 8G \u624d\u4f7f\u7528\uff0c\u9ed8\u8ba4\u4e0d\u7528\n # \u6548\u679c\u662f\uff0c\u786c\u4ef6\u8f6c\u7801\u7684\u65f6\u5019\uff0c\u4f1a\u5c06\u8f6c\u7801\u6587\u4ef6\u751f\u6210\u5728\u5185\u5b58\u4e0a\uff0c\u9000\u51fa\u64ad\u653e\u7684\u65f6\uff0c\u4f1a\u81ea\u52a8\u6e05\u7406\uff0c\u4f18\u70b9\u548c\u7f3a\u70b9\u90fd\u662f\u4e0d\u4fdd\u7559\u7f13\u51b2\u7684\u8f6c\u7801\u6587\u4ef6\n\n environment:\n - TZ=Asia/Shanghai\n\n # \u4ee5\u4e0b\u662f\u4e3a JF \u6dfb\u52a0\u7f51\u7edc\u4ee3\u7406\uff0c\u81ea\u884c\u51c6\u5907\u597d\u9b54\u6cd5\uff0c\u5c06 IP \u6539\u4e3a NAS \u7684 IP \uff0c\u5982\u9700\u4f7f\u7528\uff0c\u53bb\u6389#\u53f7\u6ce8\u91ca\n - NO_PROXY=172.17.0.1,127.0.0.1,localhost\n # \u4fdd\u6301\u9ed8\u8ba4\n - ALL_PROXY=http://localhost:20171\n - HTTP_PROXY=http://localhost:20171\n # \u66f4\u6362\u4e3a\u81ea\u5df1\u7684 http \u4ee3\u7406\n # \u5207\u8bb0\u8bbe\u7f6e\u597d V2raya \uff0c\u5982\u679c\u4f60\u6ca1\u6709\u914d\u7f6e\u9b54\u6cd5\u5c31\u6ce8\u91ca\u6389\n\n network_mode: bridge\n ports:\n - 8097:8096\n restart: unless-stopped\n\n##############################################\n# #\n# \u4e0b\u8f7d\u5668\u90e8\u5206\uff0c\u5168\u9009/\u4e0d\u9009/\u9009\u5176\u4e00 #\n# #\n##############################################\n \n\n##############################################\n\n \n\n##############################################\n# #\n# \u81ea\u52a8\u5316\u522e\u524a\u6574\u7406\u5de5\u5177\uff0c\u6839\u636e\u9700\u8981\u90e8\u7f72 #\n# #\n##############################################\n\n \n\n##############################################\n\n moviepilot-v2:\n image: jxxghp/moviepilot-v2:latest\n container_name: moviepilot-v2\n hostname: moviepilot-v2\n restart: unless-stopped\n network_mode: host\n\n##############################################\n## \u7b2c\u4e00\u6b21\u8fd0\u884c\u65f6\uff0cMoviePilot \u4f1a\u4e0b\u8f7d\u5927\u91cf\u6587\u4ef6\u5230\u672c\u5730\uff0c\u8bf7\u5728\u7559\u610f\u65e5\u5fd7\u4e2d\u7684\u8fdb\u5ea6\uff0c\u5982\u679c\u6709\u4ec0\u4e48\u95ee\u9898\uff0c\u53ef\u4ee5\u5bfb\u627e\u7f51\u53cb\u6c42\u52a9\n volumes:\n - /var/run/docker.sock:/var/run/docker.sock:ro\n # \u4f7f MP \u652f\u6301\u5185\u5efa\u7684\u91cd\u542f\u64cd\u4f5c\uff0c\u7528\u4e8e\u81ea\u52a8\u66f4\u65b0\u540e\u91cd\u542f\n - ./moviepilot-v2/core:/moviepilot \n ## \u7a0b\u5e8f\u4e3b\u76ee\u5f55\n - ./moviepilot-v2/config:/config\n ## \u914d\u7f6e\u76ee\u5f55\n - /volume3/1TSSD/\u4e0b\u8f7d:/downloads\n # \u9ed8\u8ba4\u4e0b\u8f7d\u76ee\u5f55\n - /volume3/1TSSD/\u5f71\u97f3:/media\n # MP \uff0cQB \uff0cTR \u7edf\u4e00\u7684\u4e0b\u8f7d\u76ee\u5f55\uff0c\u89c1\u4e0a\u76ee\u5f55\u7ed3\u6784\u8bf4\u660e\u7684\u2463\u2464\n\n - ./qbittorrent/qBittorrent/BT_backup:/QB-BT\n - ./transmission/torrents:/TR-BT\n # \u7528\u4e8e\u81ea\u52a8\u8f6c\u79cd\u6240\u4f7f\u7528\u7684\u8def\u5f84\uff0c\u8bf7\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u4fee\u6539\uff0c\u6a21\u677f\u4ec5\u4f9b\u53c2\u8003\uff0c\u5982\u4e0d\u9700\u8981\uff0c\u5219\u5220\u9664\u6389\n\n##############################################\n environment:\n - MOVIEPILOT_AUTO_UPDATE=true\n # \u8bbe\u7f6e\u5bb9\u5668\u91cd\u542f\u65f6\u81ea\u52a8\u66f4\u65b0\uff0ctrue/release/dev/false \uff0c\u9ed8\u8ba4 release \uff0c\u63d2\u4ef6\u7684\u81ea\u52a8\u66f4\u65b0\u8981\u8bbe\u7f6e\u4e3a true\n # \u9700\u8981\u80fd\u6b63\u5e38\u8fde\u63a5 Github \u6ce8\u610f\uff1a\u5982\u679c\u51fa\u73b0\u7f51\u7edc\u95ee\u9898\u53ef\u4ee5\u914d\u7f6e PROXY_HOST\n - API_TOKEN=1234567890123456\n # API \u5bc6\u94a5\uff0cV1 \u7248\u672c\u9ed8\u8ba4\u4e3a moviepilot \uff0cV2 \u7248\u672c\u9700\u8981\u624b\u52a8\u914d\u7f6e\u4e3a\u5927\u4e8e\u7b49\u4e8e 16 \u4e2a\u5b57\u7b26\u7684\u590d\u6742\u5b57\u7b26\u4e32\n # \u5982\u914d\u7f6e\u4e0d\u7b26\u5408\u8981\u6c42\u5c06\u4f1a\u5f3a\u5236\u91cd\u65b0\u751f\u6210\uff0c\u53ef\u5728\u9996\u6b21\u542f\u52a8\u7684\u542f\u52a8\u65e5\u5fd7\u6216 env \u914d\u7f6e\u6587\u4ef6\u4e2d\u67e5\u770b\u6700\u65b0\u7684\u503c\n # \u5728\u5a92\u4f53\u670d\u52a1\u5668 Webhook \u3001\u5fae\u4fe1\u56de\u8c03\u7b49\u5730\u5740\u914d\u7f6e\u4e2d\u9700\u8981\u52a0\u4e0a ?token= \u8be5\u503c\n \n - NGINX_PORT=55055\n # WebUI \u670d\u52a1\u7aef\u53e3\uff0c\u9ed8\u8ba4\u4e3a 3000 \uff0c\u9884\u8bbe\u4e3a 55055 \uff0c\u53ef\u81ea\u884c\u4fee\u6539\n - PORT=55056\n # API \u7aef\u53e3\uff0c\u9ed8\u8ba4\u4e3a 3001 \uff0c\u9884\u8bbe\u4e3a 55056 \uff0c\u53ef\u81ea\u884c\u4fee\u6539\n \n - SUPERUSER=admin\n # \u8d85\u7ea7\u7ba1\u7406\u8005\u7528\u6237\u540d\uff0c\u9ed8\u8ba4\u4e3a admin \uff0c\u53ef\u5728 MP \u5185\u4fee\u6539\uff0c\u521d\u6b21\u5b89\u88c5\u540e\u5931\u6548\n # \u5bc6\u7801\u5728\u65e5\u5fd7\u91cc\uff0c\u53ea\u4f1a\u5728\u7b2c\u4e00\u6b21\u90e8\u7f72\u51fa\u73b0\uff0c\u5982\u679c\u5fd8\u8bb0\uff0c\u53ef\u4ee5\u6587\u672c\u5f62\u5f0f\u6253\u5f00 /config/logs/moviepilot.log \u8be5\u6587\u4ef6\uff0c\u67e5\u770b\u65e5\u5fd7\u83b7\u53d6\n # \u5982\u679c\u975e\u521d\u59cb\u5bc6\u7801\u5fd8\u8bb0\u4e86\uff0c\u5f97\u5220\u9664 pgsql \u7684\u6240\u6709\u6587\u4ef6\uff0c\u7136\u540e\u91cd\u65b0\u914d\u7f6e\uff0c\u6ce8\u610f\u67e5\u770b\uff0c\u53ef\u5728 MP \u5185\u4fee\u6539\n\n - TZ=Asia/Shanghai\n # \u65f6\u533a\n\n # - MOVIE_RENAME_FORMAT={{title}}{% if year %} ({{year}}){% endif %}/{{title}}.{{original_name}}\n # - TV_RENAME_FORMAT={{title}}{% if year %} ({{year}}){% endif %}/S0{{season}}/{{original_name}}\n # \u7535\u5f71\u548c\u7535\u89c6\u5267\u91cd\u547d\u540d\u683c\u5f0f\uff0c\u4e2a\u4eba\u81ea\u7528\uff0c\u9ed8\u8ba4\u4e0d\u4f7f\u7528\uff0c\u4ec5\u4f5c\u8bb0\u5f55\n\n########################################\n#### \u6570\u636e\u5e93 ####\n# \u4e0d\u9700\u8981\u4fee\u6539\uff0c\u7167\u6284\n\n ### \u5982\u679c\u4f60\u6709\u4e00\u4e2a pgsql \u7684\u5bb9\u5668\uff0c\u61c2\u5f97\u4f7f\u7528\u65b9\u6cd5\uff0c\u53ef\u4ee5\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u586b\u5199 ###\n - DB_TYPE=postgresql\n - DB_POSTGRESQL_HOST=localhost\n - DB_POSTGRESQL_PORT=55053\n # pgsql \u6570\u636e\u5e93\u7684\u8bbf\u95ee\u7aef\u53e3\uff0c\u672c\u6a21\u677f pgsql \u7684\u7aef\u53e3\u9884\u8bbe\u4e3a 55053\n - DB_POSTGRESQL_DATABASE=moviepilot\n - DB_POSTGRESQL_USERNAME=moviepilot\n - DB_POSTGRESQL_PASSWORD=moviepilot\n # pgsql \u6570\u636e\u5e93\u7684\u5b50\u6570\u636e\u5e93\u7684\u540d\u5b57\u3001\u8d26\u53f7\u3001\u5bc6\u7801\uff0c\u7edf\u4e00\u4e3a moviepilot\n\n ### \u5982\u679c\u4f60\u6709\u4e00\u4e2a redis \u7684\u5bb9\u5668\uff0c\u61c2\u5f97\u4f7f\u7528\u65b9\u6cd5\uff0c\u53ef\u4ee5\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u586b\u5199 ###\n - CACHE_BACKEND_TYPE=redis\n - CACHE_BACKEND_URL=redis://:moviepilot@localhost:55054\n # \u8fde\u63a5 redis \uff0c\u672c\u6a21\u677f redis \u7684\u8bbf\u95ee\u7aef\u53e3\u9884\u8bbe\u4e3a 55054\n depends_on:\n postgresql:\n condition: service_healthy\n mp-redis:\n condition: service_healthy\n # \u5173\u8054 pgsql \u548c redis \uff0c\u7167\u6284\n\n##############################################\n# #\n# \u7ed9 MP \u914d\u4e0a\u6570\u636e\u5e93\uff0c\u6a21\u677f\u5305\u542b\uff0c\u5fc5\u987b #\n# #\n##############################################\n# \u4e0d\u9700\u8981\u4fee\u6539\uff0c\u7167\u6284\n\n mp-redis:\n image: redis:latest\n container_name: mp-redis\n hostname: mp-redis\n command: redis-server --save 600 1 --requirepass moviepilot\n # \u6700\u540e\u4e00\u4e32\u5b57\u7b26\u4e3a redis \u7684\u5bc6\u7801\uff0c\u9884\u8bbe\u4e3a moviepilot\n volumes:\n - ./moviepilot-v2/redis:/data\n # \u6570\u636e\u76ee\u5f55\n network_mode: bridge\n # \u6a21\u677f\u9884\u8bbe\u4f7f\u7528 bridge \u7f51\u7edc\u6a21\u5f0f\uff0c\u5982\u679c\u61c2\u5f97\u4f7f\u7528\u65b9\u6cd5\uff0c\u53ef\u4ee5\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u6765\u4fee\u6539\n ports:\n - 55054:6379/tcp\n # \u6ce8\u610f\uff1a\u5e76\u4e0d\u5b58\u5728 WebUI \uff0c\u53ea\u9700\u8981\u901a\u8fc7 IP:PORT \u8c03\u7528\u5373\u53ef\uff0c\u6a21\u677f\u9884\u8bbe\n restart: unless-stopped\n healthcheck:\n test: [\"CMD\", \"redis-cli\", \"--raw\", \"incr\", \"ping\"]\n interval: 10s\n timeout: 5s\n retries: 5\n\n postgresql:\n image: postgres\n container_name: postgres\n hostname: postgres\n volumes:\n - ./postgresql:/var/lib/postgresql/data\n # \u6570\u636e\u76ee\u5f55\n environment: \n - POSTGRES_DB=moviepilot\n - POSTGRES_USER=moviepilot\n - POSTGRES_PASSWORD=moviepilot\n # \u9884\u8bbe\u65b0\u5efa\u4e00\u4e2a\u5b50\u6570\u636e\u5e93\uff0c\u5b50\u8d26\u53f7\u53ca\u5176\u5bc6\u7801\uff0c\u7edf\u4e00\u4e3a moviepilot\n network_mode: bridge\n ports:\n - 55053:5432/tcp\n restart: unless-stopped\n healthcheck:\n test: [\"CMD-SHELL\", \"pg_isready -U moviepilot -d moviepilot\"]\n interval: 10s\n timeout: 5s\n retries: 5\n\n##############################################\n# #\n# \u5176\u4ed6\u8f85\u52a9\u5de5\u5177\uff0c\u6839\u636e\u9700\u8981\u90e8\u7f72 #\n# #\n##############################################\n # \u81ea\u52a8\u66f4\u65b0\u5bb9\u5668\n watchtower:\n image: containrrr/watchtower:latest\n container_name: watchtower\n hostname: watchtower\n network_mode: host\n # \u5e76\u4e0d\u5b58\u5728\u7aef\u53e3\uff0c\u53ea\u662f\u51cf\u5c11\u65b0\u589e\u7f51\u7edc\n volumes:\n - /var/run/docker.sock:/var/run/docker.sock\n # docker \u6838\u5fc3\n environment:\n - WATCHTOWER_CLEANUP=true\n # \u66f4\u65b0\u540e\u79fb\u9664\u65e7\u7684\u955c\u50cf\n - TZ=Asia/Shanghai\n restart: unless-stopped\n\n v2raya:\n image: mzz2017/v2raya:latest\n container_name: v2raya\n hostname: v2raya\n environment:\n - V2RAYA_LOG_FILE=/tmp/v2raya.log\n - V2RAYA_V2RAY_BIN=/usr/local/bin/v2ray\n volumes:\n - ./v2raya:/etc/v2raya\n # \u914d\u7f6e\u6587\u4ef6\u76ee\u5f55\n - /etc/resolv.conf:/etc/resolv.conf\n # \u7167\u6284\uff0c\u8e29\u70b9\u4e86\uff0c\u6709\u8be5\u6587\u4ef6\u5b58\u5728\n network_mode: bridge\n # \u7531\u4e8e\u4e66\u5199\u6709\u4e0d\u540c\u65b9\u5f0f\uff0c\u8fd9\u91cc\u7edf\u4e00\u91c7\u7528 bridge \uff0c\u4f7f\u7528\u4e0d\u652f\u6301\u900f\u660e\u4ee3\u7406\u7684\u6a21\u677f\uff0c\u5982\u679c\u4f60\u6e05\u695a\u5982\u4f55\u4f7f\u7528\uff0c\u5219\u81ea\u884c\u4fee\u6539\n # \u4f60\u76f4\u63a5\u5199 \u670d\u52a1\u5668\u7684 IP:[201710-20172] \u8fdb\u884c\u8bbf\u95ee\uff0c\u4f8b\u5982 emby/JF \u53d8\u91cf\u4e2d\u7684\u7f51\u7edc\u4ee3\u7406\u53c2\u6570\n ports:\n - 2017:2017/tcp\n # WebUI \u7aef\u53e3\uff1a2017\n - 20170-20172:20170-20172/tcp\n # sock \u4ee3\u7406\u7aef\u53e3\uff1a20170\n # http \u4ee3\u7406\u7aef\u53e3\uff1a20171\n # http \u4ee3\u7406\u7aef\u53e3(\u5e26\u5206\u6d41\u89c4\u5219)\uff1a20172\n restart: unless-stopped\n
\n", "date_published": "2025-10-21T10:46:12+00:00", "title": "Docker Compose \u521b\u5efa\u5bb9\u5668\u5b9e\u4f8b\u62a5\u9519", "id": "t/1167406" }, { "author": { "url": "member/raw0xff", "name": "raw0xff", "avatar": "https://cdn.v2ex.com/gravatar/4507d3d0fb4c3523c9a2f50f88c7f6c7?s=73&d=retro" }, "url": "t/1161832", "title": "macos \u4e0b\u4f7f\u7528 orbstack \u5982\u4f55\u624d\u80fd\u4e0d\u6302\u8f7d\u76ee\u5f55\uff1f", "id": "t/1161832", "date_published": "2025-09-25T10:33:21+00:00", "content_html": "

\u76ee\u7684\u662f\u521b\u5efa\u4e00\u4e2a linux \u5bb9\u5668\u53ef\u4ee5\u5728\u91cc\u9762\u5b89\u5168\u7684\u201c\u80e1\u4f5c\u975e\u4e3a\u201d\uff0c\u5404\u79cd\u5b9e\u9a8c\u3002\u4f46\u662f orb -m ubuntu \u8fdb\u5165\u5230\u5bb9\u5668\u540e\u53ef\u4ee5\u8fdb\u5165\u5230 Mac \u6240\u6709\u7684\u6587\u4ef6\u5939\uff0c\u4e0e\u5bbf\u4e3b\u673a\u6743\u9650\u76f8\u540c\u3002\u8fd9\u53ef\u600e\u6562\u80e1\u4f5c\u975e\u4e3a\uff1f

\n

\u8bf7\u95ee\u6709\u6ca1\u6709\u5176\u4ed6\u53ef\u884c\u7684\u65b9\u6848\u6216\u8005\u5176\u4ed6\u8f6f\u4ef6\uff1f \u5c1d\u8bd5\u4e86\u4f7f\u7528\u4ec5\u9650\u5171\u4eab\u7528\u6237\u6267\u884c orb \uff0c\u672a\u9042:(

\n

docker desktop \u592a\u91cd\u4e86\u3002

\n" }, { "author": { "url": "member/future0906", "name": "future0906", "avatar": "https://cdn.v2ex.com/gravatar/5c1b5fcf590276cc751706367c67063d?s=73&d=retro" }, "url": "t/1161554", "title": "Docker \u955c\u50cf\u7684 UID\u3001GID \u7ba1\u7406\u90fd\u8fd9\u4e48\u9634\u95f4\u7684\u4e48\uff1f", "id": "t/1161554", "date_published": "2025-09-24T07:57:49+00:00", "content_html": "\u6700\u8fd1\u5728\u6574\u7406 Homelab \u91cc\u9762 NAS \u7684\u6743\u9650\uff0c\u4ee5\u524d\u90fd\u6ca1\u592a\u5173\u6ce8\u3002\u91cc\u9762\u7684 UID \u548c GID \u7684\u7ba1\u7406\u7b80\u76f4\u4e94\u82b1\u516b\u95e8\u3002

1. \u6709\u7684\u5728 Dockerfile \u91cc\u9762\u6307\u5b9a UID \u4e3a ARG \u3002
2. \u6709\u7684\u5199\u6b7b\u3002
3. \u6709\u7684\u73af\u5883\u53d8\u91cf\u53ef\u4ee5\u6539\u3002
4. \u6709\u7684\u76f4\u63a5 root \u4e00\u628a\u68ad\u3002

\u5bf9\u4e8e 3 \uff0c\u4e00\u822c\u6765\u8bf4\u662f\u5728\u73af\u5883\u53d8\u91cf\u7ed9 PUID \u3001UID \u4e4b\u7c7b\uff0c\u8fd9\u7c7b\u8fd8\u6bd4\u8f83\u65b9\u4fbf\u3002
\u5bf9\u4e8e 4 \u7684\u8bdd\u5176\u5b9e\u4e5f\u8fd8\u597d\uff0c\u53ea\u8981\u4e0d\u6307\u5b9a USER \uff0c\u5728 Compose \u91cc\u9762\u7528 user: <uid:gid>\u8fd9\u6837\u6307\u5b9a
\u5bf9\u4e8e 1 \uff0c2 \u662f\u771f\u7684\u592a\u96be\u4e86\u3002\u8981\u4e48\u5c31\u6539 Dockerfile \uff0c\u53cd\u6b63\u90fd\u8981\u81ea\u5df1 build \u3002\u597d\u4e00\u70b9\u7684\u52c9\u5f3a\u80fd\u5728 Compose \u91cc\u9762\u5199\u4e2a InlineDockerfile \uff0c\u624b\u52a8\u6539\u4e00\u4e0b\uff0c\u590d\u6742\u4e00\u70b9\u7684\u955c\u50cf\u9b3c\u77e5\u9053\u6709\u591a\u5c11\u6587\u4ef6\u7684 owner \u662f\u539f\u6765\u7684\u8d26\u53f7\uff1f

\u867d\u7136\u6211\u77e5\u9053\u5176\u5b9e\u4e0d\u6539\u597d\u50cf\u6ca1\u6709\u5565\u5173\u7cfb\uff0c**\u4f46\u662f\u770b\u5230 ls \u548c ps \u65f6\u5019\u7684\u6df7\u4e71\u7684\u7528\u6237\u540d\uff0c\u5f3a\u8feb\u75c7\u771f\u7684\u96be\u7ef7\u3002**

\u6211\u770b\u6587\u6863\u4f3c\u4e4e\u63d0\u4f9b subuid \u3001UserIdMap \u4e4b\u7c7b\u7684\u624b\u6bb5\uff0c\u4f46\u662f\u7f51\u4e0a\u8ba8\u8bba\u7684\u4eba\u51e0\u4e4e\u6ca1\u6709\uff0c\u662f\u5927\u5bb6\u7684\u4e0d\u5728\u610f\u5417\uff1f" }, { "author": { "url": "member/liuliuliuliu", "name": "liuliuliuliu", "avatar": "https://cdn.v2ex.com/avatar/3ae7/24e3/631769_large.png?m=1740391473" }, "url": "t/1160324", "date_modified": "2025-09-18T17:48:54+00:00", "content_html": "\u6211\u5f53\u524d\u6709\u670d\u52a1 A \u548c B \uff0c\u4ee5\u53ca Traefik \uff0c\u4ed6\u4eec\u4e09\u4e2a\u90fd\u8dd1\u5728\u540c\u4e00\u53f0\u673a\u5668\u7684 docker \u91cc\u3002
A \u548c B \u90fd\u901a\u8fc7 Traefik \u8fdb\u884c\u4e86\u53cd\u4ee3\u4ee5\u53ca\u7ed1\u5b9a\u4e86\u57df\u540d A.example.com \u548c B.example.com \u5e76\u8fdb\u884c\u4e86\u516c\u7f51\u89e3\u6790
\u73b0\u5728\u7684\u95ee\u9898\u662f\uff1a
\u5bb9\u5668 A \u5185\u65e0\u6cd5\u901a\u8fc7\u57df\u540d\u8bbf\u95ee\u5230 B \uff0ccurl -v B.example.com \u65f6\u8fd4\u56de\u5982\u4e0b\uff1a
```
* Host B.example.com:443 was resolved.
* IPv6: (none)
* IPv4: (\u670d\u52a1\u5668\u7684\u516c\u7f51 IP)
* Trying (\u670d\u52a1\u5668\u7684\u516c\u7f51 IP):443...
* connect to (\u670d\u52a1\u5668\u7684\u516c\u7f51 IP) port 443 from 172.22.0.6 port 53088 failed: Operation timed out
* Failed to connect to B.example.com port 443 after 130394 ms: Could not connect to server
* closing connection #0
curl: (28) Failed to connect to B.example.com port 443 after 130394 ms: Could not connect to server
```
\u5bbf\u4e3b\u673a\u6267\u884c curl -v B.example.com \u662f\u6ca1\u95ee\u9898\u7684\u3002

\u6211\u6ca1\u592a\u60f3\u660e\u767d\u4e3a\u4ec0\u4e48\u5bb9\u5668\u5185\u65e0\u6cd5\u901a\u8fc7\u516c\u7f51\u57df\u540d\u8bbf\u95ee\uff1f

\u95ee\u4e86 cursor \u4ed6\u4e5f\u6ca1\u641e\u660e\u767d\u2026\u2026", "date_published": "2025-09-18T13:02:03+00:00", "title": "\u8bf7\u6559\u4e00\u4e2a Docker/Traefik \u7684\u7f51\u8def\u95ee\u9898", "id": "t/1160324" }, { "author": { "url": "member/YanSeven", "name": "YanSeven", "avatar": "https://cdn.v2ex.com/avatar/3f22/feff/383743_large.png?m=1775465214" }, "url": "t/1159998", "date_modified": "2025-09-18T02:26:23+00:00", "content_html": "\u8fd8\u662f\u4e3b\u8981\u662f\u7801\u519c\u81ea\u6d4b\u7528\u7528", "date_published": "2025-09-17T09:24:14+00:00", "title": "docker compose \u5728\u751f\u4ea7\u4e0a\u7528\u7684\u591a\u5417\uff0c\u5c0f\u89c4\u6a21", "id": "t/1159998" }, { "author": { "url": "member/vergilgao", "name": "vergilgao", "avatar": "https://cdn.v2ex.com/avatar/5340/d08e/495902_large.png?m=1592825829" }, "url": "t/1155756", "date_modified": "2025-08-29T12:53:40+00:00", "content_html": "

\u6211\u73b0\u5728\u662f\u7528 Fedora \u90e8\u7f72 podman\n\u548c docker \u6bd4\uff0cpodman \u5e26\u6765\u4e86

\n\n
[Unit]\nDescription=mqtt broker server\nAfter=network-online.target\nWants=network-online.target\nBefore=shutdown.target\n\n[Container]\nHostName=mqtt-broker\nAutoUpdate=registry\nImage=docker.io/eclipse-mosquitto:latest\nNetwork=macvlan.network\nPodmanArgs=--mac-address XX:XX:XX:XX:XX:XX\nVolume=/srv/docker/root/volumes/mqtt/data:/mosquitto/data\nVolume=/srv/docker/root/volumes/mqtt/config:/mosquitto/config\nVolume=/srv/docker/root/volumes/mqtt/log:/mosquitto/log\n\n[Service]\nRestart=always\n\n[Install]\nWantedBy=multi-user.target\n
\n

\u7136\u540e\u5bb9\u5668\u5c31\u4ee5\u4e00\u4e2a systemd \u7684\u670d\u52a1\u7684\u5f62\u5f0f\u8fd0\u884c\u8d77\u6765\u4e86\u3002

\n", "date_published": "2025-08-29T04:27:37+00:00", "title": "2025 \u5e74\u4e86\uff0c\u611f\u89c9 podman \u5df2\u7ecf\u6bd4 docker \u597d\u7528\u592a\u591a\u4e86\uff0c\u5c31\u5dee\u4e00\u4e2a\u6740\u624b\u7ea7\u7684 GUI \u914d\u7f6e\u4e86", "id": "t/1155756" }, { "author": { "url": "member/1800x", "name": "1800x", "avatar": "https://cdn.v2ex.com/gravatar/fd87758cc305c803caa7b515d4f1e836?s=73&d=retro" }, "url": "t/1154517", "title": "ttl.sh \u88ab\u963f\u91cc\u505a\u6389\u4e86\uff0c\u600e\u4e48\u529e\uff1f", "id": "t/1154517", "date_published": "2025-08-23T23:26:20+00:00", "content_html": "ttl.sh \u662f\u4e34\u65f6\u7684\u955c\u50cf\u4ed3\u5e93

\u4e4b\u524d\u4e00\u76f4\u5728\u672c\u5730\u628a\u955c\u50cf push \u5230 ttl.sh \uff0c\u518d\u5728\u963f\u91cc\u4e91\u670d\u52a1\u5668 pull
\u73b0\u5728\u963f\u91cc\u7cfb\u662f\u8d8a\u6765\u8d8a\u4e0b\u4f5c
\u6628\u5929\u53d1\u73b0\u4ece ttl.sh pull \u62a5\u9519\u4e86\uff1a
error pulling image configuration: download failed after attempts=6: read tcp 172.18.35.136:54766->142.250.217.91:443: read: connection reset by peer
\u672c\u5730 push \u548c pull \u90fd ok

\u6709\u6ca1\u6709\u597d\u7684\u89e3\u51b3\u65b9\u6848\u6216\u66ff\u4ee3\u65b9\u6848\uff1f" }, { "author": { "url": "member/cmos", "name": "cmos", "avatar": "https://cdn.v2ex.com/avatar/dd9d/8f79/520237_large.png?m=1758633378" }, "url": "t/1153902", "date_modified": "2025-08-21T07:32:21+00:00", "content_html": "\n

openlist\u8fd9\u7c7b\u65e0\u4f9d\u8d56\u7684\u5355\u6587\u4ef6\u7a0b\u5e8f\uff0c\u7528docker\u90e8\u7f72\u662f\u4e3a\u4e86\u4ec0\u4e48\uff1f\u4e0d\u5e94\u8be5\u9075\u5faa FHS \u89c4\u8303\uff0c\u5b89\u88c5\u5230/opt/openlist\u5e76\u4f7f\u7528systemd\u7ba1\u7406\u5417\uff1f

\n

\u4f46\u662f\u6211\u5728\u5b9e\u9645\u63a5\u89e6\u4e2d\u53d1\u73b0\uff0c\u4e3a\u4e86MySQL/Nginx\u6027\u80fd\uff0c\u5b9e\u9645\u4e0adocker\u90e8\u7f72\u7684\u6ca1\u51e0\u4e2a\uff0c\u53cd\u800copenlist\u8fd9\u79cdweb\u5e94\u7528\u5927\u591a\u662fdocker\u90e8\u7f72\u3002

\n", "date_published": "2025-08-21T03:33:14+00:00", "title": "\u4e07\u7269\u7686 docker \u90e8\u7f72\uff0c\u771f\u7684\u6709\u5fc5\u8981\u5417\uff1f", "id": "t/1153902" }, { "author": { "url": "member/cxzlhr", "name": "cxzlhr", "avatar": "https://cdn.v2ex.com/gravatar/c916f99cb1d6238cb10498b17a0f4210?s=73&d=retro" }, "url": "t/1150805", "title": "\u53ea\u505a\u955c\u50cf harbor nexus \u4e24\u4e2a\u8f6f\u4ef6\u5bf9\u6bd4\u9009\u62e9\u54ea\u4e2a\u5462?", "id": "t/1150805", "date_published": "2025-08-07T11:57:45+00:00", "content_html": "

\u9694\u79bb\u7f51\u7edc\uff0c\u5185\u5916\u7f51\uff0c\u6709\u53cc\u7f51\u5361\u7684\u673a\u5668\uff0c\u9700\u8981\u505a docker \u955c\u50cf\u5e93\u4ee3\u7406\uff0charbor nexus \u4e24\u4e2a\u600e\u4e48\u9009\u62e9\u5462\uff1f\n\u4e24\u5177\u8003\u8651\u70b9\n\u7f51\u4e0a\u67e5\u8bf4 harbor \u6bd4\u8f83\u597d\u7528\uff0c\n\u56e0\u4e3a\u9700\u8981\u505a linux \u7684\u66f4\u65b0\u6e90\uff0c\u5f53\u524d\u5c31\u6709 nexus

\n" }, { "author": { "url": "member/cnt2ex", "name": "cnt2ex", "avatar": "https://cdn.v2ex.com/avatar/57fb/ae44/96660_large.png?m=1741165498" }, "url": "t/1147792", "date_modified": "2025-07-25T17:25:17+00:00", "content_html": "

\u5927\u6982\u7684\u80cc\u666f\u662f\u8fd9\u6837\u7684\u3002

\n

\u6211\u6709 3 \u4e2a\u670d\u52a1\uff0c\u5206\u522b\u662f\u901a\u8fc7 3 \u4e2a compose.yml \u7ba1\u7406\u7684\u3002\n\u4e00\u4e2a\u670d\u52a1\u662f caddy \uff0c\u4f5c\u4e3a\u53cd\u5411\u4ee3\u7406\uff0c\u540c\u65f6\u53cd\u4ee3\u53e6\u5916\u4e24\u4e2a\u670d\u52a1\uff08\u53eb\u5b83\u4eec A \u548c B \u597d\u4e86\uff09\u3002\ncaddy \u5bb9\u5668\u901a\u8fc7 external network \u548c A \u3001B \u76f8\u8fde\uff0c\u5e76\u4e14\u901a\u8fc7\u5bb9\u5668\u540d\u8bbf\u95ee A \u548c B \u3002

\n

\u4f46\u662f\u670d\u52a1 A \u548c B \u90fd\u9700\u8981\u8bbf\u95ee\u4e00\u4e9b\u88ab\u6c61\u67d3\u4e86\u7684\u7f51\u7ad9\uff08\u6bd4\u5982 raw.githubusercontent.com)\uff0c\u867d\u7136\u8bd5\u8fc7\u8bbe\u7f6e HTTP_PROXY/HTTPS_PROXY \u7b49\u73af\u5883\u53d8\u91cf\u8ba9\u5b83\u4eec\u8d70\u4ee3\u7406\uff0c\u4f46\u662f\u4f9d\u7136\u6709\u90e8\u5206\u6d41\u91cf\u76f4\u8fde\uff0c\u56e0\u6b64\u6253\u7b97\u518d\u8dd1\u4e00\u4e2a VPN \u5bb9\u5668\u6765\u63a5\u7ba1\u8fd9\u4e24\u4e2a\u670d\u52a1\u7684\u6d41\u91cf\u3002

\n

\u5047\u8bbe\u6211\u8dd1\u8d77\u6765\u4e86\u4e00\u4e2a VPN \u5bb9\u5668\uff0c\u8be5\u600e\u4e48\u63a5\u7ba1 A \u548c B \u7684\u6d41\u91cf\u5462\uff1f

\n", "date_published": "2025-07-25T17:25:04+00:00", "title": "\u5728\u5bb9\u5668\u91cc\u8fd0\u884c VPN\uff0c\u5982\u4f55\u63a5\u7ba1\u5176\u4ed6\u5bb9\u5668\u7684\u6d41\u91cf\u4f5c\u4e3a\u9ed8\u8ba4\u51fa\u53e3\uff1f", "id": "t/1147792" }, { "author": { "url": "member/laminux29", "name": "laminux29", "avatar": "https://cdn.v2ex.com/gravatar/f5dac702f2936e95d543670f76649f23?s=73&d=retro" }, "url": "t/1147750", "title": "docker \u91cd\u78c5\u5b89\u5168\u6f0f\u6d1e", "id": "t/1147750", "date_published": "2025-07-25T10:40:02+00:00", "content_html": "\u6211\u4eec\u5728\u4f7f\u7528 docker \u65f6\uff0c\u4e00\u822c\u4f1a\u4f7f\u7528 -p / --publish \u6765\u6620\u5c04\u7aef\u53e3\u5230\u5bbf\u4e3b\u673a\uff0c\u7136\u540e\u5728 iptables \u7684 INPUT Chain \u91cc\u5f00\u4e00\u6761\u767d\u540d\u5355\u89c4\u5219\uff0c\u5141\u8bb8\u6307\u5b9a\u7684 IP \u6216 IP \u8303\u56f4\u6765\u8bbf\u95ee\u8fd9\u4e2a\u7aef\u53e3\u3002

\u95ee\u9898\u662f\uff0c\u5f88\u591a\u670b\u53cb\u6d4b\u8bd5\u80fd\u8bbf\u95ee\u540e\uff0c\u5f88\u5bb9\u6613\u5077\u61d2\uff0c\u4e0d\u518d\u6d4b\u8bd5\u522b\u7684 IP \u662f\u5426\u80fd\u8bbf\u95ee\u4e86\u3002docker \u7684\u91cd\u78c5\u5b89\u5168\u6f0f\u6d1e\u4e5f\u5c31\u5728\u8fd9\u91cc\u51fa\u73b0\u3002\u5982\u679c\u4f60\u7ee7\u7eed\u6d4b\u8bd5\uff0c\u4f60\u4f1a\u53d1\u73b0\uff0c\u4e0d\u5728\u767d\u540d\u5355\u7684 IP \u5730\u5740\uff0c\u4e5f\u80fd\u8bbf\u95ee\u8fd9\u4e2a\u7aef\u53e3\u3002

\u539f\u56e0\u5728\u4e8e docker \u81ea\u884c\u7ba1\u7406 iptables \uff0c\u5b83\u7ed9 iptables \u91cc\u63d2\u5165\u4e00\u5927\u5806 Rule Chain \uff0c\u7ed5\u5f00\u4e86 INPUT Chain \u7684\u7ba1\u7406\u3002

\u901a\u8fc7\u4ee5\u4e0b\u4e24\u6761\u547d\u4ee4\uff1a

iptables --list --verbose --numeric

iptables --list --verbose --numeric --table nat

\u53ef\u4ee5\u53d1\u73b0 docker \u63d2\u5165\u4e86\u4e00\u5806\u4ee5 DOCKER \u547d\u540d\u7684 Rule Chain \u3002

\u672c\u6765\u6807\u51c6\u7684\u8f6f\u786c\u4ef6\u9632\u706b\u5899\uff0c\u5305\u62ec iptables \u3001Windows \u9632\u706b\u5899\uff0c\u4e3a\u4e86\u5b89\u5168\uff0c\u90fd\u662f\u9ed8\u8ba4\u4f7f\u7528\u767d\u540d\u5355\u5236\uff0c\u800c docker \u7684\u9632\u706b\u5899\u5374\u662f\u9ed1\u540d\u5355\u5236\u7684\uff0c\u8fd9\u4e0e\u5b89\u5168\u7406\u5ff5\u51b2\u7a81\u3002

\u5efa\u8bae\u5173\u95ed docker \u7684\u81ea\u884c\u7ba1\u7406\u9632\u706b\u5899\u7684\u529f\u80fd\uff0c\u5411 /etc/docker/daemon.json \u6dfb\u52a0 \"iptables\": false

\u7136\u540e\u624b\u52a8\u6e05\u7406 docker \u5411 iptables \u91cc\u6dfb\u52a0\u7684\u5404\u79cd Rule Chain

\u6700\u540e\u624b\u52a8\u7ba1\u7406 docker \u7684\u9632\u706b\u5899\uff0c\u6765\u52a0\u5f3a\u5b89\u5168\u3002" }, { "author": { "url": "member/elgae", "name": "elgae", "avatar": "https://cdn.v2ex.com/gravatar/50e023748ad1979781eba65377edfd6e?s=73&d=retro" }, "url": "t/1147454", "date_modified": "2025-07-24T13:04:17+00:00", "content_html": "

\u8bf7\u6559\u540e\u7aef\u7684\u5e05\u54e5\u4eec\u4e00\u4e2a\u95ee\u9898\uff0c\u5148\u8c22\u8c22\u5927\u5bb6\u4e86\u3002\ud83d\ude4f\ud83d\ude47

\n

\u540e\u7aef\u670d\u52a1 A\u90e8\u7f72\u5728\u4e00\u4e2a docker \u4e2d\uff0c\u53ef\u6267\u884c\u6587\u4ef6 as\u53ca\u5176\u4f9d\u8d56\u90e8\u7f72\u5728\u53e6\u4e00\u4e2a docker \u4e2d\u3002

\n

\u670d\u52a1 A\u9700\u8981\u8c03\u7528as\uff0c\u4e14\u8c03\u7528\u65f6\u9700\u8981\u4f20\u7ed9as\u4e00\u4e2a\u4f4d\u4e8e\u5bbf\u4e3b\u673a\u4e0a\u7684\u6587\u4ef6\u8def\u5f84\u3002

\n

\u5728\u4fdd\u8bc1\u4ee5\u4e0b\u4e24\u70b9\u7684\u524d\u63d0\u4e0b\uff0c\u5b9e\u73b0\u8fd9\u4e2a\u6709\u4ec0\u4e48\u597d\u7684\u65b9\u6848\u5417\uff1f\u671b\u6307\u70b9

\n
    \n
  1. \u5b89\u5168\uff0c\u9700\u8981\u6ee1\u8db3\u89e6\u53d1\u94f6\u884c\u3001\u91d1\u878d\u7b49\u884c\u4e1a\u7684\u5ba1\u67e5\uff1b
  2. \n
  3. \u4e0e\u76f4\u63a5\u5728\u5bbf\u4e3b\u673a\u4e0a\u8c03\u7528\u53ef\u6267\u884c\u6587\u4ef6\u76f8\u6bd4\uff0c\u6267\u884c\u8017\u65f6\u6700\u597d\u5dee\u4e0d\u591a\uff1b
  4. \n
\n", "date_published": "2025-07-24T09:42:38+00:00", "title": "\u8bf7\u6559\u4e00\u4e2a\u5173\u4e8e docker \u95f4\u7684\u901a\u4fe1\u95ee\u9898", "id": "t/1147454" }, { "author": { "url": "member/XIoYi", "name": "XIoYi", "avatar": "https://cdn.v2ex.com/avatar/e9b3/5c6b/487166_large.png?m=1712914081" }, "url": "t/1147095", "title": "[\u6c42\u52a9] Debian12 \u4fee\u6539 docker \u7684 daemon.json \u6587\u4ef6\u540e\u4e0d\u751f\u6548", "id": "t/1147095", "date_published": "2025-07-23T04:26:56+00:00", "content_html": "\u5982\u9898\uff0c\u600e\u4e48\u6539\uff0c\u600e\u4e48\u91cd\u542f\u90fd\u4e0d\u751f\u6548\uff0c\u79bb\u8c31\u7684\u5f88\u3002
\u4e0d\u7ba1\u6211\u600e\u4e48\u6539\uff0c\u90fd\u662f\u4ece\u9ed8\u8ba4 docker.io \u8fd9\u4e2a\u9ed8\u8ba4\u6e90\u4e0b\u8f7d\u955c\u50cf\u2026\u2026
\u6709\u6ca1\u6709\u8001\u54e5\u6709\u89e3\u51b3\u529e\u6cd5\u554a\uff1f" }, { "author": { "url": "member/julyclyde", "name": "julyclyde", "avatar": "https://cdn.v2ex.com/gravatar/4dae02ea3d84a8c34fec215b261bfb5f?s=73&d=retro" }, "url": "t/1146967", "title": "docker compose \u90a3\u4e2a\u5185\u90e8 DNS \u5230\u5e95\u662f\u600e\u4e48\u5de5\u4f5c\u7684", "id": "t/1146967", "date_published": "2025-07-22T12:44:30+00:00", "content_html": "

/etc/resolv.conf \u5199\u7740 127.0.0.11\n\u6309\u8bf4 127.\u4efb\u4f55\u90fd\u662f localhost \u5427\n\u4f46\u662f ps \u67e5\u770b\u5e76\u6ca1\u6709\u8fd0\u884c\u4e2a\u8fdb\u7a0b\u5728 53 \u7aef\u53e3

\n

docker \u5230\u5e95\u662f\u600e\u4e48\u5b9e\u73b0\u5728 127.0.0.11:53 \u76d1\u542c DNS \u8bf7\u6c42\u4f46\u662f\u8fdb\u7a0b\u5e76\u4e0d\u51fa\u73b0\u5728\u5bb9\u5668\u91cc\uff1f

\n" }, { "author": { "url": "member/xzsadsad", "name": "xzsadsad", "avatar": "https://cdn.v2ex.com/gravatar/8703e2f9d40e447a8b14b1c4d66218b8?s=73&d=retro" }, "url": "t/1146727", "title": "\u5c0f\u767d\u6c42\u52a9\uff0c Docker \u62a5\u9519 132 \u662f\u4ec0\u4e48\u95ee\u9898\u5462\uff1f", "id": "t/1146727", "date_published": "2025-07-21T14:11:58+00:00", "content_html": "k3 \u8def\u7531\u5668\uff0c\u521a\u53d1\u73b0\u4e86\u5e26 docker \u7684\u56fa\u4ef6\uff0c\u60f3\u8bd5\u8bd5\u5b89\u88c5 homeassistant \uff0c\u7eaf\u5c0f\u767d\uff0c\u6069\u5c71\u6ca1\u56de\u590d\u7684\uff0c\u641c\u7d22\u4e5f\u6ca1\u627e\u5230\u539f\u56e0\uff0c\u5c31\u4e00\u4e2a portainerUI \u6210\u529f\u8fd0\u884c\u4e86\uff0c\u5176\u4ed6\u7684\u90fd\u62a5\u9519 132 \uff0c\u662f\u4ec0\u4e48\u539f\u56e0\u5462\uff1f\u6211\u6000\u7591\u662f\u4e0d\u662f\u6865\u63a5\u8054\u7f51\u8bbe\u7f6e\u9519\u8bef\u4e86\uff1f\u8fd8\u662f\u8ddf\u8c37\u6b4c\u7684\u4e00\u6837 cpu \u4e0d\u652f\u6301\uff1f\u6709\u5927\u54e5\u80fd\u7ed9\u89e3\u60d1\u4e00\u4e0b\u5417
" }, { "author": { "url": "member/yunnysunny", "name": "yunnysunny", "avatar": "https://cdn.v2ex.com/gravatar/956d02450a02d2fef31dccc591cb4410?s=73&d=retro" }, "url": "t/1146704", "date_modified": "2025-07-22T00:15:12+00:00", "content_html": "

\u8ddd\u79bb\u56fd\u5185 docker \u955c\u50cf\u7ad9\u5931\u6548\u5df2\u7ecf\u6709\u5f88\u957f\u65f6\u95f4\u4e86\uff0c\u4e0d\u8fc7\u7edd\u5927\u591a\u6570\u6280\u672f\u516c\u53f8\u5185\u90e8\u5e94\u8be5\u90fd\u662f\u80fd\u6b63\u5e38\u4f7f\u7528 docker \u7684\uff0c\u56e0\u4e3a\u6ca1\u6709\u9b54\u6cd5\uff0c\u5c31\u4e0d\u80fd\u79f0\u4e4b\u4e3a\u6280\u672f\u516c\u53f8\u3002\u4f46\u662f\u5982\u679c\u81ea\u5df1\u5728\u5bb6\u60f3\u4f7f\u7528 docker \uff0c\u53c8\u4e00\u65f6\u95f4\u4e22\u5931\u4e86\u65bd\u6cd5\u80fd\u529b\uff0c\u90a3\u4e48\u8fd9\u4e2a\u9879\u76ee\u5e94\u8be5\u9002\u5408\u4f60\uff1a https://github.com/whyun-pages/docker-registry \u3002\u5b83\u501f\u52a9 cloudflare pages \u6765\u63d0\u4f9b dockerhub \u7684\u53cd\u4ee3\u8bf7\u6c42\uff0c\u8ba9\u4f60\u91cd\u65b0\u65bd\u6cd5\u6210\u529f\u3002\n\u5f53\u7136\u4e3a\u4e86\u9632\u6b62\u79d8\u7c4d\u5916\u6cc4\uff0c\u9879\u76ee\u4e2d\u4e5f\u63d0\u4f9b\u4e86\u767d\u540d\u5355\u529f\u80fd\uff0c\u53ea\u5141\u8bb8\u6307\u5b9a\u7528\u6237\u8bbf\u95ee\uff0c\u9632\u6b62\u6709\u4eba\u53cd\u5411\u767d\u5ad6\u3002

\n", "date_published": "2025-07-21T11:48:03+00:00", "title": "\u81ea\u5df1\u642d\u5efa\u4e00\u4e2a docker \u955c\u50cf\u7ad9", "id": "t/1146704" }, { "author": { "url": "member/Meditation", "name": "Meditation", "avatar": "https://cdn.v2ex.com/avatar/d103/04ab/491150_large.png?m=1774886312" }, "url": "t/1146433", "date_modified": "2025-07-20T07:50:50+00:00", "content_html": "

\u5728 windows11 \u4e2d\u5b89\u88c5\u4e86 WSL 2 \uff08 Ubuntu \uff09\uff0c\u5b89\u88c5\u4e86 docker \u540e\uff0c\u6b7b\u6d3b\u6ca1\u6cd5 pull image \u3002

\n
docker-compose up\nPulling db (mysql:8.0)...\nERROR: Get \"https://registry-1.docker.io/v2/\": context deadline exceeded\n
\n

\u5c1d\u8bd5\u8fc7\u7684\u65b9\u6cd5\uff1a

\n
    \n
  1. \u4fee\u6539 /etc/docker/daemon.json \uff0c\u6dfb\u52a0\u963f\u91cc\u4e91\u955c\u50cf\u6e90
  2. \n
  3. \u4f7f\u7528 ipv4
  4. \n
  5. \u4fee\u6539 /etc/resolv.conf \uff0c\u4f7f\u7528 nameserver 8.8.8.8 nameserver 1.1.1.1
  6. \n
\n

\u9ebb\u4e86\uff0c\u6709\u6ca1\u5927\u4f6c\u77e5\u9053\u5e94\u8be5\u600e\u4e48\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\u5440\u3002

\n", "date_published": "2025-07-20T07:48:21+00:00", "title": "WSL \u4e2d\u65e0\u6cd5\u8bbf\u95ee registry-1.docker.io/v2/\uff0c\u6ca1\u6cd5\u7528 docker \u62c9\u53d6 image\uff0c\u8bd5\u4e86\u5f88\u591a\u65b9\u6cd5\u90fd\u4e0d\u884c\uff0c\u7d2f\u4e86", "id": "t/1146433" }, { "author": { "url": "member/nextone", "name": "nextone", "avatar": "https://cdn.v2ex.com/avatar/e9d3/e7e3/79054_large.png?m=1605146942" }, "url": "t/1146301", "title": "\u600e\u4e48\u5bf9 docker \u7684\u5bb9\u5668\u9650\u901f", "id": "t/1146301", "date_published": "2025-07-19T06:13:30+00:00", "content_html": "

\u7528 docker \u8fd0\u884c\u8fc5\u96f7\uff0c\u6709\u54ea\u4e9b\u7a0d\u5fae\u7b80\u5355\u7684\u65b9\u6cd5\u9650\u5236\u4e0a\u4f20\uff1f

\n" }, { "author": { "url": "member/soustinafey", "name": "soustinafey", "avatar": "https://cdn.v2ex.com/gravatar/07567063b2f50ac25ba2369580c14c3a?s=73&d=retro" }, "url": "t/1145941", "title": "docker \u5982\u4f55\u4e0d\u8d70\u4ee3\u7406\uff1f", "id": "t/1145941", "date_published": "2025-07-17T13:01:47+00:00", "content_html": "

docker \u5982\u4f55\u4e0d\u8d70\u4ee3\u7406\uff1f

\n

\u6211\u7684\u7cfb\u7edf\u662f linux \u4f7f\u7528\u4ee3\u7406\u4e0b\u8f7d\u7684 docker \u548c openwebui

\n

\u4f46\u662f\u6211\u7684 docker \u5b8c\u5168\u6ca1\u6709\u8bbe\u7f6e\u4efb\u4f55\u4ee3\u7406 \u91cc\u9762\u7684\u5bb9\u5668(localhost)\u5c45\u7136\u8d70\u7684 v2rayN

\n

\u600e\u4e48\u624d\u80fd\u8ba9 docker \u91cc\u9762\u7684\u5bb9\u5668\u4e0d\u8d70 v2rayN \u5462? \u6211\u8bb0\u5f97\u9ed8\u8ba4\u7684 v2rayN \u8bbe\u7f6e\u90fd\u662f\u8df3\u8fc7 geoip:private.

\n" }, { "author": { "url": "member/Betsy", "name": "Betsy", "avatar": "https://cdn.v2ex.com/avatar/6884/5343/132385_large.png?m=1748368206" }, "url": "t/1143231", "date_modified": "2025-07-06T01:23:18+00:00", "content_html": "

\u80cc\u666f\u4ecb\u7ecd

\n

\u73b0\u5728\u6709\u4e2a\u7269\u7406\u673a\uff0cIP \u5730\u5740\u4e3a 192.168.1.111

\n

\u5728\u7269\u7406\u673a\u4e0a\u9762\u88c5\u4e86\u4e00\u4e2a docker \uff0c\u5e76\u4e14\u521b\u5efa\u4e86\u4e00\u4e2a container \uff0c\u5176 IP \u5730\u5740\u4e3a 192.168.49.2

\n

\u95ee\u9898\u8bf4\u660e

\n

\u73b0\u5728\u60f3\u5728\u7269\u7406\u673a\u548c docker container \u91cc\u9762\u5747\u53ef\u4ee5\u6210\u529f\u6267\u884c\u4e0b\u8ff0\u547d\u4ee4\u3002\u76ee\u524d\u53ea\u6709\u7269\u7406\u673a\u4e2d\u53ef\u4ee5\u6b63\u786e\u6267\u884c\u3002

\n
curl -X GET https://registry-1.docker.io/v2/ -v \n
\n

\u6267\u884c\u547d\u4ee4\u7ed3\u679c

\n

\u7269\u7406\u673a\u6267\u884c\u547d\u4ee4\u7ed3\u679c

\n
#> curl -X GET https://registry-1.docker.io/v2/ -v\nNote: Unnecessary use of -X or --request, GET is already inferred.\n* Uses proxy env variable no_proxy == 'localhost,127.0.0.0/8,::1'\n* Uses proxy env variable https_proxy == 'http://127.0.0.1:7890/'\n* Trying 127.0.0.1:7890...\n* Connected to 127.0.0.1 (127.0.0.1) port 7890\n* CONNECT tunnel: HTTP/1.1 negotiated\n* allocate connect buffer\n* Establish HTTP proxy tunnel to registry-1.docker.io:443\n> CONNECT registry-1.docker.io:443 HTTP/1.1\n> Host: registry-1.docker.io:443\n> User-Agent: curl/8.5.0\n> Proxy-Connection: Keep-Alive\n> \n< HTTP/1.1 200 Connection established\n< \n* CONNECT phase completed\n* CONNECT tunnel established, response 200\n* ALPN: curl offers h2,http/1.1\n* TLSv1.3 (OUT), TLS handshake, Client hello (1):\n* CAfile: /etc/ssl/certs/ca-certificates.crt\n* CApath: /etc/ssl/certs\n* TLSv1.3 (IN), TLS handshake, Server hello (2):\n* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):\n* TLSv1.3 (IN), TLS handshake, Certificate (11):\n* TLSv1.3 (IN), TLS handshake, CERT verify (15):\n* TLSv1.3 (IN), TLS handshake, Finished (20):\n* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):\n* TLSv1.3 (OUT), TLS handshake, Finished (20):\n* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256 / X25519 / RSASSA-PSS\n* ALPN: server did not agree on a protocol. Uses default.\n* Server certificate:\n* subject: CN=*.docker.com\n* start date: Mar 5 00:00:00 2025 GMT\n* expire date: Apr 3 23:59:59 2026 GMT\n* subjectAltName: host \"registry-1.docker.io\" matched cert's \"*.docker.io\"\n* issuer: C=US; O=Amazon; CN=Amazon RSA 2048 M03\n* SSL certificate verify ok.\n* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption\n* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption\n* Certificate level 2: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption\n* using HTTP/1.x\n> GET /v2/ HTTP/1.1\n> Host: registry-1.docker.io\n> User-Agent: curl/8.5.0\n> Accept: */*\n> \n< HTTP/1.1 401 Unauthorized\n< content-type: application/json\n< docker-distribution-api-version: registry/2.0\n< www-authenticate: Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"\n< date: Sat, 05 Jul 2025 10:23:42 GMT\n< content-length: 87\n< strict-transport-security: max-age=31536000\n< \n{\"errors\":[{\"code\":\"UNAUTHORIZED\",\"message\":\"authentication required\",\"detail\":null}]}\n* Connection #0 to host 127.0.0.1 left intact\n
\n

docker container \u4e2d\u6267\u884c\u547d\u4ee4\u7ed3\u679c

\n
#> curl -X GET https://registry-1.docker.io/v2/ -v\nNote: Unnecessary use of -X or --request, GET is already inferred.\n* Trying 154.85.102.30:443...\n* Trying 2600:1f18:2148:bc00:5cac:48a0:7f88:7266:443...\n* Immediate connect fail for 2600:1f18:2148:bc00:5cac:48a0:7f88:7266: Network is unreachable\n* Trying 2600:1f18:2148:bc01:f43d:e203:cafd:8307:443...\n* Immediate connect fail for 2600:1f18:2148:bc01:f43d:e203:cafd:8307: Network is unreachable\n* Trying 2600:1f18:2148:bc02:22:27bd:19a8:870c:443...\n* Immediate connect fail for 2600:1f18:2148:bc02:22:27bd:19a8:870c: Network is unreachable\n* connect to 154.85.102.30 port 443 failed: Connection timed out\n* Failed to connect to registry-1.docker.io port 443 after 133144 ms: Connection timed out\n* Closing connection 0\ncurl: (28) Failed to connect to registry-1.docker.io port 443 after 133144 ms: Connection timed out\n
\n

\u7269\u7406\u673a\u67e5\u8be2\u5230\u7684\u8def\u7531\u8868

\n
#> ip route \ndefault via 192.168.1.1 dev wlo1 proto dhcp src 192.168.1.111 metric 600 \n172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown \n192.168.1.0/24 dev wlo1 proto kernel scope link src 192.168.1.111 metric 600 \n192.168.49.0/24 dev br-9123093efaea proto kernel scope link src 192.168.49.1 \n
\n", "date_published": "2025-07-05T10:50:17+00:00", "title": "\u8bf7\u6559\u5927\u5bb6\u4e00\u4e2a\u5173\u4e8e docker \u7f51\u7edc\u7684\u95ee\u9898", "id": "t/1143231" }, { "author": { "url": "member/lyxxxh2", "name": "lyxxxh2", "avatar": "https://cdn.v2ex.com/avatar/683e/710d/583505_large.png?m=1776159443" }, "url": "t/1141418", "date_modified": "2025-06-27T03:35:49+00:00", "content_html": "

\u963f\u91cc\u4e91\"\u955c\u50cf\u52a0\u901f\u5668\"

\n

\"https://i.imgur.com/10kB31a.png\"

\n

\u6628\u5929\u62c9 AnythingLLM \u4e5f\u662f\u8fd9\u6837\u3002

\n

\u7f51\u6613 \u817e\u8baf\u4e91\u7b49

\n

\"https://i.imgur.com/R9IVMlC.png\"

\n

\"https://i.imgur.com/xp6zWfP.png\"

\n

\u90fd ping \u4e0d\u901a,\u4e0b\u67b6\u4e86? \u6ca1\u770b\u5230\u8d44\u6599\u554a\u3002

\n

\u73b0\u5728

\n

\u5f88\u4e45\u6ca1\u7528 docker \u4e86,\u6211\u77e5\u9053\u653f\u5e9c\u628a dockerhub \u5c4f\u853d\u4e86\u3002

\n

\u4f46\u662f\u56fd\u5185\u8fd9\u4e9b\u955c\u50cf\u6e90,\u600e\u4e48\u4e00\u4e2a\u90fd\u62c9\u4e0d\u6765\u4e86\u56fd\u5916\u955c\u50cf?

\n

\u95ee\u9898

\n

\u6211\u73b0\u5728\u53ea\u80fd\u672c\u5730\u7ffb\u5899,\u62c9\u53d6\u955c\u50cf,\u4e0b\u8f7d,\u4e0a\u4f20\u5230\u670d\u52a1\u5668\u3002

\n

\u592a\u9ebb\u70e6\u4e86,\u6709\u76f4\u63a5\u62c9\u7684\u65b9\u5f0f\u5417?

\n", "date_published": "2025-06-27T03:34:37+00:00", "title": "\u4e3a\u4ec0\u4e48\u56fd\u5185\u955c\u50cf\u6e90\u90fd\u4e0d\u66f4\u65b0\u56fd\u5916\u7684\u955c\u50cf?", "id": "t/1141418" }, { "author": { "url": "member/Haku", "name": "Haku", "avatar": "https://cdn.v2ex.com/avatar/f178/a1b8/133660_large.png?m=1770122472" }, "url": "t/1136319", "title": "\u8bf7\u95ee docker \u955c\u50cf\u662f\u5426\u5b58\u5728\u7248\u672c\u517c\u5bb9\u95ee\u9898\uff1f", "id": "t/1136319", "date_published": "2025-06-04T07:27:39+00:00", "content_html": "

\u5916\u90e8\u670d\u52a1\u5668\u4f7f\u7528 docker 27.5.1 \uff0c\u6253\u5305\u4e86\u4e00\u4e2a 40g \u7684\u955c\u50cf\uff0c\u6253\u7b97\u5bfc\u5165\u5230\u5185\u7f51\u4f7f\u7528\uff0c\u4f46\u662f\u5bfc\u5165\u4e00\u76f4\u62a5\u9519\uff0c\u5185\u7f51\u7ef4\u62a4\u4eba\u5458\u8868\u793a docker \u7248\u672c\u592a\u9ad8\uff0c\u5185\u90e8\u4f7f\u7528 docker 20.x \u7248\u672c\uff0c\u56e0\u4e3a\u5e73\u53f0\u539f\u56e0\uff0c\u6ca1\u6709\u76f8\u5173\u9519\u8bef\u65e5\u5fd7\u3002

\n

\u6240\u4ee5\u524d\u6765\u95ee\u95ee\u5404\u4f4d\uff0cdocker \u662f\u5426\u786e\u5b9e\u6709\u8fd9\u4e2a\u95ee\u9898\uff1f\u4ee5\u53ca\u5982\u679c\u6709\u7684\u60c5\u51b5\u4e0b\uff0c\u5982\u4f55\u5728\u9ad8\u7248\u672c docker \u4e0b\u6253\u5305\u4e00\u4e2a\u4f4e\u7248\u672c docker \u517c\u5bb9\u7684\u955c\u50cf\uff1f

\n

\u7f51\u4e0a\u67e5\u627e\u8be5\u95ee\u9898\u63cf\u8ff0\u751a\u5c11\uff0c\u53ea\u6709 chatgpt \u63d0\u5230\u4e86\u4e00\u5634 docker \u65b0\u7248\u672c\u4f7f\u7528\u4e86 BuildKit \u7279\u6027\uff0c\u6240\u4ee5\u53ef\u80fd\u5b58\u5728\u7248\u672c\u517c\u5bb9\u95ee\u9898\uff0c\u8fdb\u4e00\u6b65\u67e5\u627e\u6ca1\u6709\u5f97\u5230\u66f4\u591a\u3002

\n

\u5916\u90e8\u670d\u52a1\u5668\u5bb9\u5668\u73af\u5883\u590d\u6742\uff0c\u4e0d\u592a\u65b9\u4fbf\u518d\u91cd\u88c5\u4e00\u4e2a\u4f4e\u7248\u672c docker \uff0c\u5e0c\u671b\u80fd\u6709\u4e0d\u91cd\u88c5\u73af\u5883\u7684\u89e3\u51b3\u65b9\u6848\u3002

\n" }, { "author": { "url": "member/424778940", "name": "424778940", "avatar": "https://cdn.v2ex.com/avatar/f2cd/b577/197754_large.png?m=1688277131" }, "url": "t/1136118", "date_modified": "2025-06-03T10:25:55+00:00", "content_html": "\u5982\u9898, \u76ee\u524d\u5728\u7528 NIX, \u4f46\u5b9e\u5728\u662f\u4e0d\u592a\u559c\u6b22\u8fd9\u4e2a\u4e1c\u897f\u7684\u8bbe\u8ba1\u548c\u8bed\u6cd5, \u800c\u4e14\u8fd8\u662f\u4f1a\u53d7\u5230\u5916\u90e8\u73af\u5883\u5f71\u54cd(\u91cc\u9762\u6ca1\u6709\u7684\u4e1c\u897f\u4f1a\u7528\u5916\u9762\u7684)

\u7528 docker \u7684\u8bdd, \u597d\u50cf\u6ca1\u6709\u529e\u6cd5\u9501\u5b9a\u7248\u672c\u6765\u786e\u4fdd\u6bcf\u6b21\u6784\u5efa\u51fa\u7684\u955c\u50cf\u90fd\u662f\u4e8c\u8fdb\u5236\u76f8\u540c\u7684

\u6709\u4ec0\u4e48\u66f4\u597d\u7684\u505a\u6cd5\u5417? \u6c42\u6307\u6559", "date_published": "2025-06-03T10:23:50+00:00", "title": "\u6709\u6ca1\u6709\u53ef\u884c\u7684 reproducible \u5bb9\u5668\u73af\u5883\u65b9\u6848?", "id": "t/1136118" }, { "author": { "url": "member/imurfuture", "name": "imurfuture", "avatar": "https://cdn.v2ex.com/avatar/39af/c561/343416_large.png?m=1719305800" }, "url": "t/1134804", "title": "\u4e0d\u5b89\u88c5 docker \u6709\u529e\u6cd5\u76f4\u63a5\u4e0b\u8f7d\u955c\u50cf tar \u5305\u5417\uff1f", "id": "t/1134804", "date_published": "2025-05-28T02:22:49+00:00", "content_html": "\u770b\u5230\u7684\u65b9\u6848\u90fd\u662f\u5728\u6709\u7f51\u7684\u8bbe\u5907\u4e0a\u5b89\u88c5 docker \uff0cpull \u955c\u50cf\u4e4b\u540e\u518d\u5bfc\u51fa tar \u5305
\u7136\u540e\u518d\u5bfc\u5165\u6ca1\u6709\u7f51\u7684\u8bbe\u5907\u4e2d
------------------------
\u60f3\u8981\u76f4\u63a5\u4ece windows \u8bbe\u5907(\u6709\u7f51\u4f46\u662f\u65e0\u6cd5\u5b89\u88c5 docker desktop)\u4e0b\u8f7d\u955c\u50cf tar \u5305\uff0c\u6709\u4ec0\u4e48\u529e\u6cd5\u5417\uff1f" }, { "author": { "url": "member/wynemo", "name": "wynemo", "avatar": "https://cdn.v2ex.com/avatar/9960/7461/5706_large.png?m=1740755738" }, "url": "t/1133446", "title": "\u5728\u56fd\u5185\u670d\u52a1\u5668\u4e0a\u4f7f\u7528 sing-box \u65b9\u4fbf\u7684\u62c9\u53d6 docker \u955c\u50cf", "id": "t/1133446", "date_published": "2025-05-22T02:07:57+00:00", "content_html": "

\u5728\u56fd\u5185\u670d\u52a1\u5668\u4e0a\u62c9\u53d6 docker \u955c\u50cf\u73b0\u5728\u90fd\u51fa\u73b0 docker.io \u8fde\u63a5\u4e0d\u4e0a\u7684\u60c5\u51b5\uff0c\u53ef\u4ee5\u8dd1\u4e2a sing-box \uff0c\u5f00\u542f tun \u6a21\u5f0f\uff0c\u5c31\u53ef\u4ee5\u62c9\u53d6 docker \u955c\u50cf\u4e86\u3002

\n

\u9700\u8981\u6ce8\u610f\u7684\u662f\u5982\u679c\u8bf4\u4f60\u7684 docker \u8fd8\u5bf9\u5916\u63d0\u4f9b\u670d\u52a1 \u9700\u8981\u6253\u5f00 auto_route \u4ee5\u53ca auto_redirect \u8fd9\u6837 tun \u6a21\u5f0f\u5c31\u4e0d\u4f1a\u4e0e docker \u7f51\u6865\u51b2\u7a81 \u4e0d\u7136\u53ef\u80fd\u4f1a\u51fa\u73b0\u6253\u5f00 sing-box \u65f6 docker \u5bf9\u5916\u63d0\u4f9b\u7684\u670d\u52a1\u8bbf\u95ee\u4e0d\u4e86

\n

\u8be6\u7ec6\u8bf7\u770b\uff1a https://github.com/wynemo/tech-notes/blob/master/science/sing-box/sing-box-for-docker-pull.md

\n" }, { "author": { "url": "member/liubiubiu123123", "name": "liubiubiu123123", "avatar": "https://cdn.v2ex.com/avatar/ef7a/2cdf/666002_large.png?m=1728547585" }, "url": "t/1130412", "date_modified": "2025-05-09T03:17:58+00:00", "content_html": "

\u9700\u6c42\u662f \u516c\u53f8\u5916\u5305\u9879\u76ee\u7684\u540c\u4e8b\u53ea\u80fd\u770b\u5230\u90e8\u5206 docker \u5bb9\u5668\u7684\u65e5\u5fd7\u3002\n\u8bd5\u4e86\u4e00\u4e0b portainer \u548c dpanel.\u90fd\u662f\u6536\u8d39\u624d\u80fd\u7528 \u6743\u9650\u63a7\u5236\u7684\u529f\u80fd

\n", "date_published": "2025-05-08T05:54:29+00:00", "title": "\u6709\u6ca1\u6709\u5e26\u6743\u9650\u7684 docker \u7ba1\u7406\u5de5\u5177", "id": "t/1130412" }, { "author": { "url": "member/yiluqingshen", "name": "yiluqingshen", "avatar": "https://cdn.v2ex.com/gravatar/0a2c941633e2a3f5e25a3011a2a60254?s=73&d=retro" }, "url": "t/1128765", "title": "Openp2p \u8fdc\u7a0b\u8bbf\u95ee\u98de\u725b NAS \u5185\u5e94\u7528\u4e0d\u6210\u529f\uff0c\u8bf7\u6709\u7ecf\u9a8c\u7684\u8001\u94c1\u6307\u6559\u3002", "id": "t/1128765", "date_published": "2025-04-29T00:37:37+00:00", "content_html": "\u65e5\u5e38\u7ec4\u7f51\u8bbf\u95ee armbian \u76d2\u5b50 SSH \uff0c\u7535\u8111\u7aef 3389 \uff0cPVE \u90fd\u7a7f\u900f\u6210\u529f\u3002
\u4f46\u662f\u5728\u8bbf\u95ee\u98de\u725b NAS \u5185\u5b89\u88c5\u7684\u5e94\u7528\u65f6\u65e0\u6cd5\u8bbf\u95ee\u3002
---\u76ee\u524d\u672a\u627e\u5230\u6709\u6548\u7a7f\u900f\u6210\u529f\u4e4b\u540e\u8bbf\u95ee\u98de\u725b NAS \u5185\u5e94\u7528\u7684\u65b9\u6cd5\uff08 lucky \u53cd\u4ee3\u65b9\u6848\u4e0d\u6210\u529f\uff0c\u56e0\u65e0\u8def\u7531\u5668\u7ba1\u7406\u6743\u9650\uff09\u3002
\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u8bf7\u770b VCR\uff1a
https://imgur.com/a/ezk9pOL


-----\u5b9e\u5728\u6ca1\u4eba\u61c2\u6280\u672f\uff0c\u6240\u4ee5\u5230 DOCKER \u8fd9\u6c34\u4e00\u4e2a\u5e16\u5b50\uff0c\u8bf7\u7ba1\u7406\u4e0d\u8981\u5220\u3002" }, { "author": { "url": "member/juzi214032", "name": "juzi214032", "avatar": "https://cdn.v2ex.com/gravatar/7d18077a50ff6cbab1a05e20135d9d2b?s=73&d=retro" }, "url": "t/1128566", "date_modified": "2025-04-28T02:40:31+00:00", "content_html": "

\u6211\u7684 nas \u4e0a\u90e8\u7f72\u4e86\u5f88\u591a docker \u670d\u52a1\uff0c\u4f46\u5176\u4e2d\u6709\u76f8\u5f53\u4e00\u90e8\u5206\u662f\u4e00\u4e9b\u5de5\u5177\u7c7b\u7684\uff08\u4f7f\u7528\u9891\u7387\u4f4e\uff0c\u53ef\u80fd\u51e0\u5929\u6216\u8005\u51e0\u5468\u7528\u4e00\u6b21\uff09\uff0c\u6211\u5e0c\u671b\u80fd\u5728\u6301\u7eed\u591a\u957f\u65f6\u95f4\u6ca1\u6709\u8bbf\u95ee\u5bb9\u5668\u540e\uff0c\u5c06\u5bb9\u5668\u9500\u6bc1\u6216\u8005\u7c7b\u4f3c\u4f11\u7720\uff0c\u80fd\u91ca\u653e\u8d44\u6e90\u5c31\u884c\u3002\u5728\u4e0b\u4e00\u6b21\u8bbf\u95ee\u7684\u65f6\u5019\uff0c\u81ea\u52a8\u62c9\u8d77\u5bb9\u5668\uff08\u53ef\u4ee5\u63a5\u53d7\u542f\u52a8\u65f6\u95f4\u7a0d\u957f\u4e00\u4e9b\uff09\u3002\u6709\u70b9\u7c7b\u4f3c\u4e8e\u5f39\u6027\u6269\u7f29\u5bb9\uff0c\u4f46\u9700\u8981\u7f29\u5bb9\u5230 0 \u3002\u6211\u73b0\u5728\u662f\u5728\u98de\u725b\u4e0a\u7528 docker compose \u90e8\u7f72\u7684\u5bb9\u5668\uff0c\u6682\u65f6\u6ca1\u770b\u5230\u4ec0\u4e48\u597d\u65b9\u6cd5

\n", "date_published": "2025-04-28T02:22:33+00:00", "title": "\u6709\u6ca1\u6709\u8ba9 docker \u5bb9\u5668\u4f11\u7720\u7684\u65b9\u6cd5", "id": "t/1128566" }, { "author": { "url": "member/fzdoudou", "name": "fzdoudou", "avatar": "https://cdn.v2ex.com/gravatar/46bb2eed28f767cd5a284ad3ccd4f294?s=73&d=retro" }, "url": "t/1128044", "date_modified": "2025-04-25T09:47:15+00:00", "content_html": "crud javaer \u4e00\u679a\uff0c\u5e73\u5e38\u53ea\u4f1a\u5199 CRUD \u4e1a\u52a1\u4ee3\u7801\uff0c\u83dc\u9e1f\u4e00\u679a\uff0c\u865a\u5fc3\u8bf7\u6c42\u5404\u4f4d\u5927\u4f6c\u3002\u4ece\u6765\u6ca1\u6709\u53bb\u7814\u7a76\u8fc7\u751f\u4ea7\u73af\u5883\u90e8\u7f72\u7684\u6d41\u7a0b\uff0c\u73b0\u5728\u6709\u4e2a\u5c0f\u9879\u76ee\u60f3\u8981\u90e8\u7f72\u5230\u963f\u91cc\u4e91\u53bb\uff0c\u6709\u5f88\u591a\u7591\u95ee\u3002\u76ee\u524d\u5df2\u7ecf\u4e70\u4e86\u4e00\u53f0\u963f\u91cc\u4e91\u670d\u52a1\u5668 2C4G 5M \u56fa\u5b9a\u5e26\u5bbd 80G \u4e91\u76d8\u3002
\u9879\u76ee\u80cc\u666f
1 \u3001Java \u540e\u7aef\u670d\u52a1\u4e00\u4e2a\uff0cB \u7aef\u7ba1\u7406\u540e\u53f0\u4e00\u4e2a\uff0cC \u7aef\u4e00\u4e2a
2 \u3001\u4f7f\u7528\u5230\u4e86 jdk17,redis,rabbitmq,mysql \u8fd9\u4e9b\u57fa\u7840\u7684\u4e2d\u95f4\u4ef6,\u9879\u76ee\u6784\u5efa\u4f7f\u7528 maven,nginx \u505a\u53cd\u5411\u4ee3\u7406
3 \u3001\u524d\u671f\u53ea\u662f\u9a8c\u8bc1\u4e1a\u52a1\u6d41\u7a0b\uff0c\u8dd1\u8d77\u6765\u540e\u53ef\u80fd\u9700\u8981\u6269\u5bb9\u670d\u52a1\u5668\u505a\u96c6\u7fa4
4 \u3001\u6709\u8ba9 ChatGPT \u7ed9\u6211\u68b3\u7406\u6d41\u7a0b\uff0c\u524d\u9762\u8bb2\u7684\u633a\u597d\u7684\uff0c\u4f46\u662f\u6211\u7591\u95ee\u8d8a\u591a\u53d1\u73b0\u5b83\u4f1a\u6709\u70b9\u4e0d\u8bb0\u5f97\u6211\u4e4b\u524d\u7684\u80cc\u666f\uff0c\u7ecf\u5e38\u505a\u4e00\u4e9b\u7ed3\u679c\u4e0d\u4e00\u6837\u7684\u8f93\u51fa
\u7591\u95ee
1 \u3001\u6700\u5927\u7684\u7591\u95ee\u5c31\u662f\u5bf9\u4f7f\u7528 docker \u8fd8\u662f\u76f4\u63a5\u5728\u5bbf\u4e3b\u673a\u90e8\u7f72\u4e00\u76f4\u7ea0\u7ed3\u4e0d\u5b9a\uff0c\u5f52\u6839\u5230\u5e95\u8fd8\u662f\u6211\u4ece\u6765\u6ca1\u6709\u7528\u8fc7 docker \uff0c\u4e00\u76f4\u770b\u522b\u4eba\u8bf4 docker \u90e8\u7f72\u975e\u5e38\u65b9\u4fbf\uff0c\u6240\u4ee5\u5c31\u60f3\u8bd5\u8bd5\u770b\u3002\u4f46\u662f\u6211\u5728\u8bd5\u7528\u670d\u52a1\u5668\u8fb9\u5b66\u4e60 docker \u8fb9\u90e8\u7f72\uff0c\u611f\u89c9\u4e5f\u6ca1\u6709\u60f3\u8c61\u7684\u90a3\u4e48\u65b9\u4fbf\u3002\u6240\u4ee5\u60f3\u95ee\u4e0b\u5bf9\u4e8e\u6211\u8fd9\u79cd\u60c5\u51b5\u4ee5\u53ca\u672a\u6765\u7684\u53d1\u5c55\u65b9\u5411\u662f\u5426\u9700\u8981\u7528 docker
2 \u3001\u662f\u5426\u4e00\u5f00\u59cb\u5c31\u8981\u4e0a RDS \u4e91\u6570\u636e\u5e93\uff0c\u5982\u679c\u4e0a\u4e86\u4ee5\u540e\u5b83\u8ddf docker \u662f\u600e\u4e48\u8fde\u63a5\u7684\uff0cmysql \u90e8\u7f72\u5728\u5bbf\u4e3b\u673a\u4f1a\u6709\u4e22\u5931\u6570\u636e\u7684\u98ce\u9669\u5417
3 \u3001\u5982\u679c\u4f7f\u7528\u4e86 docker \uff0c\u6211\u7684\u4ee3\u7801\u5728\u672c\u5730\u6539\u5b8c\u5982\u4f55\u6700\u5feb\u7684\u90e8\u7f72\u4e0a\u53bb\uff0c\u73b0\u5728\u4e0d\u8003\u8651\u7528 Jenkins \uff0c\u4e00\u4e2a\u4eba\u7cbe\u529b\u73b0\u5728\u8fd8\u4e0d\u591f
4 \u3001\u8fd9\u6837\u4e00\u53f0\u670d\u52a1\u5668\u80fd\u652f\u6491\u7684\u8d77\u591a\u5927\u7684\u4e1a\u52a1\u91cf\uff0c\u5982\u679c\u4e00\u5929\u6709\u51e0\u5341\u4e07\u8bf7\u6c42\uff0c\u662f\u5426\u6491\u5f97\u4f4f", "date_published": "2025-04-25T07:41:11+00:00", "title": "\u751f\u4ea7\u73af\u5883\u90e8\u7f72\u7591\u95ee", "id": "t/1128044" }, { "author": { "url": "member/datadump", "name": "datadump", "avatar": "https://cdn.v2ex.com/avatar/373a/9420/284506_large.png?m=1724288412" }, "url": "t/1125338", "date_modified": "2025-04-14T09:59:30+00:00", "content_html": "

\u9ed8\u8ba4\u7684 latest \u603b\u662f\u6709\u4e9b\u62c5\u5fc3\uff1a\u6bd4\u5982\u6302\u8f7d\u7684\u6570\u636e\u6587\u4ef6\u683c\u5f0f\u53d8\u52a8\u8f83\u5927\uff0c\u4ee5\u540e\u79fb\u52a8\u6570\u636e\u5230\u5176\u5b83\u670d\u52a1\u5668\u5c31\u4f1a\u6709\u517c\u5bb9\u6027\u95ee\u9898\u3002

\n

run \u7684\u65f6\u5019\u56fa\u5b9a\u4e00\u4e2a\u7248\u672c\u662f\u4e0d\u662f\u597d\u4e60\u60ef\uff1f

\n", "date_published": "2025-04-14T06:50:21+00:00", "title": "\u8fd0\u884c docker \u5bb9\u5668\u9700\u8981\u6307\u5b9a\u4e00\u4e2a\u7248\u672c\u5417", "id": "t/1125338" } ] } ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86