{"id":121617,"date":"2026-11-03T05:40:45","date_gmt":"2026-11-02T21:40:45","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/121617.html"},"modified":"2026-11-03T05:40:45","modified_gmt":"2026-11-02T21:40:45","slug":"12-%c2%b7-%e6%96%b0%e6%9c%ba%e9%83%a8%e7%bd%b2%e5%ae%9e%e5%bd%95%ef%bc%8838-76-188-216%ef%bc%8c2026-11-02%ef%bc%89","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/121617.html","title":{"rendered":"12 \u00b7 \u65b0\u673a\u90e8\u7f72\u5b9e\u5f55\uff0838.76.188.216\uff0c2026-11-02\uff09"},"content":{"rendered":"<p>        \/* MD \/ \u5bcc\u6587\u672c\u4e2d\u7684 .toc\uff08\u542b\u535a\u5ba2\u56ed\u642c\u5bb6\u7b49\u5d4c\u5957\u7ed3\u6784\uff09\uff1b.toc-box \u5728\u4fa7\u680f\uff0c\u4e0d\u53d7\u5f71\u54cd *\/<br \/>\n        #content_views .toc,<br \/>\n        \/* \u7f16\u8f91\u5668\u5e38\u5728\u76ee\u5f55\u524d\u540e\u63d2\u5165\u7a7a p\uff08:empty \u4ecd\u5360 20px\uff09\uff0c\u4e00\u5e76\u53bb\u6389\u907f\u514d\u9876\u7a7a\u9699 *\/<br \/>\n        #content_views.markdown_views &gt; p:empty:has(+ .toc),<br \/>\n        #content_views.markdown_views &gt; .toc + p:empty,<br \/>\n        \/* \u5bcc\u6587\u672c\u65e7\u7248\u76ee\u5f55\u6807\u8bb0 *\/<br \/>\n        #content_views.htmledit_views #main-toc,<br \/>\n        #content_views.htmledit_views #hr-toc,<br \/>\n        #content_views.htmledit_views p[id*=\\&#8221;-toc\\&#8221;] {<br \/>\n          display: none !important;<br \/>\n        }<br \/>\n        \/* \u76ee\u5f55\u53bb\u6389\u540e\uff0c\u7d27\u8ddf\u7684\u9996\u4e2a\u6807\u9898\u4e0d\u518d\u591a\u51fa\u4e00\u5757\u4e0a\u8fb9\u8ddd *\/<br \/>\n        #content_views.markdown_views &gt; .toc + h1,<br \/>\n        #content_views.markdown_views &gt; .toc + h2,<br \/>\n        #content_views.markdown_views &gt; .toc + h3,<br \/>\n        #content_views.markdown_views &gt; .toc + h4,<br \/>\n        #content_views.markdown_views &gt; .toc + p:empty + h1,<br \/>\n        #content_views.markdown_views &gt; .toc + p:empty + h2,<br \/>\n        #content_views.markdown_views &gt; .toc + p:empty + h3,<br \/>\n        #content_views.markdown_views &gt; .toc + p:empty + h4 {<br \/>\n          margin-top: 0 !important;<br \/>\n        }<\/p>\n<p>\u76ee\u7684&#xff1a;\u628a\u300c\u5728\u4e00\u53f0\u5168\u65b0\u4e91\u4e3b\u673a\u4e0a\u628a feature\/merge \u5e73\u53f0 &#043; Path B \u771f\u5b9e\u8fd0\u884c\u65f6\u8dd1\u8d77\u6765\u300d\u7684\u5168\u8fc7\u7a0b<br \/>\n\u6309\u300c\u73b0\u8c61 \u2192 \u6839\u56e0 \u2192 \u4fee\u590d \u2192 \u9a8c\u8bc1\u300d\u8bb0\u4e0b\u6765&#xff0c;\u4f5c\u4e3a 11-\u65b0\u673a\u4ece\u96f6\u90e8\u7f72\u6307\u5357.md \u7684\u5b9e\u6d4b\u8865\u4e01\u3002<br \/>\n\u672c\u7bc7\u53ea\u519911 \u91cc\u6ca1\u5199\u3001\u5199\u9519\u3001\u6216\u770b\u8d77\u6765\u65e0\u5bb3\u5b9e\u9645\u4f1a\u70b8\u7684\u5730\u65b9&#xff1b;\u6d41\u7a0b\u672c\u8eab\u4ecd\u4ee5 11 \u4e3a\u51c6\u3002<\/p>\n<h3>0. \u76ee\u6807\u673a\u4e0e\u7ed3\u679c<\/h3>\n<table>\n<tr>\u9879\u503c<\/tr>\n<tbody>\n<tr>\n<td>\u4e3b\u673a<\/td>\n<td>38.76.188.216&#xff08;root&#xff0c;Ubuntu 24.04.1 LTS&#xff0c;kernel 6.8&#xff0c;x86_64&#xff0c;\u7eaf CPU \u65e0 GPU&#xff09;<\/td>\n<\/tr>\n<tr>\n<td>\u4ee3\u7801<\/td>\n<td>\/srv\/deepracer-platform\/repo&#xff08;feature\/merge&#xff0c;commit 074ff380a89f&#xff09;<\/td>\n<\/tr>\n<tr>\n<td>DRfC<\/td>\n<td>\/home\/rambo\/deepracer-for-cloud&#xff08;DRfC 6.0.8&#xff0c;DR_SIMAPP_VERSION&#061;6.0.8-cpu&#xff09;<\/td>\n<\/tr>\n<tr>\n<td>\u5e73\u53f0\u7aef\u53e3<\/td>\n<td>18080&#xff08;nginx \u2192 backend:8000&#xff09;<\/td>\n<\/tr>\n<tr>\n<td>\u7ed3\u679c<\/td>\n<td>\u5e73\u53f0 health 200&#xff08;version 1.2.0 \/ commit 074ff380a89f \/ db\/redis\/storage \u5168 true&#xff09;&#xff1b;DRfC host-check.sh PASS&#061;11 FAIL&#061;0&#xff1b;\u5e73\u53f0 probe 8\/8 PASS&#xff1b;\u771f\u5b9e\u8bad\u7ec3\u4ea7\u51fa model_0.pb&#xff08;23 MB&#xff09;\u843d DRfC MinIO&#xff1b;\u8bc4\u6d4b SUCCEEDED&#xff08;completion_rate 1.0\u3001best_lap 112.394&#xff09;\u5e76\u4ea7\u51fa MP4 7.36 MB<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h3>1. \u65f6\u95f4\u7ebf&#xff08;\u5173\u952e\u8282\u70b9&#xff09;<\/h3>\n<table>\n<tr>\u65f6\u523b(UTC)\u4e8b\u4ef6<\/tr>\n<tbody>\n<tr>\n<td>11:2x<\/td>\n<td>Path A&#xff1a;bootstrap.sh \u2192 8 \u4e2a\u5bb9\u5668 Up&#xff0c;health 200&#xff0c;69 \u6761\u8d5b\u9053&#xff0c;Host local-01&#061;FAKE<\/td>\n<\/tr>\n<tr>\n<td>11:4x<\/td>\n<td>Path B \u51c6\u5907&#xff1a;swarm init &#043; Sagemaker\/Robomaker label &#043; \u5e26 compose \u6807\u7b7e\u7684 sagemaker-local overlay<\/td>\n<\/tr>\n<tr>\n<td>11:5x<\/td>\n<td>prepare.sh&#xff08;\u5df2\u6253 docker.io \u8865\u4e01&#xff09;\u5728 SSH \u4f1a\u8bdd\u91cc\u8dd1 \u2192 apt -y upgrade \u66ff\u6362 openssh-server \u2192 \u4f1a\u8bdd\u88ab\u6740&#xff0c;22 \u7aef\u53e3\u6d88\u5931<\/td>\n<\/tr>\n<tr>\n<td>12:2x<\/td>\n<td>\u540e\u53f0 docker pull simapp:6.0.8-cpu \u5b8c\u6210&#xff08;\u65e5\u5fd7 PULL_DONE rc&#061;0&#xff0c;16.4 GB \u843d\u76d8&#xff09;<\/td>\n<\/tr>\n<tr>\n<td>13:4x<\/td>\n<td>\u63a7\u5236\u53f0 Restart \u2192 22 \u7aef\u53e3\u6062\u590d&#xff08;ssh.socket \u6fc0\u6d3b&#xff09;<\/td>\n<\/tr>\n<tr>\n<td>13:4x<\/td>\n<td>systemd-run \u6258\u7ba1\u91cd\u8dd1 prepare.sh \u2192 PREPARE_RC&#061;0&#xff08;.venv \/ aws-cli \/ docker \u5168\u90e8\u5c31\u4f4d&#xff09;<\/td>\n<\/tr>\n<tr>\n<td>13:5x<\/td>\n<td>DRfC \u4fa7\u624b\u5de5\u521d\u59cb\u5316 \u2192 s3_minio 1\/1&#xff0c;host-check.sh FAIL&#061;0<\/td>\n<\/tr>\n<tr>\n<td>13:54<\/td>\n<td>\u5e73\u53f0 .env \u4e94\u9879 &#043; \u91cd\u5efa backend\/worker\/worker-runtime \u2192 probe 8\/8 PASS&#xff0c;Host&#061;LOCAL\/ONLINE<\/td>\n<\/tr>\n<tr>\n<td>13:57<\/td>\n<td>API \u5efa\u8bad\u7ec3\u4f5c\u4e1a \u2192 TRAINING&#xff0c;deepracer-0_rl_coach 1\/1\u3001algo-1 \u5bb9\u5668\u8d77&#xff0c;model_0.pb \u843d\u6876<\/td>\n<\/tr>\n<tr>\n<td>14:0x<\/td>\n<td>POST \/training-jobs\/1\/stop \u2192 STOPPING \u2192 CANCELLED&#xff0c;\u6808\u6e05\u7406\u5e72\u51c0<\/td>\n<\/tr>\n<tr>\n<td>14:08<\/td>\n<td>\u767b\u8bb0 ModelVersion &#043; \u53d1\u8d77\u8bc4\u6d4b&#xff08;1 trial &#043; \u5f55\u89c6\u9891&#xff09;\u2192 RUNNING&#xff0c;robomaker \u771f\u5b9e\u8dd1\u5708<\/td>\n<\/tr>\n<tr>\n<td>14:22<\/td>\n<td>\u8bc4\u6d4b SUCCEEDED&#xff08;task 831 s&#xff09;&#xff1a;completion_rate&#061;1.0\u3001best_lap_time&#061;112.394\u3001MP4 7.36 MB \u843d\u6876<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h3>2. \u95ee\u9898\u4e0e\u4fee\u590d\u6e05\u5355<\/h3>\n<h4>2.1 SSH \/ \u8fdc\u7a0b\u6267\u884c&#xff08;Windows \u2192 Linux&#xff09;<\/h4>\n<table>\n<tr>#\u73b0\u8c61\u6839\u56e0\u4fee\u590d<\/tr>\n<tbody>\n<tr>\n<td>1<\/td>\n<td>PowerShell \u91cc\u8fdc\u7aef\u547d\u4ee4\u7684 ;\u3001&amp;&amp;\u3001\u5f15\u53f7\u88ab\u5403\u6389\/\u622a\u65ad<\/td>\n<td>PowerShell \u5148\u81ea\u5df1\u89e3\u6790\u4e00\u904d&#xff0c;\u591a\u5f15\u53f7\u5d4c\u5957\u5fc5\u7136\u8d70\u5f62<\/td>\n<td>\u6240\u6709\u8fdc\u7aef\u64cd\u4f5c\u6539\u6210 \u672c\u5730\u5199 .sh \u2192 \u4e0a\u4f20 \u2192 \u8fdc\u7aef bash \u6267\u884c&#xff0c;\u7981\u7528\u5185\u8054\u957f\u547d\u4ee4<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>\u8fdc\u7aef\u8f93\u51fa\u5230 Windows \u63a7\u5236\u53f0\u4e71\u7801 \/ UnicodeEncodeError<\/td>\n<td>\u63a7\u5236\u53f0\u9ed8\u8ba4 GBK&#xff0c;\u8fdc\u7aef\u8f93\u51fa UTF-8<\/td>\n<td>paramiko \u4fa7 sys.stdout.reconfigure(encoding&#061;&#034;utf-8&#034;, errors&#061;&#034;replace&#034;)<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>\u8fde\u7eed\u6267\u884c\u4e24\u4e2a\u811a\u672c\u62a5 syntax error near unexpected token<\/td>\n<td>\u56fa\u5b9a\u8def\u5f84 \/tmp\/_rs.sh \u88ab\u4e0b\u4e00\u4e2a\u811a\u672c\u8986\u76d6&#xff0c;bash \u8fb9\u8bfb\u8fb9\u6267\u884c\u8bfb\u5230\u534a\u622a\u65b0\u5185\u5bb9<\/td>\n<td>\u7528\u552f\u4e00\u8def\u5f84 \/tmp\/_rs_&lt;pid&gt;_&lt;ts&gt;.sh<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>2.2 prepare.sh \u7684\u4e24\u4e2a\u5751&#xff08;\u90fd\u4f1a\u8ba9\u4f60\u4ee5\u4e3a\u673a\u5668\u574f\u4e86&#xff09;<\/h4>\n<table>\n<tr>#\u73b0\u8c61\u6839\u56e0\u4fee\u590d<\/tr>\n<tbody>\n<tr>\n<td>4<\/td>\n<td>\u8dd1\u5b8c prepare.sh \u540e docker &#8211;version \u4ece 29.9.2 \u53d8\u56de\u53d1\u884c\u7248 docker.io&#xff0c;Swarm\/\u63d2\u4ef6\u5168\u5931\u6548<\/td>\n<td>prepare.sh \u7b2c 119 \u884c\u65e0\u6761\u4ef6 apt install &#8211;no-install-recommends docker.io docker-buildx docker-compose-v2&#xff0c;\u4f1a\u7528 docker.io \u8986\u76d6 docker-ce<\/td>\n<td>\u90e8\u7f72\u524d\u628a\u8be5\u884c\u66ff\u6362\u6210 echo &#034;[patch] skip docker.io install &#8230;&#034;&#xff08;\u4fdd\u7559 .orig-&lt;ts&gt; \u5907\u4efd&#xff09;&#xff1b;\u672c\u673a\u5b9e\u6d4b patch \u751f\u6548&#xff0c;dpkg -l \u91cc\u53ea\u6709 docker-ce*<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>prepare.sh \u8dd1\u5230 apt upgrade \u65f6 SSH \u65ad\u7ebf&#xff0c;\u4e4b\u540e 22 \u7aef\u53e3\u6c38\u4e45\u4e0d\u901a&#xff08;\u626b 30&#043; \u7aef\u53e3\u53ea\u6709 18080 \u5f00\u7740&#xff09;<\/td>\n<td>apt -y upgrade \u66ff\u6362 openssh-server&#xff08;9.6p1-3ubuntu13.20&#xff09;\u2192 \u6b63\u5728\u8dd1\u7684 sshd \u88ab\u6740&#xff1b;Ubuntu 24.04 \u8d70 ssh.socket \u6fc0\u6d3b&#xff0c;\u5305\u5347\u7ea7\u8fc7\u7a0b\u4e2d socket \u5355\u5143\u88ab\u505c&#xff0c;\u5347\u7ea7\u6ca1\u6536\u5c3e\u5c31\u518d\u4e5f\u6ca1\u4eba\u62c9\u8d77\u6765<\/td>\n<td>\u2460 \u7528 systemd-run &#8211;unit&#061;&#8230; &#8211;collect &#8211;property&#061;KillMode&#061;process \u6258\u7ba1\u6267\u884c&#xff0c;SIGHUP \u4e0d\u518d\u6740\u8fdb\u7a0b&#xff1b;\u2461 \u65ad\u4e86\u5c31\u8d70\u63a7\u5236\u53f0 Restart&#xff08;\u91cd\u542f\u89e6\u53d1 socket \u6fc0\u6d3b&#xff0c;\u5b9e\u6d4b\u91cd\u542f\u540e 22 \u7acb\u523b\u56de\u6765&#xff09;&#xff1b;\u2462 \u6062\u590d\u540e dpkg &#8211;configure -a \u4f1a\u5361\u5728 sshd_config \u4ea4\u4e92\u63d0\u95ee&#xff08;\u672c\u673a sshd_config \u88ab\u6539\u8fc7&#xff09;&#xff0c;\u5fc5\u987b\u5e26 -o Dpkg::Options::&#061;&#8211;force-confold \u4fdd\u7559\u672c\u5730\u7248\u672c<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u4e8b\u540e\u6838\u5bf9&#xff1a;dpkg -l | awk &#039;$1!&#061;&#034;ii&#034;&#039; \u53ea\u5269 rc&#xff08;\u5df2\u5220\u4f46\u7559\u914d\u7f6e&#xff09;\u548c hi grub-pc&#xff08;prepare.sh \u4e3b\u52a8 hold \u7684&#xff09;&#xff0c;<br \/>\napt-get -s upgrade \u5f85\u5347\u7ea7\u6570 0 \u2014\u2014 \u90a3\u6b21\u88ab\u6253\u65ad\u7684 upgrade \u5b9e\u9645\u5df2\u88ab\u91cd\u542f &#043; dpkg &#8211;configure -a \u6536\u5c3e\u3002<\/p>\n<h4>2.3 DRfC \u4fa7<\/h4>\n<table>\n<tr>#\u73b0\u8c61\u6839\u56e0\u4fee\u590d<\/tr>\n<tbody>\n<tr>\n<td>6<\/td>\n<td>docker pull minio\/minio:* \u5168\u90e8 404<\/td>\n<td>\u4e0a\u6e38 2025-10 \u4e0b\u67b6<\/td>\n<td>\u62c9 Docker Hub \u526f\u672c\u518d retag&#xff1a;docker pull rambogor\/minio:RELEASE.2023-06-23T20-26-00Z &amp;&amp; docker tag &#8230; minio\/minio:RELEASE.2023-06-23T20-26-00Z<\/td>\n<\/tr>\n<tr>\n<td>7<\/td>\n<td>s3_minio \u8d77\u5f97\u6765&#xff0c;\u4f46 6.x \u8bad\u7ec3\u6808\u8d77\u4e0d\u4e86 algo-1&#xff08;\/tmp\/sagemaker\/&lt;id&gt;\/ \u53ea\u6709 failure&#xff09;<\/td>\n<td>sagemaker-local overlay \u7f3a com.docker.compose.network\/project \u6807\u7b7e<\/td>\n<td>docker network create -d overlay &#8211;attachable &#8211;scope swarm &#8211;label com.docker.compose.network&#061;sagemaker-local &#8211;label com.docker.compose.project&#061;sagemaker-local sagemaker-local<\/td>\n<\/tr>\n<tr>\n<td>8<\/td>\n<td>docker pull &#8230;simapp:6.0.8-cpu \u957f\u65f6\u95f4\u300c\u65e0\u8f93\u51fa\u300d&#xff0c;\u770b\u7740\u50cf\u5361\u6b7b<\/td>\n<td>4.06 G \u4e0b\u8f7d \/ 29 \u5c42 \/ 16.4 G \u843d\u76d8&#xff0c;pull \u9636\u6bb5\u53ea\u5728\u4e0b\u5c42&#xff0c;\u8fdb\u5ea6\u6761\u7ecf\u5e38\u4e0d\u52a8<\/td>\n<td>\u540e\u53f0\u8dd1 &#043; \u5199\u65e5\u5fd7&#xff0c;\u522b\u4e2d\u65ad&#xff1b;\u672c\u673a 12:25:30 \u6253\u51fa PULL_DONE rc&#061;0<\/td>\n<\/tr>\n<tr>\n<td>9<\/td>\n<td>bin\/init.sh \u4e00\u8dd1\u5c31 Swarm exists. Exiting.&#xff0c;\u4e14 system.env\/run.env \u88ab\u5199\u56de\u6a21\u677f<\/td>\n<td>\u2460 \u7b2c 120\u2013121 \u884c\u65e0\u6761\u4ef6 cp defaults\/template-*.env&#xff1b;\u2461 \u7b2c 178\u2013181 \u884c\u68c0\u6d4b\u5230\u5df2\u6709 Swarm \u76f4\u63a5 exit 1<\/td>\n<td>\u4e0d\u8dd1 init.sh&#xff0c;\u6539\u624b\u5de5\u7b49\u4ef7\u6b65\u9aa4&#xff08;\u5efa data\/\u3001\/tmp\/sagemaker\u3001.aws \u7b26\u53f7\u94fe\u63a5\u3001minio profile\u3001source activate.sh \u8d77 s3 \u6808&#xff09;\u2014\u2014\u5df2\u56de\u5199\u8fdb 11 \u00a76.2<\/td>\n<\/tr>\n<tr>\n<td>10<\/td>\n<td>source bin\/activate.sh \u8fd4\u56de 1&#xff1b;\u811a\u672c\u91cc source &#8230; &amp;&amp; dr-start-training \u6c38\u8fdc\u4e0d\u6267\u884c<\/td>\n<td>\u672b\u884c [[ $- &#061;&#061; *i* ]] &amp;&amp; dr-summary \u5728\u975e\u4ea4\u4e92 shell \u8fd4\u56de 1&#xff1b;\u53e6 341 \u884c\u7528\u5230 379 \u884c\u624d\u8d4b\u503c\u7684 DR_DOCKER_MAJOR_VERSION&#xff0c;\u5fc5\u6253 [: : integer expression expected<\/td>\n<td>\u5e73\u53f0\u4fa7 local_shell._drfc \u7528 . .\/bin\/activate.sh; &lt;cmd&gt;&#xff08;\u5206\u53f7&#xff09;\u2014\u2014\u81ea\u5df1\u5199\u811a\u672c\u4e5f\u522b\u7528 &amp;&amp;&#xff1b;integer \u62a5\u9519\u65e0\u5bb3<\/td>\n<\/tr>\n<tr>\n<td>11<\/td>\n<td>\u8bad\u7ec3\u6808\u62a5\u300c\u627e\u4e0d\u5230 aws \u51ed\u636e\u300d\/ dr-upload-custom-files \u5931\u8d25<\/td>\n<td>docker\/volumes\/.aws \u662f\u4ed3\u5e93\u91cc\u7684 0 \u5b57\u8282\u5360\u4f4d\u6587\u4ef6&#xff0c;\u4e0d\u662f\u7b26\u53f7\u94fe\u63a5<\/td>\n<td>rm -f docker\/volumes\/.aws &amp;&amp; ln -sfn \/root\/.aws docker\/volumes\/.aws&#xff1b;aws configure &#8211;profile minio&#xff08;profile \u540d\u56fa\u5b9a minio&#xff0c;AK\/SK \u4efb\u610f&#xff09;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>2.4 \u5e73\u53f0\u4fa7\u63a5\u771f\u673a<\/h4>\n<table>\n<tr>#\u73b0\u8c61\u6839\u56e0\u4fee\u590d<\/tr>\n<tbody>\n<tr>\n<td>12<\/td>\n<td>\u6539\u5b8c .env \u91cd\u5efa backend \u540e http:\/\/IP:18080 \u53d8 502&#xff0c;\u4f46\u5bb9\u5668 health 200<\/td>\n<td>nginx \u542f\u52a8\u65f6\u628a backend \u89e3\u6790\u6210 IP \u5e76\u7f13\u5b58&#xff0c;backend \u91cd\u5efa\u6362\u4e86 IP<\/td>\n<td>docker compose &#8230; restart nginx<\/td>\n<\/tr>\n<tr>\n<td>13<\/td>\n<td>POST \/api\/v1\/training-jobs \u8fd4\u56de 301&#xff0c;jq \u89e3\u6790\u5168\u7a7a<\/td>\n<td>DRF \u8def\u7531\u5e26\u5c3e\u659c\u6760&#xff0c;curl \u4e0d\u8ddf\u968f\u91cd\u5b9a\u5411\u62ff\u5230 HTML<\/td>\n<td>\u4e00\u5f8b\u5c3e\u659c\u6760 &#043; curl -L&#xff1b;\/tracks\/\u3001\/rewards\/\u3001\/system\/hosts\/ \u540c\u7406<\/td>\n<\/tr>\n<tr>\n<td>14<\/td>\n<td>\u8bc4\u6d4b\u62a5 model_version \u4e0d\u5b58\u5728<\/td>\n<td>\u8bad\u7ec3\u88ab stop \u53d6\u6d88 \u2192 register_training() \u6ca1\u88ab\u8c03\u7528 \u2192 \u6ca1\u6709 ModelVersion \u884c<\/td>\n<td>\u8d70\u4e0e\u300c\u8bad\u7ec3\u6210\u529f\u300d\u540c\u4e00\u6761\u4ee3\u7801\u8def\u5f84\u8865\u767b\u8bb0&#xff1a;registry.service.register_training(job)&#xff08;s3_prefix&#061;&lt;prefix&gt;\/model&#xff09;&#xff0c;\u518d POST \/evaluations\/<\/td>\n<\/tr>\n<tr>\n<td>15<\/td>\n<td>\u5e73\u53f0 storage \u4e00\u76f4 true&#xff0c;\u4f46\u8bfb\u4e0d\u5230\u8bad\u7ec3\u4ea7\u7269<\/td>\n<td>AWS_S3_* \u4ecd\u6307\u5411\u5e73\u53f0\u81ea\u5e26\u7684 minio&#xff08;bucket drplat&#xff09;&#xff0c;\u4ea7\u7269\u5728 DRfC \u7684 s3_minio&#xff08;bucket bucket&#xff09;<\/td>\n<td>.env \u4e94\u9879\u6307\u5411 DRfC&#xff1a;AWS_S3_ENDPOINT_URL&#061;http:\/\/drfc-minio:9000\u3001AWS_S3_BUCKET&#061;bucket\u3001AK\/SK \u53d6 \/root\/.aws\/credentials \u7684 [minio]\u3001ALLOW_REAL_RUNTIME&#061;1\u3001DRFC_ROOT&#061;\/home\/rambo\/deepracer-for-cloud&#xff1b;compose.prod.yml \u7684 x-backend-common.extra_hosts \u5df2\u81ea\u5e26 drfc-minio:host-gateway&#xff0c;\u65e0\u9700\u6539 compose<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u526f\u4f5c\u7528&#xff08;\u8981\u77e5\u9053&#xff09;&#xff1a;\u5207\u5230 DRfC MinIO \u540e&#xff0c;\u5e73\u53f0\u81ea\u5df1\u7684\u5bf9\u8c61\u4e5f\u8fdb bucket&#xff1b;Path A \u5047\u8dd1\u65f6\u5b58\u5728 drplat \u6876\u91cc\u7684\u4e1c\u897f<br \/>\n\u4e0d\u518d\u53ef\u89c1\u3002\u60f3\u4e24\u5934\u90fd\u8981\u5c31\u4fdd\u7559 bitnamilegacy\/minio \u5bb9\u5668&#xff0c;\u53ea\u628a AWS_S3_* \u5207\u56de http:\/\/minio:9000 &#043; drplat\u3002<\/p>\n<hr \/>\n<h3>3. \u9a8c\u6536\u8bc1\u636e<\/h3>\n<p><span class=\"token comment\"># \u5e73\u53f0<\/span><br \/>\n<span class=\"token function\">curl<\/span> <span class=\"token parameter variable\">-s<\/span> http:\/\/38.76.188.216:18080\/api\/v1\/system\/health<br \/>\n<span class=\"token comment\"># {&#034;status&#034;:&#034;ok&#034;,&#034;db&#034;:true,&#034;redis&#034;:true,&#034;storage&#034;:true,&#034;version&#034;:&#034;1.2.0&#034;,&#034;commit&#034;:&#034;074ff380a89f&#034;,&#034;env&#034;:&#034;prod&#034;}<\/span><\/p>\n<p><span class=\"token comment\"># \u5bbf\u4e3b 8 \u6761\u786c\u7ea6\u675f<\/span><br \/>\nbackend\/deploy\/host-check.sh        <span class=\"token comment\"># &#061;&#061;&gt; &#061;&#061; \u7ed3\u679c&#xff1a;PASS&#061;11 FAIL&#061;0 WARN&#061;1 &#061;&#061;   &#xff08;WARN \u4ec5\u65f6\u533a Etc\/UTC&#xff09;<\/span><\/p>\n<p><span class=\"token comment\"># \u5e73\u53f0 probe&#xff08;\/system\/hosts\/1\/probe \u7b49\u4ef7&#xff09;<\/span><br \/>\n<span class=\"token comment\"># PASS swarm \/ labels \/ network \/ minio_service(1\/1) \/ minio_image \/ docker_sock \/ run_env \/ disk<\/span><br \/>\n<span class=\"token comment\"># PROBE ok&#061; True<\/span><\/p>\n<p><span class=\"token comment\"># DRfC \u771f\u5b9e\u6808<\/span><br \/>\n<span class=\"token function\">docker<\/span> <span class=\"token function\">service<\/span> <span class=\"token function\">ls<\/span><br \/>\n<span class=\"token comment\"># deepracer-0_rl_coach 1\/1   deepracer-0_robomaker 1\/1   s3_minio 1\/1<\/span><br \/>\n<span class=\"token function\">docker<\/span> <span class=\"token function\">ps<\/span> <span class=\"token parameter variable\">&#8211;filter<\/span> <span class=\"token assign-left variable\">name<\/span><span class=\"token operator\">&#061;<\/span>algo-1-        <span class=\"token comment\"># vx5jmjdwjz-algo-1-h1fpq Up<\/span><\/p>\n<p><span class=\"token comment\"># \u4ea7\u7269&#xff08;DRfC MinIO&#xff0c;bucket&#061;bucket&#xff09;<\/span><br \/>\naws &#8211;endpoint-url http:\/\/127.0.0.1:9000 s3 <span class=\"token function\">ls<\/span> <span class=\"token parameter variable\">&#8211;recursive<\/span> s3:\/\/bucket<br \/>\n<span class=\"token comment\"># pathb-smoke-1\/model\/model_0.pb            23377673<\/span><br \/>\n<span class=\"token comment\"># pathb-smoke-1\/model\/0_Step-0.ckpt.meta     2112304<\/span><br \/>\n<span class=\"token comment\"># pathb-smoke-1\/model\/deepracer_checkpoints.json<\/span><br \/>\n<span class=\"token comment\"># pathb-smoke-1\/reward_function.py<\/span><br \/>\n<span class=\"token comment\"># pathb-smoke-1\/training_params.yaml<\/span><br \/>\n<span class=\"token comment\"># training_job\/&lt;uuid&gt;\/custom_files\/{hyperparameters,model_metadata,reward_function}<\/span><\/p>\n<p><span class=\"token comment\"># \u8bc4\u6d4b\u4ea7\u7269<\/span><br \/>\n<span class=\"token comment\"># evaluation\/&lt;eval-uuid&gt;\/mp4\/0-video.mp4                     7361268   \u2190 \u5e73\u53f0\u8f6c\u7801\u540e\u7684\u6210\u54c1<\/span><br \/>\n<span class=\"token comment\"># evaluation\/&lt;eval-uuid&gt;\/preview\/0-video-{in,mid,finish}.jpg<\/span><br \/>\n<span class=\"token comment\"># pathb-smoke-1\/mp4\/camera-pip\/0-video.mp4                   7361268   \u2190 DRfC \u5f55\u7684\u539f\u59cb\u4e09\u89c6\u89d2<\/span><br \/>\n<span class=\"token comment\"># pathb-smoke-1\/mp4\/camera-45degree\/0-video.mp4              7213415<\/span><br \/>\n<span class=\"token comment\"># pathb-smoke-1\/mp4\/camera-topview\/0-video.mp4                847710<\/span><br \/>\n<span class=\"token comment\"># pathb-smoke-1\/evaluation-20261102140848\/evaluation-simtrace\/0-iteration.csv<\/span><br \/>\n<span class=\"token comment\"># pathb-smoke-1\/metrics\/evaluation\/evaluation-20261102140848.json<\/span><\/p>\n<p>\u8bc4\u6d4b\u7ed3\u8bba&#xff08;GET \/api\/v1\/evaluations\/1\/&#xff09;&#xff1a;<\/p>\n<p><span class=\"token punctuation\">{<\/span><span class=\"token string-property property\">&#034;id&#034;<\/span><span class=\"token operator\">:<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span><span class=\"token string-property property\">&#034;status&#034;<\/span><span class=\"token operator\">:<\/span><span class=\"token string\">&#034;SUCCEEDED&#034;<\/span><span class=\"token punctuation\">,<\/span><span class=\"token string-property property\">&#034;model_label&#034;<\/span><span class=\"token operator\">:<\/span><span class=\"token string\">&#034;pathb-smoke-1-00001&#034;<\/span><span class=\"token punctuation\">,<\/span><span class=\"token string-property property\">&#034;completion_rate&#034;<\/span><span class=\"token operator\">:<\/span><span class=\"token number\">1.0<\/span><span class=\"token punctuation\">,<\/span><br \/>\n <span class=\"token string-property property\">&#034;best_lap_time&#034;<\/span><span class=\"token operator\">:<\/span><span class=\"token number\">112.394<\/span><span class=\"token punctuation\">,<\/span><span class=\"token string-property property\">&#034;error_code&#034;<\/span><span class=\"token operator\">:<\/span><span class=\"token string\">&#034;&#034;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n <span class=\"token string-property property\">&#034;trials&#034;<\/span><span class=\"token operator\">:<\/span><span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">{<\/span><span class=\"token string-property property\">&#034;trial&#034;<\/span><span class=\"token operator\">:<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span><span class=\"token string-property property\">&#034;status&#034;<\/span><span class=\"token operator\">:<\/span><span class=\"token string\">&#034;SUCCEEDED&#034;<\/span><span class=\"token punctuation\">,<\/span><span class=\"token string-property property\">&#034;episodes&#034;<\/span><span class=\"token operator\">:<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span><span class=\"token string-property property\">&#034;avg_reset&#034;<\/span><span class=\"token operator\">:<\/span><span class=\"token number\">18.0<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">}<\/span><\/p>\n<p>GET \/api\/v1\/evaluations\/1\/video\/ \u2192 200 {artifact:4, video_pending:false, url:\/api\/v1\/artifacts\/4\/download?token&#061;&#8230;}<br \/>\n&#xff08;video_pending:false &#043; \u6876\u91cc\u6709 mp4 &#061; ffmpeg \u8f6c\u7801\u94fe\u8def\u4e5f\u901a\u4e86&#xff09;<\/p>\n<hr \/>\n<h3>4. \u590d\u73b0\u8fd9\u5957\u673a\u5668\u7684\u6700\u77ed\u8def\u5f84<\/h3>\n<p><span class=\"token comment\"># 0) \u524d\u63d0&#xff1a;Docker CE \u5df2\u88c5&#xff08;29.x&#xff09;&#xff0c;\u672a\u88ab apt \u6362\u56de docker.io<\/span><br \/>\n<span class=\"token comment\"># 1) \u5e73\u53f0&#xff08;\u8def\u5f84 A&#xff09;<\/span><br \/>\n<span class=\"token function\">git<\/span> clone <span class=\"token operator\">&lt;<\/span>repo<span class=\"token operator\">&gt;<\/span> \/srv\/deepracer-platform\/repo <span class=\"token operator\">&amp;&amp;<\/span> <span class=\"token builtin class-name\">cd<\/span> \/srv\/deepracer-platform\/repo<br \/>\n<span class=\"token function\">sudo<\/span> backend\/deploy\/bootstrap.sh            <span class=\"token comment\"># build &#043; up &#043; migrate &#043; \u5efa\u7ba1\u7406\u5458<\/span><br \/>\n<span class=\"token comment\"># 2) Path B \u51c6\u5907&#xff08;11 \u00a73.4\u20133.6&#xff0c;\u624b\u5de5&#xff0c;\u522b\u7528 init.sh&#xff09;<\/span><br \/>\n<span class=\"token function\">docker<\/span> swarm init <span class=\"token operator\">&amp;&amp;<\/span> <span class=\"token function\">docker<\/span> <span class=\"token function\">node<\/span> update &#8211;label-add <span class=\"token assign-left variable\">Sagemaker<\/span><span class=\"token operator\">&#061;<\/span>true &#8211;label-add <span class=\"token assign-left variable\">Robomaker<\/span><span class=\"token operator\">&#061;<\/span>true self<br \/>\n<span class=\"token function\">docker<\/span> network create <span class=\"token parameter variable\">-d<\/span> overlay <span class=\"token parameter variable\">&#8211;attachable<\/span> <span class=\"token parameter variable\">&#8211;scope<\/span> swarm <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token parameter variable\">&#8211;label<\/span> <span class=\"token assign-left variable\">com.docker.compose.network<\/span><span class=\"token operator\">&#061;<\/span>sagemaker-local <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token parameter variable\">&#8211;label<\/span> <span class=\"token assign-left variable\">com.docker.compose.project<\/span><span class=\"token operator\">&#061;<\/span>sagemaker-local sagemaker-local<br \/>\n<span class=\"token comment\"># 3) DRfC&#xff08;11 \u00a76.1\u20136.2&#xff0c;\u672c\u6b21\u6539\u5199\u8fc7&#xff09;<\/span><br \/>\n<span class=\"token comment\">#    prepare.sh \u7528 systemd-run \u6258\u7ba1\u8dd1&#xff1b;\u8865 data\/\u3001\/tmp\/sagemaker\u3001.aws \u7b26\u53f7\u94fe\u63a5\u3001minio profile<\/span><br \/>\n<span class=\"token builtin class-name\">source<\/span> bin\/activate.sh   <span class=\"token comment\"># \u8d77 s3 \u6808<\/span><br \/>\n<span class=\"token function\">bash<\/span> \/srv\/deepracer-platform\/repo\/backend\/deploy\/host-check.sh   <span class=\"token comment\"># FAIL \u5fc5\u987b\u662f 0<\/span><br \/>\n<span class=\"token comment\"># 4) \u5e73\u53f0\u63a5\u771f\u673a&#xff08;11 \u00a77&#xff09;<\/span><br \/>\n<span class=\"token comment\">#    .env \u4e94\u9879 \u2192 restart nginx &#043; \u91cd\u5efa backend\/worker\/worker-runtime \u2192 Host&#061;LOCAL \u2192 probe<\/span><br \/>\n<span class=\"token comment\"># 5) \u8dd1\u4e00\u8f6e<\/span><br \/>\nPOST \/api\/v1\/training-jobs\/  \u2192 TRAINING \u2192 model_0.pb \u843d\u6876 \u2192 stop \u2192 CANCELLED<\/p>\n<h3>5. \u9057\u7559 \/ \u5df2\u77e5\u9650\u5236<\/h3>\n<li>\u7eaf CPU \u673a\u4e00\u8f6e\u771f\u5b9e\u8bad\u7ec3\u5f88\u6162&#xff1a;\u5355 episode \u6570\u5206\u949f&#xff08;SIM_TRACE_LOG \u6b65\u8fdb ~2\u20133 step\/s&#xff09;&#xff1b;1 trial \u8bc4\u6d4b\u5b9e\u6d4b 831 s&#xff08;14 min&#xff09;\u3002\u5192\u70df\u9a8c\u8bc1\u8db3\u591f&#xff0c;\u771f\u6b63\u8bad\u7ec3\u5efa\u8bae GPU \u673a\u3002<\/li>\n<li>\u8bad\u7ec3\u6210\u529f \u2192 ModelVersion \u624d\u4f1a\u81ea\u52a8\u767b\u8bb0&#xff1b;\u4e2d\u9014 stop\/cancel \u4e0d\u4f1a&#xff0c;\u8981\u8bc4\u6d4b\u5c31\u5f97\u624b\u5de5 register_training(job)\u3002<\/li>\n<li>prepare.sh \u6bcf\u8dd1\u4e00\u6b21\u90fd\u53ef\u80fd\u518d\u89e6\u53d1 apt upgrade \u6362 openssh-server&#xff0c;\u522b\u5728 SSH \u4f1a\u8bdd\u91cc\u88f8\u8dd1\u3002<\/li>\n<li>\u5e73\u53f0\u81ea\u5e26 minio&#xff08;drplat \u6876&#xff09;\u5728 Path B \u4e0b\u57fa\u672c\u95f2\u7f6e&#xff0c;\u4f46\u4ecd\u4f1a\u88ab compose \u62c9\u8d77\u6765\u5360\u5185\u5b58&#xff1b;\u786e\u5b9a\u4e0d\u518d\u7528\u53ef\u6ce8\u91ca\u3002<\/li>\n<p>| 2 | \u8fdc\u7aef\u8f93\u51fa\u5230 Windows \u63a7\u5236\u53f0\u4e71\u7801 \/ UnicodeEncodeError | \u63a7\u5236\u53f0\u9ed8\u8ba4 GBK&#xff0c;\u8fdc\u7aef\u8f93\u51fa UTF-8 | paramiko \u4fa7 sys.stdout.reconfigure(encoding&#061;&#034;utf-8&#034;, errors&#061;&#034;replace&#034;) |<br \/>\n| 3 | \u8fde\u7eed\u6267\u884c\u4e24\u4e2a\u811a\u672c\u62a5 syntax error near unexpected token | \u56fa\u5b9a\u8def\u5f84 \/tmp\/_rs.sh \u88ab\u4e0b\u4e00\u4e2a\u811a\u672c\u8986\u76d6&#xff0c;bash \u8fb9\u8bfb\u8fb9\u6267\u884c\u8bfb\u5230\u534a\u622a\u65b0\u5185\u5bb9 | \u7528\u552f\u4e00\u8def\u5f84 \/tmp\/_rs_&lt;pid&gt;_&lt;ts&gt;.sh |<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\/* MD \/ \u5bcc\u6587\u672c\u4e2d\u7684 .toc\uff08\u542b\u535a\u5ba2\u56ed\u642c\u5bb6\u7b49\u5d4c\u5957\u7ed3\u6784\uff09\uff1b.toc-box \u5728\u4fa7\u680f\uff0c\u4e0d\u53d7\u5f71\u54cd *\/#content_views .toc,\/* \u7f16\u8f91\u5668\u5e38\u5728\u76ee\u5f55\u524d\u540e\u63d2\u5165\u7a7a p\uff08:empty \u4ecd\u5360 20px\uff09\uff0c\u4e00\u5e76\u53bb\u6389\u907f\u514d\u9876\u7a7a\u9699 *\/#content_views.markdown_views &gt; p:empty:has(+ .toc),#content_views.markdown_views &gt; .toc + p:empty,\/* \u5bcc\u6587\u672c\u65e7\u7248\u76ee\u5f55\u6807\u8bb0 *\/#content<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[27,81,50,43,44],"topic":[],"class_list":["post-121617","post","type-post","status-publish","format-standard","hentry","category-server","tag-docker","tag-python","tag-50","tag-43","tag-44"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>12 \u00b7 \u65b0\u673a\u90e8\u7f72\u5b9e\u5f55\uff0838.76.188.216\uff0c2026-11-02\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wsisp.com\/helps\/121617.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"12 \u00b7 \u65b0\u673a\u90e8\u7f72\u5b9e\u5f55\uff0838.76.188.216\uff0c2026-11-02\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"\/* MD \/ \u5bcc\u6587\u672c\u4e2d\u7684 .toc\uff08\u542b\u535a\u5ba2\u56ed\u642c\u5bb6\u7b49\u5d4c\u5957\u7ed3\u6784\uff09\uff1b.toc-box \u5728\u4fa7\u680f\uff0c\u4e0d\u53d7\u5f71\u54cd *\/#content_views .toc,\/* \u7f16\u8f91\u5668\u5e38\u5728\u76ee\u5f55\u524d\u540e\u63d2\u5165\u7a7a p\uff08:empty \u4ecd\u5360 20px\uff09\uff0c\u4e00\u5e76\u53bb\u6389\u907f\u514d\u9876\u7a7a\u9699 *\/#content_views.markdown_views &gt; p:empty:has(+ .toc),#content_views.markdown_views &gt; .toc + p:empty,\/* \u5bcc\u6587\u672c\u65e7\u7248\u76ee\u5f55\u6807\u8bb0 *\/#content\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/121617.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2026-11-02T21:40:45+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/121617.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/121617.html\",\"name\":\"12 \u00b7 \u65b0\u673a\u90e8\u7f72\u5b9e\u5f55\uff0838.76.188.216\uff0c2026-11-02\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2026-11-02T21:40:45+00:00\",\"dateModified\":\"2026-11-02T21:40:45+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/121617.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/121617.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/121617.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"12 \u00b7 \u65b0\u673a\u90e8\u7f72\u5b9e\u5f55\uff0838.76.188.216\uff0c2026-11-02\uff09\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"12 \u00b7 \u65b0\u673a\u90e8\u7f72\u5b9e\u5f55\uff0838.76.188.216\uff0c2026-11-02\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wsisp.com\/helps\/121617.html","og_locale":"zh_CN","og_type":"article","og_title":"12 \u00b7 \u65b0\u673a\u90e8\u7f72\u5b9e\u5f55\uff0838.76.188.216\uff0c2026-11-02\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"\/* MD \/ \u5bcc\u6587\u672c\u4e2d\u7684 .toc\uff08\u542b\u535a\u5ba2\u56ed\u642c\u5bb6\u7b49\u5d4c\u5957\u7ed3\u6784\uff09\uff1b.toc-box \u5728\u4fa7\u680f\uff0c\u4e0d\u53d7\u5f71\u54cd *\/#content_views .toc,\/* \u7f16\u8f91\u5668\u5e38\u5728\u76ee\u5f55\u524d\u540e\u63d2\u5165\u7a7a p\uff08:empty \u4ecd\u5360 20px\uff09\uff0c\u4e00\u5e76\u53bb\u6389\u907f\u514d\u9876\u7a7a\u9699 *\/#content_views.markdown_views &gt; p:empty:has(+ .toc),#content_views.markdown_views &gt; .toc + p:empty,\/* \u5bcc\u6587\u672c\u65e7\u7248\u76ee\u5f55\u6807\u8bb0 *\/#content","og_url":"https:\/\/www.wsisp.com\/helps\/121617.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2026-11-02T21:40:45+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"7 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/121617.html","url":"https:\/\/www.wsisp.com\/helps\/121617.html","name":"12 \u00b7 \u65b0\u673a\u90e8\u7f72\u5b9e\u5f55\uff0838.76.188.216\uff0c2026-11-02\uff09 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2026-11-02T21:40:45+00:00","dateModified":"2026-11-02T21:40:45+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/121617.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/121617.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/121617.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"12 \u00b7 \u65b0\u673a\u90e8\u7f72\u5b9e\u5f55\uff0838.76.188.216\uff0c2026-11-02\uff09"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/121617","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=121617"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/121617\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=121617"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=121617"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=121617"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=121617"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}