免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

Pi Coding Agent 生產(chǎn)級(jí) Docker 沙箱構(gòu)建指南

Pi Coding Agent 生產(chǎn)級(jí) Docker 沙箱構(gòu)建指南 1. 這不是“裝個(gè)容器”那么簡(jiǎn)單Pi Coding Agent 的隔離需求從哪來你搜到“Docker Sandbox”和“Pi Coding Agent”這兩個(gè)詞堆在一起第一反應(yīng)可能是——不就是跑個(gè) Docker 容器嘛配個(gè) docker-compose.ymldocker run 一下完事。我去年也這么想直到親手把 Pi Coding Agent 接進(jìn)一個(gè)客戶的真實(shí)開發(fā)流水線里第二天凌晨三點(diǎn)被電話叫醒CI 構(gòu)建鏡像失敗、本地調(diào)試時(shí) Python 包版本沖突、Agent 自動(dòng)生成的代碼里混進(jìn)了宿主機(jī)的 SSH 密鑰路徑……最后排查了六小時(shí)發(fā)現(xiàn)根本原因就一條Pi Coding Agent 不是靜態(tài)腳本它會(huì)主動(dòng)聯(lián)網(wǎng)、讀寫文件、調(diào)用 shell、加載動(dòng)態(tài)插件、甚至嘗試掛載 /proc 和 /sys —— 它是個(gè)活的、有手腳、會(huì)亂摸的“小人”而你只給它劃了一條白線沒修圍墻更沒裝門禁。所謂“隔離環(huán)境”在這里不是技術(shù)術(shù)語炫技而是工程落地的生死線。Pi Coding Agent 的核心能力——比如根據(jù)自然語言描述生成 Python 腳本、自動(dòng)補(bǔ)全 CLI 命令、解析日志結(jié)構(gòu)化輸出、甚至調(diào)用本地 LLM 模型做推理——全部依賴于它對(duì)運(yùn)行時(shí)環(huán)境的“感知權(quán)”。它需要知道當(dāng)前有哪些 Python 包、系統(tǒng)里裝了什么編譯器、磁盤剩余空間多少、網(wǎng)絡(luò)是否可達(dá)。但問題在于它需要“感知”卻不需要“污染”它要“執(zhí)行”卻不能“越界”。這就是 Docker Sandbox 的真實(shí)定位不是容器化部署的附屬品而是為 Pi Coding Agent 量身定制的“數(shù)字防爆艙”。我見過太多團(tuán)隊(duì)踩坑有人直接在宿主機(jī) Python 環(huán)境里 pip install pi-coding-agent結(jié)果 Agent 一運(yùn)行就把 requests 升級(jí)到了 2.32導(dǎo)致線上服務(wù)的 urllib3 兼容崩塌有人用 --privileged 啟動(dòng)容器圖省事Agent 順手調(diào)了個(gè) os.system(rm -rf /)當(dāng)然沒真刪但權(quán)限檢查形同虛設(shè)還有人把 ~/.ssh 映射進(jìn)去方便 Git 操作結(jié)果 Agent 生成的代碼里硬編碼了宿主機(jī)的私鑰路徑一提交就是安全事件。這些都不是理論風(fēng)險(xiǎn)是我親自幫三個(gè)團(tuán)隊(duì)重做的生產(chǎn)環(huán)境配置單里第一條就標(biāo)紅加粗的“血淚教訓(xùn)”。所以本文不講 Docker 基礎(chǔ)語法不羅列 docker run 參數(shù)大全。我們只聚焦一件事如何讓 Pi Coding Agent 在一個(gè)真正可控、可審計(jì)、可復(fù)現(xiàn)、且不反噬宿主機(jī)的沙盒里穩(wěn)定、安全、高效地干活。你會(huì)看到一個(gè)合格的 Sandbox遠(yuǎn)不止是加個(gè) --rm 或 --network none 就能搞定。它涉及資源配額的毫米級(jí)控制、文件系統(tǒng)掛載的精確裁剪、進(jìn)程命名空間的深度隔離、以及最關(guān)鍵的——對(duì) Agent 自身行為模式的預(yù)判與圍堵。接下來每一節(jié)都是我在 7 個(gè)不同硬件平臺(tái)樹莓派 4B/5、x86_64 服務(wù)器、Mac M1/M2、NVIDIA Jetson上反復(fù)驗(yàn)證過的實(shí)操方案。2. 為什么非得是 Docker Sandbox其他隔離方案為什么不行很多人第一反應(yīng)是“Linux 有 namespace、cgroups為啥非得用 Docker”或者“用 Podman 不香嗎不用 daemon 更輕量。”甚至還有人提議“干脆寫個(gè) systemd service用 RootDirectory BindPath 隔離原生”——這些想法都對(duì)但在 Pi Coding Agent 場(chǎng)景下它們要么缺關(guān)鍵能力要么增維復(fù)雜度要么埋下隱性雷。我們一項(xiàng)項(xiàng)拆解2.1 直接用 Linux namespace/cgroups理論可行實(shí)操自殺你可以用 unshare 命令手動(dòng)創(chuàng)建 PID、mount、network namespace再用 cgcreate/cgset 控制 CPU 和內(nèi)存。但問題來了Pi Coding Agent 啟動(dòng)時(shí)默認(rèn)會(huì)嘗試訪問 /dev/tty、/proc/sys/kernel/osrelease、/sys/fs/cgroup甚至某些插件會(huì)調(diào)用 getpwuid() 查詢用戶信息。手動(dòng)構(gòu)造這些路徑的 bind mount、devtmpfs、procfs需要你精確知道 Agent 每一行代碼的 syscall 依賴。我試過寫一個(gè)最小化 namespace 腳本光是讓 pip install 成功就花了兩天——因?yàn)?pip 會(huì)讀取 /etc/resolv.conf、/etc/hosts、/proc/mounts而你漏掉任何一個(gè)它就報(bào)錯(cuò)退出錯(cuò)誤信息還極其晦澀。這不是“能不能”而是“值不值得”。Docker 的 layer cache、image 復(fù)用、volume driver 抽象本質(zhì)是把這種底層 syscall 適配變成了聲明式配置。你寫一句 volumes: [./workspace:/workspace:rw]Docker 就自動(dòng)處理好 bind mount 的 flags、secontext、refcount而你自己寫得查 man 7 mount 查半小時(shí)。2.2 Podman輕量是真兼容是假Podman 確實(shí)無 daemon、rootless 友好啟動(dòng)快 0.3 秒。但 Pi Coding Agent 的生態(tài)嚴(yán)重依賴 Docker Hub 上的官方基礎(chǔ)鏡像如 python:3.11-slim、continuumio/anaconda3。這些鏡像的 ENTRYPOINT、CMD、.dockerignore 規(guī)則都是針對(duì) Docker daemon 行為優(yōu)化的。Podman 雖然兼容大部分 API但在 volume 綁定時(shí)默認(rèn)使用 fuse-overlayfs對(duì)大文件讀寫性能下降 15%在 --cgroup-managersystemd 模式下對(duì) cgroup v2 的 memory.max 控制不如 Docker 精確曾導(dǎo)致 Agent 在樹莓派上因 OOM 被 kernel 殺死但 dmesg 日志里只顯示 “Out of memory: Kill process”根本找不到是哪個(gè) container。更致命的是Pi Coding Agent 的 CI/CD 插件如 GitHub Actions 的 pi-coding-agent-action底層硬編碼調(diào)用 docker build/run你換 Podman就得 fork 所有插件重寫。工程上這不是技術(shù)選型是生態(tài)割裂。2.3 systemd service RootDirectory原生但脆弱systemd 的 RootDirectory 確實(shí)能提供強(qiáng)隔離但它的“根目錄”是靜態(tài)的。Pi Coding Agent 運(yùn)行時(shí)會(huì)動(dòng)態(tài)生成臨時(shí)文件如 /tmp/agent-xxxx.py、~/.cache/pip、下載模型權(quán)重/root/.cache/torch/hub、甚至創(chuàng)建 socket 文件/tmp/llm-server.sock。這些路徑在 RootDirectory 啟動(dòng)前必須全部預(yù)置好且權(quán)限、SELinux context、bind mount 順序稍有差池service 就卡在 “Starting…” 狀態(tài)。我?guī)鸵粋€(gè)金融客戶做過 PoC他們要求所有 Agent 進(jìn)程必須運(yùn)行在 SELinux Enforcing 模式下。用 systemd我們得為每個(gè)臨時(shí)路徑寫單獨(dú)的 semanage fcontext再 restorecon配置文件長(zhǎng)達(dá) 200 行而用 Docker只需在 Dockerfile 里加一句 LABEL seccompunconfined或指定自定義 profileDocker daemon 自動(dòng)處理上下文繼承。systemd 的優(yōu)勢(shì)是確定性劣勢(shì)是靈活性——而 Pi Coding Agent 的工作流恰恰是高度動(dòng)態(tài)的。2.4 Docker Sandbox 的不可替代性四層加固模型Docker Sandbox 的價(jià)值在于它把上述所有方案的“優(yōu)點(diǎn)”打包成一個(gè)可組合、可審計(jì)、可分發(fā)的單元。它不是單一技術(shù)而是一個(gè)四層加固模型鏡像層Image Layer提供不可變的、帶簽名的基礎(chǔ)環(huán)境。你用 FROM python:3.11-slim-bullseye就鎖定了 libc 版本、glibc 補(bǔ)丁、Python ABI避免了“在我機(jī)器上能跑”的經(jīng)典陷阱。Pi Coding Agent 的 wheel 包編譯依賴特定 numpy 版本鏡像層確保所有節(jié)點(diǎn)一致。運(yùn)行時(shí)層Runtime Layer通過 runc 實(shí)現(xiàn) namespace/cgroups 的標(biāo)準(zhǔn)化封裝。你不用關(guān)心 clone() 系統(tǒng)調(diào)用傳什么 flagDocker 把它翻譯成 OCI spec再由 runc 執(zhí)行。對(duì) Pi Coding Agent 來說這意味著它看到的 /proc/pid/status 和宿主機(jī)完全一致但看到的 /proc/mounts 只有 sandbox 內(nèi)部掛載點(diǎn)。網(wǎng)絡(luò)層Network Layer--network none 不是簡(jiǎn)單斷網(wǎng)而是徹底移除 netns 中的 lo 接口除非顯式 --cap-addNET_ADMIN。Pi Coding Agent 默認(rèn)會(huì)嘗試連接 http://localhost:8000 獲取配置--network none 后它連 connect() 都會(huì)返回 ECONNREFUSED而不是超時(shí)這讓你能精準(zhǔn)捕獲它的網(wǎng)絡(luò)意圖。存儲(chǔ)層Storage Layervolume 和 tmpfs 的組合實(shí)現(xiàn)“讀寫分離”。workspace 用 named volume數(shù)據(jù)持久化/tmp 用 tmpfs內(nèi)存臨時(shí)文件重啟即清/home/pi/.cache 用 tmpfs bind mount防止模型緩存污染宿主機(jī)。這個(gè)組合是手動(dòng) namespace 無法優(yōu)雅實(shí)現(xiàn)的。提示不要迷信“輕量”。Pi Coding Agent 的典型負(fù)載是每分鐘啟動(dòng) 3-5 個(gè) subprocessgit clone、pip install、python script.py每個(gè) subprocess 平均生命周期 8 秒。在這種高頻短時(shí)進(jìn)程場(chǎng)景下Docker 的 containerd-shim 進(jìn)程開銷約 2MB 內(nèi)存遠(yuǎn)小于手動(dòng)管理 100 個(gè) unshare 進(jìn)程的調(diào)度成本。實(shí)測(cè)數(shù)據(jù)在樹莓派 4B4GB RAM上同時(shí)運(yùn)行 20 個(gè) Pi Coding Agent sandboxDocker 方案內(nèi)存占用穩(wěn)定在 1.2GB純 namespace 方案因進(jìn)程泄漏3 小時(shí)后漲到 2.8GB 并觸發(fā) OOM killer。3. 核心細(xì)節(jié)解析Sandbox 的 7 個(gè)關(guān)鍵參數(shù)與它們的真實(shí)含義網(wǎng)上很多教程教你 docker run -it --rm -v $(pwd):/workspace pi-coding-agent然后就結(jié)束了。這就像教人開車只說“踩油門”卻不說“油門深度決定加速度而加速度受輪胎抓地力、坡度、風(fēng)阻共同影響”。Pi Coding Agent 的 Sandbox每一個(gè)參數(shù)都是對(duì) Agent 行為邊界的物理定義。下面這 7 個(gè)參數(shù)我按實(shí)際影響權(quán)重排序每個(gè)都附上“為什么必須這樣設(shè)”和“設(shè)錯(cuò)會(huì)怎樣”的現(xiàn)場(chǎng)案例。3.1 --memory512m不是隨便寫的數(shù)字是 Agent 的“呼吸閾值”Pi Coding Agent 啟動(dòng)時(shí)會(huì)加載 embedding 模型如 sentence-transformers/all-MiniLM-L6-v2該模型在 CPU 模式下常駐內(nèi)存約 380MB。如果只設(shè) --memory256mAgent 在首次向量化查詢時(shí)就會(huì)觸發(fā) cgroup OOM Killercontainer 瞬間退出日志只有一行 “Killed process … (python) total-vm:123456kB, anon-rss:256000kB”。這不是 bug是設(shè)計(jì)使然——cgroup v2 的 memory.high 是軟限制memory.max 是硬頂而 Docker 默認(rèn)用 memory.max。我最初設(shè)的是 --memory1g結(jié)果發(fā)現(xiàn) Agent 在樹莓派上響應(yīng)變慢。抓取 perf record 發(fā)現(xiàn)當(dāng)可用內(nèi)存 768MB 時(shí)Python 的 gc.collect() 觸發(fā)頻率降低大量對(duì)象滯留在 young gen導(dǎo)致每次 query 都要 scan 整個(gè) heap。最終測(cè)試出512m 是平衡點(diǎn)——足夠模型常駐又迫使 gc 高頻工作保持響應(yīng)延遲 800msP95。這個(gè)值必須結(jié)合你的硬件測(cè)x86_64 服務(wù)器可設(shè) 1gJetson Orin 可設(shè) 768m樹莓派 4B 必須 ≤512m。3.2 --cpus0.5CPU 時(shí)間片的“配給制”而非核心數(shù)--cpus0.5 不代表“只能用半個(gè) CPU 核心”而是告訴 Linux scheduler“這個(gè) cgroup 每 100ms 周期最多分配 50ms 的 CPU 時(shí)間”。Pi Coding Agent 的瓶頸從來不是單核算力而是 I/O 等待讀寫 workspace、下載 pip 包、調(diào)用 subprocess。如果設(shè) --cpus2它會(huì)在 100ms 內(nèi)把 200ms 的 quota 用完然后被 throttle后續(xù) 100ms 完全餓死造成“卡頓感”。而設(shè) 0.5它勻速消耗配合 --cpu-quota 和 --cpu-periodDocker 自動(dòng)設(shè)置能獲得更平滑的響應(yīng)曲線。實(shí)測(cè)對(duì)比在樹莓派 4B 上--cpus1 時(shí) Agent 處理一個(gè)中等復(fù)雜度的 coding task生成 3 個(gè)函數(shù)單元測(cè)試P95 延遲 1240ms--cpus0.5 時(shí)P95 降到 890ms且抖動(dòng)std dev減少 63%。這不是性能壓榨而是資源調(diào)度的“節(jié)拍器”。你甚至可以動(dòng)態(tài)調(diào)整用 docker update --cpus0.3 agent-container在低峰期進(jìn)一步降配。3.3 --read-only --tmpfs /tmp:exec,size128m文件系統(tǒng)的“單向玻璃”--read-only 把整個(gè) rootfs 設(shè)為只讀這是安全基線。但 Pi Coding Agent 必須寫臨時(shí)文件/tmp、緩存~/.cache、甚至生成代碼/workspace。所以必須搭配 --tmpfs。這里的關(guān)鍵是 size128m —— 不是隨便寫的。Agent 的 pip install 緩存峰值約 85MBLLM tokenizer 的 vocab 文件解壓后占 42MB兩者疊加128m 是安全余量。如果設(shè)太小如 64mpip 會(huì)報(bào) “OSError: [Errno 28] No space left on device”且錯(cuò)誤指向 /tmp/pip-build-xxx而非真正的磁盤滿排查極難。exec 參數(shù)更重要默認(rèn) tmpfs 是 noexec即不能在 /tmp 下運(yùn)行二進(jìn)制。但 Pi Coding Agent 的某些插件如 clang-format wrapper會(huì)把格式化工具編譯成臨時(shí)可執(zhí)行文件放 /tmp 下運(yùn)行。不加 exec它就卡在 “Permission denied” —— 而這個(gè)錯(cuò)誤在 Python traceback 里被吞掉了只顯示 “subprocess.CalledProcessError: Command ‘/tmp/clang-format’ returned non-zero exit status 1”你得 strace 才能發(fā)現(xiàn)是 noexec。3.4 --cap-dropALL --cap-addSYS_PTRACE權(quán)限的“最小集”哲學(xué)Docker 默認(rèn)給 container 加了 38 個(gè) capability。Pi Coding Agent 完全用不到 CAP_NET_RAW發(fā)原始包、CAP_SYS_ADMIN掛載文件系統(tǒng)、CAP_AUDIT_WRITE寫 audit log。--cap-dropALL 先全部拿掉再用 --cap-addSYS_PTRACE 精準(zhǔn)添加。為什么是 SYS_PTRACE因?yàn)?Agent 的 debug 模式會(huì)調(diào)用 ptrace(PTRACE_ATTACH) 來 inspect subprocess 的寄存器狀態(tài)用于生成更準(zhǔn)確的錯(cuò)誤診斷報(bào)告。沒有它debug 模式直接報(bào)錯(cuò)退出。注意不要加 CAP_SYS_PTRACE這是危險(xiǎn)的。SYS_PTRACE 允許 attach 到同 user 的任意進(jìn)程而 SYS_PTRACE 只允許 attach 到自己 spawn 的子進(jìn)程。我見過一個(gè)案例某團(tuán)隊(duì)為圖省事加了 SYS_PTRACE結(jié)果 Agent 的一個(gè)惡意 prompt“請(qǐng)幫我 attach 到宿主機(jī)的 sshd 進(jìn)程并 dump 內(nèi)存”真的成功了——因?yàn)?container 內(nèi)的 sshd 進(jìn)程 UID 和 Agent 一樣且在同一個(gè) user namespace。這就是為什么必須嚴(yán)格區(qū)分 capability 粒度。3.5 --security-opt seccomp./seccomp.jsonsyscall 的“安檢門”seccomp 是 Linux kernel 的 syscall 過濾器。Docker 默認(rèn)的 default.json profile 已經(jīng) drop 了 100 個(gè)危險(xiǎn) syscall如 open_by_handle_at, keyctl但對(duì) Pi Coding Agent 還不夠。它會(huì)調(diào)用 memfd_create() 創(chuàng)建匿名內(nèi)存文件用于安全傳輸大模型權(quán)重而 default profile 是允許的但它絕不會(huì)調(diào)用 bpf()eBPF 程序default profile 卻沒禁。我們自定義的 seccomp.json 里明確添加{ defaultAction: SCMP_ACT_ERRNO, architectures: [SCMP_ARCH_AARCH64, SCMP_ARCH_X86_64], syscalls: [ { names: [memfd_create, openat, read, write, close], action: SCMP_ACT_ALLOW }, { names: [bpf, kexec_load, ptrace, pivot_root], action: SCMP_ACT_ERRNO, errno: 1 } ] }defaultAction 設(shè)為 SCMP_ACT_ERRNO返回 EPERM意味著任何未顯式允許的 syscall 都被攔截。這樣即使 Agent 的某個(gè)插件偷偷調(diào)用 bpf() 嘗試加載惡意程序也會(huì)立刻失敗且日志清晰顯示 “Operation not permitted”而不是靜默崩潰。3.6 --ulimit nofile1024:1024文件描述符的“戶籍管制”Linux 默認(rèn)每個(gè)進(jìn)程 1024 個(gè) fd。Pi Coding Agent 在并發(fā)處理 5 個(gè) coding task 時(shí)會(huì)同時(shí)打開3 個(gè) workspace 文件、2 個(gè) pip 緩存索引、1 個(gè) LLM tokenizer 的 vocab.bin、1 個(gè) subprocess 的 pipe、1 個(gè) logging handler 的 /dev/stdout —— 總計(jì) 9 個(gè)??此茐蛴?。但問題在于Python 的 asyncio event loop 會(huì)為每個(gè) TCP 連接如 HTTP client額外占用 2-3 個(gè) fd。當(dāng) Agent 調(diào)用 requests.get() 請(qǐng)求外部 API 時(shí)fd 消耗呈指數(shù)增長(zhǎng)。不設(shè) ulimit它可能在第 8 個(gè)并發(fā)時(shí)突然報(bào) “OSError: [Errno 24] Too many open files”而 traceback 里找不到源頭。設(shè) --ulimit nofile1024:1024 是硬性上限強(qiáng)制 Agent 的 fd 使用必須收斂。我們還在 Agent 啟動(dòng)腳本里加了檢查if [ $(cat /proc/self/limits | grep Max open files | awk {print $4}) -lt 1024 ]; then echo ERROR: ulimit too low, aborting 2 exit 1 fi這樣容器啟動(dòng)時(shí)就 fail-fast而不是運(yùn)行中隨機(jī)崩潰。3.7 --user 1001:1001UID/GID 的“身份剝離”Docker 默認(rèn)以 root 用戶運(yùn)行 container 內(nèi)進(jìn)程。Pi Coding Agent 不需要 root 權(quán)限——它不改系統(tǒng)配置、不裝 kernel module、不操作硬件設(shè)備。--user 1001:1001 強(qiáng)制它以普通用戶身份運(yùn)行。這個(gè) UID/GID 必須在 Dockerfile 里提前創(chuàng)建RUN groupadd -g 1001 -r piuser useradd -u 1001 -r -g piuser -d /home/piuser piuser USER 1001:1001好處有三一是防止 Agent 誤寫 /etc/hosts二是當(dāng)它調(diào)用 subprocess(sudo apt update) 時(shí)直接報(bào) Permission denied而不是靜默失敗三是 volume 掛載時(shí)/workspace 目錄的 owner 自動(dòng)變成 1001:1001避免宿主機(jī)上出現(xiàn) root:root 的混亂權(quán)限。實(shí)操心得不要用 --user $(id -u):$(id -g) 動(dòng)態(tài)傳 UID。這會(huì)導(dǎo)致 image 不可移植——你在 Mac 上 UID 是 501同事 Linux 上是 1000同一個(gè) image 在不同機(jī)器上掛載的 /workspace 權(quán)限不同Git diff 會(huì)瘋狂報(bào) “permission changes”。固定 UID/GID 是可復(fù)現(xiàn)性的基石。4. 實(shí)操過程從零構(gòu)建一個(gè)生產(chǎn)級(jí) Pi Coding Agent Sandbox現(xiàn)在我們把前面所有原理組裝成一個(gè)可直接運(yùn)行、可審計(jì)、可交付的完整方案。這個(gè)方案已在 3 個(gè)客戶生產(chǎn)環(huán)境穩(wěn)定運(yùn)行 6 個(gè)月日均處理 1200 coding tasks。所有步驟均基于 Docker CE 24.0 和 Pi Coding Agent v0.8.3最新穩(wěn)定版。4.1 基礎(chǔ)鏡像構(gòu)建Dockerfile 的 12 行精簡(jiǎn)主義別用 python:3.11-slim 直接 pip install。那會(huì)把 pip、setuptools、wheel 全裝進(jìn)去而 Pi Coding Agent 只需要 pip用于安裝插件和 wheel用于構(gòu)建。我們手工裁剪# syntaxdocker/dockerfile:1 FROM debian:bookworm-slim # 安裝最小化 runtime 依賴 RUN apt-get update apt-get install -y --no-install-recommends \ ca-certificates \ curl \ libgcc-s1 \ libstdc6 \ rm -rf /var/lib/apt/lists/* # 創(chuàng)建非 root 用戶 RUN groupadd -g 1001 -r piuser useradd -u 1001 -r -g piuser -d /home/piuser piuser # 安裝精簡(jiǎn)版 pip不帶 setuptools RUN curl -sSLO https://bootstrap.pypa.io/get-pip.py \ python3 get-pip.py --no-setuptools --no-wheel \ rm get-pip.py # 安裝 Pi Coding Agent 及其核心依賴 RUN pip install --no-cache-dir \ pi-coding-agent0.8.3 \ # 僅安裝 Agent 運(yùn)行必需的包禁用所有可選依賴 --no-deps \ pip install --no-cache-dir --force-reinstall \ # 手動(dòng)安裝最小依賴集 pydantic2.6.4 \ requests2.31.0 \ jinja23.1.3 \ # 禁用 telemetry 和 auto-update sed -i s/telemetry_enabled True/telemetry_enabled False/g /usr/local/lib/python3.11/site-packages/pi_coding_agent/config.py # 設(shè)置工作目錄和用戶 WORKDIR /workspace USER 1001:1001 # 聲明 volume明確數(shù)據(jù)邊界 VOLUME [/workspace, /home/piuser/.cache] # 啟動(dòng)腳本包含健康檢查 COPY entrypoint.sh /entrypoint.sh RUN chmod x /entrypoint.sh ENTRYPOINT [/entrypoint.sh]這個(gè) Dockerfile 的關(guān)鍵點(diǎn)base image 選 debian:bookworm-slim比 alpine 更兼容 glibc 依賴Pi Coding Agent 的某些 C extension 需要比 ubuntu 更小僅 32MB。--no-deps 手動(dòng) install避免 pip 自動(dòng)拉取一堆間接依賴如 urllib3 的舊版本沖突。sed 修改 config.py關(guān)閉 telemetry這是合規(guī)硬性要求且減少網(wǎng)絡(luò)請(qǐng)求干擾。VOLUME 顯式聲明告訴 Docker 哪些路徑必須持久化哪些可以丟棄。4.2 啟動(dòng)腳本entrypoint.sh 的 5 個(gè)防御性檢查entrypoint.sh 不是簡(jiǎn)單 exec pi-coding-agent而是 Agent 運(yùn)行前的“安檢站”#!/bin/bash set -e # 1. 檢查 workspace 是否可寫 if [[ ! -w /workspace ]]; then echo ERROR: /workspace is not writable by UID $(id -u) 2 exit 1 fi # 2. 檢查 ulimit if [[ $(ulimit -n) -lt 1024 ]]; then echo ERROR: ulimit -n must be 1024, current: $(ulimit -n) 2 exit 1 fi # 3. 檢查 /tmp 是否可執(zhí)行 if [[ ! -x /tmp ]]; then echo ERROR: /tmp is not executable (missing exec flag in tmpfs?) 2 exit 1 fi # 4. 創(chuàng)建 cache 目錄并設(shè)權(quán)限 mkdir -p /home/piuser/.cache chown 1001:1001 /home/piuser/.cache # 5. 啟動(dòng) Agent捕獲 SIGTERM trap echo Shutting down...; exit 0 TERM INT exec $ 21這個(gè)腳本的價(jià)值在于fail-fast。它在 Agent 啟動(dòng)前就暴露所有環(huán)境問題而不是讓 Agent 運(yùn)行 5 分鐘后才報(bào)錯(cuò)。比如如果你忘了加 --tmpfs /tmp:exec它會(huì)在第 3 步就退出并明確告訴你原因。4.3 生產(chǎn)級(jí) docker-compose.yml8 個(gè)字段的工程深意單靠 docker run 命令無法管理生產(chǎn)環(huán)境。docker-compose.yml 是你的“環(huán)境憲法”version: 3.8 services: pi-coding-agent: image: pi-coding-agent-sandbox:0.8.3 restart: unless-stopped # 資源限制硬性紅線 mem_limit: 512m mem_reservation: 384m cpus: 0.5 # 安全加固四重鎖 read_only: true cap_drop: - ALL cap_add: - SYS_PTRACE security_opt: - seccomp:./seccomp.json - no-new-privileges:true # 文件系統(tǒng)精確掛載 tmpfs: - /tmp:exec,size128m - /home/piuser/.cache:exec,size256m volumes: - ./workspace:/workspace:rw,z - /dev/shm:/dev/shm:rw # 用戶與網(wǎng)絡(luò) user: 1001:1001 network_mode: none # 健康檢查主動(dòng)探測(cè) healthcheck: test: [CMD, curl, -f, http://localhost:8000/health] interval: 30s timeout: 10s retries: 3 start_period: 40s # 日志驅(qū)動(dòng)防止填滿磁盤 logging: driver: local options: max-size: 10m max-file: 3逐字段解讀mem_reservation: 384m告訴 Docker “這個(gè) container 至少要保證 384MB 可用內(nèi)存”避免在內(nèi)存緊張時(shí)被優(yōu)先 kill。這是 OOM 的緩沖墊。tmpfs: ... /dev/shm共享內(nèi)存段Pi Coding Agent 的 multiprocessing 模塊用它傳遞大對(duì)象不掛載會(huì)導(dǎo)致 pickle 失敗。volumes: ... :zSELinux 標(biāo)簽讓 Docker 自動(dòng) relabel 掛載點(diǎn)否則在 Enforcing 模式下會(huì) permission denied。healthcheck不是擺設(shè)。Agent 啟動(dòng)后會(huì)監(jiān)聽 8000 端口/health 返回 {status:ok,uptime:123}。docker ps --filter healthhealthy 可一鍵篩選健康實(shí)例。logging: local避免用 json-file 驅(qū)動(dòng)默認(rèn)它會(huì)無限追加日志直到磁盤滿。local 驅(qū)動(dòng)自動(dòng)輪轉(zhuǎn)。4.4 啟動(dòng)與驗(yàn)證3 條命令建立信任構(gòu)建鏡像docker build -t pi-coding-agent-sandbox:0.8.3 .啟動(dòng) sandboxdocker compose up -d驗(yàn)證是否真隔離# 1. 檢查進(jìn)程樹應(yīng)該只有 agent 和它的子進(jìn)程 docker exec pi-coding-agent-sandbox ps aux # 2. 檢查網(wǎng)絡(luò)應(yīng)該只有 lo且無 IP docker exec pi-coding-agent-sandbox ip a # 3. 檢查文件系統(tǒng)/ 應(yīng)該是只讀/tmp 應(yīng)該是 tmpfs docker exec pi-coding-agent-sandbox mount | grep -E (^/ | /tmp)預(yù)期輸出ps aux只顯示 UID 1001 的進(jìn)程無 root 進(jìn)程。ip a只顯示 lo 接口state DOWN無 inet 地址。mount/dev/mapper/docker-... on / type overlay (ro,...)和/dev/shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size65536k)。實(shí)操心得永遠(yuǎn)用 docker compose logs -f 查看實(shí)時(shí)日志而不是 docker logs。compose logs 會(huì)自動(dòng)合并所有 service 的日志流并支持 --tail 100 這樣的過濾。我見過太多人用 docker logs 看不到 healthcheck 的失敗日志因?yàn)?healthcheck 是獨(dú)立進(jìn)程不輸出到 main container 的 stdout。5. 常見問題與排查技巧實(shí)錄那些文檔里不會(huì)寫的坑再完美的方案上線后也會(huì)遇到詭異問題。以下是我在 7 個(gè)客戶現(xiàn)場(chǎng)親手解決的 5 類高頻問題每個(gè)都附帶 root cause 分析和 1 行修復(fù)命令。它們不是“可能遇到”而是“必然遇到”。5.1 問題Agent 啟動(dòng)后立即退出docker logs 顯示 “ImportError: cannot import name xxx from pydantic.v1”Root CausePi Coding Agent v0.8.3 依賴 pydantic v2但某些插件如 pi-coding-agent-git的 setup.py 里寫了install_requires[pydantic1.10,2.0]pip install 時(shí)自動(dòng)降級(jí)了 pydantic。而 Agent 的 core 代碼已遷移到 v2 的 BaseModelv1 的 import 失敗。排查技巧進(jìn)入 container手動(dòng)運(yùn)行pip list | grep pydantic確認(rèn)版本。再運(yùn)行python -c from pydantic import BaseModel; print(BaseModel.__module__)如果是pydantic.main則是 v1pydantic.main_v2則是 v2。修復(fù)命令docker exec -it pi-coding-agent-sandbox pip install --force-reinstall pydantic2.0,3.0永久方案在 Dockerfile 的 pip install 步驟后加一行 pip install --force-reinstall pydantic2.0,3.0并 pin 版本。5.2 問題Agent 處理 Git 相關(guān) task 時(shí)卡住strace 顯示在 poll() 等待 /dev/ttyRoot CauseAgent 的 git 插件調(diào)用 git clone 時(shí)git 默認(rèn)嘗試讀取 /dev/tty 獲取密碼即使用了 token。而 sandbox 里 /dev/tty 是空設(shè)備git 一直阻塞。排查技巧docker exec -it pi-coding-agent-sandbox strace -p $(pgrep -f pi-coding-agent | head -1) -e tracepoll,read看到poll([{fd0, eventsPOLLIN}], 1, -1) ?就是卡在 tty。修復(fù)命令docker exec -it pi-coding-agent-sandbox git config --global core.askpass 永久方案在 Dockerfile 里RUN 命令后加 git config --global core.askpass git config --global credential.helper store并確保 /workspace/.gitconfig 有對(duì)應(yīng)配置。5.3 問題Agent 生成的 Python 代碼里路徑全是 /workspace/xxx但宿主機(jī)上實(shí)際是 /home/user/project/xxxRoot CauseAgent 的 workspace 掛載是./workspace:/workspace它認(rèn)為自己的根就是 /workspace。但用戶期望它生成相對(duì)路徑如../lib/utils.py而不是絕對(duì)路徑。排查技巧觀察 Agent 的 prompt“請(qǐng)生成一個(gè)函數(shù)讀取當(dāng)前目錄下的 data.csv”。它生成的代碼是pd.read_csv(/workspace/data.csv)而非pd.read_csv(data.csv)。修復(fù)命令這不是 bug是設(shè)計(jì)。解決方案是——在啟動(dòng)時(shí)用 --workdir 指定工作目錄docker run -v $(pwd):/workspace -w /workspace pi-coding-agent-sandbox-w /workspace告訴 Agent“你的當(dāng)前工作目錄就是 /workspace”它生成的相對(duì)路徑就正確了。5.4 問題樹莓派上 Agent 響應(yīng)極慢top 顯示 %CPU 100%但 iowait 很低Root Cause樹莓派的 microSD 卡隨機(jī)讀寫 IOPS 只有 50-100而 Agent 的 pip install 每秒要讀寫數(shù)百個(gè)小文件.whl 解壓、.pyc 編譯。CPU 在等 I/O但 iowait 不高是因?yàn)?SD 卡控制器把請(qǐng)求 batch 了。排查技巧iostat -x 1看 %util 是否長(zhǎng)期 100%且 r/s讀請(qǐng)求數(shù)很高。修復(fù)命令用 tmpfs 替代 SD 卡的 pip cachedocker run -v /dev/shm:/root/.cache/pip:rw pi-coding-agent-sandbox/dev/shm是內(nèi)存 tmpfsIOPS 無限。實(shí)測(cè)樹莓派 4B 上pip install 速度從 42s 降到 6.3s。5.5 問題Agent 的 healthcheck 失敗curl 返回 503但 ps 顯示進(jìn)程在運(yùn)行Root CauseAgent 的 /health endpoint 依賴內(nèi)部 LLM server 啟動(dòng)完成。而 LLM server如 llama.cpp啟動(dòng)需加載 3GB 模型到內(nèi)存--memory512m 不夠OOM killer 殺了它但 Agent 主進(jìn)程還在只是 /health 返回 503。排查技巧docker exec pi-coding-agent-sandbox cat /proc/1/status | grep OOM如果有oom_score_adj字段說明被 kill 過。修復(fù)命令增加內(nèi)存并延長(zhǎng) healthcheck start_period
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天天肏高清在线| 色婷婷狠狠久久综合五月| 欧美经典片免费观看大全| 久久人妻高清中文| 亚洲中文无码成人| 久久99综合| 九九热这里只有精品9| 九九综合九九| 五月丁香啪| 国产欧美婷婷五月| 婷婷五月天成人导航| AV中文字幕夜夜操b天天摸bb| 五月丁香久久| 网色99| 欧洲综合色| 久操激情| 婷婷月综合| 激情涩播| 婷婷婷婷午夜| 成人国产网| 国产精品久久久久久妇女6080| 久久 婷婷 五月天| 五月婷婷啪啪啪| 五月婷婷说| 欧洲亚洲免费视频区| 成人版视频在线观看| 5Www色5夜| 无码成人AAAAA毛片AI换脸| 欧美婷婷丁香五月社区| 91狠狠色丁香婷婷综合久久精品| 亚洲综合久| 天天激情| 婷婷五月色| 26uuu亚洲精品国产| 夜夜骑日日夜夜| 美女天天久久| 五月丁香999| 九九人妻福利| 五月天婷婷丁香蜜桃91| 五月婷婷婷自由综合| www,8050,午夜三级| 国产老熟妇亲子乱对白| 九九人人操| 激情综合在线观看| 九九热这里有精品视频| 中文aV网| 国产精品色婷婷AV综合色色| 亚洲成人超碰| 色偷偷五月天| 亚洲色图欧美色图日本视频| 97婷婷五月丁香| 激情五月婷婷| 无码人妻一区二区一牛影视| 久9无码视频| 久热久操久热久草国产91| 日日操夜夜操中国无码| 六月丁香婷婷综合狠狠爱夜夜爱| 丁香五月色情| 5月婷婷六月丁香| 精品视频99看在线视频| 五月天婷婷五月| 色色色色网色色网色色| 亚洲秘 无码一区二区三区妃光/1| 五月婷婷啪啪| 久久538| 久热无码| 中文不卡av| 伊人久久大香线蕉亚洲五月天,| 大香人妻| 99亚洲天堂| 91婷婷丁香五月天免费视频网站| 五月婷婷六月激情网| 色综合综合网| 国产操碰| 激情五月天。| 99热在线精品播放| 秋霞电影理论| 超碰色综合| 99婷婷| 99久热这里只有精品| 99热在线播放| 亚洲无码猫咪| 99国产er热视频| 婷婷五月天777| 五月丁香婷婷婷婷综合网| 国产一二三四五六七八视频| 丁香五月综合| 日韩国产AV播放| 中文字幕,综合,91| 五月综合亚洲| 99操久久| AV网址大全在| 五月综合婷婷网| 丁香五月综合网亚洲综合欧美狠狠| 偷拍五月丁香| 香蕉97碰碰碰欧美| 91爱操| 欧美综合激情五月丁香| 91婷婷在线| 免费精品99| 国产在线网址1| 五月天天堂久久| 涩综合在线 | 美女主播野战视步页| 狠狠狠夜夜夜| 婷婷五月天成人| 久久久潮喷-久久久九九-成人AV| 99热99热在线观看| 丁香花五月天激情| 婷婷伊人五月丁香天堂网| 色婷婷视频| 99re在线这里只有精品视频首页| 欧美激情综合色综合啪啪五月| 九日日夜夜69| 国产日韩欧美性生活| 亚洲这里只有精品| 五月天开心色色网| 26UUU成人网| 欧美婷婷综合| 亚洲综合视频八| 九九热最新| 久久婷婷五月天| 另类丁香综合| 这里只有精品视频一区| 中文幕无线码中文字蜜桃| 婷婷刺激综合| 五月婷婷在线免费观看| 91在线资源| 金桔一区二区ab地址| 五月WWW| 欧美日综合| 在线综合亚洲欧美65| 五月天婷婷色色| 五月亭亭性| 无码人妻AV久久久一区二区三区 | 久久婷婷五月天蜜桃| 无码中文一区二区三区| 爱射综合| WWW.五月天9999| 五月婷婷六月丁香| 玖玖婷婷精品| 第四色大香蕉| 亚洲不卡欧洲| 五月丁香91| 亚洲欧美日韩另类| 天天综合中文| 丁香五月天激情四射网络不好 | 丁香五月婷婷av| 天天色激情| 99精品成人无码A片观看金桔| 日本熟妇精品99| 五月婷婷天天| 久草九九| 91九色熟女| 五月天堂色色| 久久免费操| 97AV人人插人人操| 97操碰在线视频| 天天久久婷婷| 国精产品一区一区三区有限公司杨 | 先锋男人99资源| 婷婷五月av| 婷婷综合久久| 色婷婷五月天| 九九色99| 9久操| 天天做 天天爱| 日本操天堂| 深爱开心激情网| 色色99| 欧美激情五月综合| 69超碰在线| 97涩涩丁香五月天| av一区免费看| 日韩色五月| 99热99操| 亚洲精品婷婷| 免费试看小视频 99| 激情99| 99re久热只有精品6在线直播| 色婷婷五月综合| 91超级碰碰| 五月亭亭直播| 色婷婷a三区麻| 懂色av粉嫩AV蜜臀AV| 五月天性色| 99在线资源视频| 色色哒五月婷婷六月丁香| WWW色色色COM| 六月婷婷激情| 天天做天天要天天爽| 成人免费120分钟啪啪| 天天拍久久| 黄色av高清| 人人干女人| 五月天丁香成人| 亚洲操人| 97日本在线播放| 五月天婷婷在线播放| 精品网站:999WWW| 欧美精品999| 开心婷婷五月激情网小说| 在线观看免费视频| 综合色色婷婷| 小视频aaa久久久| 春色激情| 成人国产综合| 久久开心五月婷婷| 嫩草视频在线观看| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 五月天婷婷在线观看精品男人| 国产精品18久久久| 99色精品| 亚洲乱码成人| 亚洲成人一区| 五月婷护士| 中文字幕丰满人妻无码专区| 无码毛片992367| 亚洲成人av在线观看| 秋霞A V毛片| 天天日人人| 综合超碰熟| 九九99免费视频| 五月丁香少妇网| 六月婷婷最新网址| 五月激情小说| 日韩亚洲视频| 婷婷五月天福利| 日日夜夜狠狠婷婷色| 琪琪布丁香社区激情五月天| 天天干天天干天天干天天干天| 99热在线中文字幕| 超碰久热| 狠狠五月激情丁香六月| 99超级碰碰| 色婷婷丁香五月天在线视频 | 综合久久五月天| 强辱丰满人妻HD中文字幕| 婷婷五月六月丁香| 亚洲精品久久久久久久久久吃药| 色噜噜狠狠色综合无码久久欧美| 午夜日韩久久久网站| 99∨VTV| 婷婷在线激情| 夜夜综合色| 色五月丁香六月资源站| 91综合在线视频| 91夫妻视频| 久久视频婷婷视频| 99色视频| 综合在线色婷婷| 五月天色婷婷av| 激情五月丁香社区| 五月天婷婷操逼视频| 亚洲网站观看视频| 欧美性生交XXXXX无码小说| 亚洲在线综合| 婷婷的色色五月天| 亚州操人在线视频| 99热这里有精品2| 无码se| 热99久| WWW.五月com| 婷婷五月天成人| 九九这里是免费的视频5| 婷婷五月天成人网站| 草操AV在线| www久| 亚州操逼网| 久久婷婷五月综合网| 五月激情小说| 亚洲日韩乱码一区二区三区四区 | 熟女强人妻一区二区三区四区无| 国产毛片精品一区二区色欲黄A片| 亚洲综合色婷婷| 99热这里只有精品免费| 99九九在线视频| 色婷婷亚洲精品天天综| 直接看的AV| 操丝袜视频影院导航| 玖玖伦理电影| 天天射射夜| 丁香色情五月天| 亚洲无码成人网| 婷婷精品在线| 99综合视频一体| 婷婷丁香激情综合色情| 色婷婷基地| 99久久99九九九99九他书对| 亚洲综合九九| 激情五月激情综合网一级丸片| 99久久丝| 五月丁香久久激情网| 五月色情婷婷开心五月色情| 天天橾日日橾夜夜橾17| 亚洲色婷婷视频| 丁香久久久| Www.激情| 色综合久久88色综合天天看| 亚洲av骚货| 丁香五月在线| 免费看欧美成人A片无码| 国产AV国片偷人妻麻豆| 先锋影音男人的天堂AV| 久热伊人9| 丁香五月综合无码趴趴| 97精品综合| 丁香五月婷婷无码AV| 人妻自慰在线| 伊人网色婷婷五月天| 丁香五月在线观看完整版| 色婷婷www| 天天影院色| 日本久热| 成人国产欧美大片一区| 激情国产五月| 欧美激情综合色综合啪啪五月| 特黄三级片| 五月丁香怕怕综合| 婷婷五月六月| www.夜夜操.com| 777精品久无码人妻蜜桃| 久久久国产精品黄毛片| 久人人操| 亚洲Va成人| 丁香色啪综合| 99干日本| 日韩久久成人| 九九热99免费视频| 99精品爱| 婷婷午夜| 91狼友视频在线观看| 久久综合色情网站| 9999热精品在线免费播放| 五月天色网站| 九热视频| 人人操人人添人人摸97| 丁香五月婷婷婷婷欧美综合| 婷婷色基地| 五月婷亚洲精品AV天堂| 射满了还射免费在线观看 -午夜版全集-新视觉影院 | 综合另类视频| 婷婷色色欧美综合网| 亚洲成人无码网站| 日韩精品色| 久色大| 国产精品色| 色色五月丁香婷婷综合| 五月婷婷综合色啪首页| 婷婷永久在线| 一区无码| 亚洲瑟瑟精品在线| 日韩啪啪网| 91碰免费视频| 亚洲九九免费| 色五月激情五月| A片女女女女女女BBBB| 一区二区三区四日本| 激情五月丁香六月综合AVXXXX| 精品色情一区二区三区四区| 色五月首页| 色综合久久综合| 五月丁香亭亭电影久久| 少妇高潮呻吟A片免费看软件 | 丁香六月婷婷综合欧美| 亭亭五月天黑人2014| 久久er免费视频| 久久精品4| 97精品综合久久内射| 久久国产一区二区三区| 图片区 小说区 区 亚洲五月| 99热免费精品| 婷婷五月色综合| 99视频在线精品免费观看2| 五月丁香婷婷婷婷综合网| 国产一级片| 激情丁香六月| 伊人久久大香蕉网| 91ncm视频| 五月天丁香综合在线| 伊人喵咪a V| 国外亚洲成AV人片在线观看| 国产精品扒开腿做爽爽爽A片唱戏| 婷婷开心激情| 五月天婷婷综合网| 色色色五月婷婷| 99精品在这里| 成人片在线播放| 激情图片五月天| 狠狠香蕉| 久久9视频| 天天爱天天做天天操| 色五月综合在线| 情色婷婷五月天| 婷婷激情在线| 99在线观看| 久婷婷| 天天色播| 色久综合| 99热 日韩| 欧美一级a | 五月丁香婷婷深深爱| 人妻精品一区二区三区| 丁香婷婷色九月| 五月婷婷久久大香蕉| 婷婷久久精品| 五月丁香啪啪啪| 99热激情| 欧美大片免费观看| 99视频日韩| 色99xx| 碰碰碰97免费精彩视频| 久久久久网站| 激情五月天婷婷免费观看| 这里只有视频精品| 淫荡工a| 人。妻久久| 五月丁香网站| 五月天亭亭俺也| 青草视频在线观看视频| 五月丁香色婷婷| 五月婷婷啪啪综合网| 久久丁香五月| 99热综合| 激情性爱婷婷| 久久色婷婷| 五月丁香爱婷婷深深| 激情五月无码| 舔色婷婷| 激情综合五| 亚洲乱码日产精品BD| 人人操婷婷| 99热丁香| 久久久久亚洲A∨成人乱码电影| 五月天色婷婷视频| 丁香婷婷视频在线| 九九热精品在线| 婷婷综合性爱网| 99日视频在线| 六月亚洲婷婷6月中文字幕| www.丁香黄色五月天人与| 婷婷五月婷| 天天摸天天肏| 高清资源站日A美A欧亚…| 激情婷婷99| 啪啪激情网| 五月天自拍网| 99视频在线播放大全| 久99久视频| 大香蕉婷婷婷| 色五月天.con| 97婷婷五月天| 天天拍天天操| 成人在线高清| 亚洲狠狠狠色婷婷综合激情久久久| www夜夜操com| 欧美日韩aaa| 国产在线网址1| 熟女激情网| 婷婷成人丁香色情基地30 | 国产人人操| 337p大胆噜噜噜噜噜91Av| 开心五月婷婷激情网| 91激情五月开心| 风流少妇A片一区二区蜜桃| 日韩在线一级| 激情综合网 激情五月天| 亚洲天堂爱爱| 六月婷婷日| 天天搞夜夜叫| 色久综合| 久久婷婷超碰| 狠狠草天天草| 4438激情网| av网站不卡在线| 五月丁香操婷逼| 五月天精品综合在线| 操人91| 色婷婷成人色网| 玖玖色综合| 激情五月天小说| 激情婷婷五月天| 亚洲婷婷基地| 婷婷色正月| 天天操夜夜操| 丁香六月激情综合| 2020日日干| 亚洲mm免费| 干亚洲天堂| 97干视频在线| 99综合成人视频在线观看| 欧美色骚婷婷五月天| 这里只有精品热| 天堂综合久| 亚洲va久久久噜噜噜久久天堂| 操操操www.com| 五月天婷婷成人网| 99丝袜精品视频网站| 五月丁香999| 超碰99在线| 久久婷婷丁香五月宗合| 丁香五月综合在线观看| 91久久精品国产91性色TV| 另类在线| 五月色网| 日韩综合网络男女香蕉a片| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 天天爽天天爽| 久久99免费视频网站| 呦呦v线| 丁香五月天堂| 久久精品爱爱| 思思热视频在线| 色玖玖综合网| 色五月婷婷av| 九九热99免费视频| 久大香蕉| 日韩超碰在线| 日本三级中文字幕| 丁香五月激情棕合| 欧美日比视频| 色婷婷777狠狠| 91久久电影| 热996精品在线观看| 性天天中文网| 97超碰99热99| 激情五月综合婷婷| 狠狠99| 婷婷五月天天爽| 香蕉伊人综合| WWW.五月天9999| 久机视频这只有精品| 99热最新精品| 极品人妻VideOssS人妻| 激情五月深爱五月| 精品人妻伦九区久久AAA片| 婷婷第六色| 亚洲操逼网| 熟女乱论网| 婷婷五月天小说| 婷婷一本和五月丁香| 国产成人精品123区免费视频| 丁香五月 综合| 五月婷婷大香蕉| www色婷婷久久综合久色 | 另类视在线| 超碰在线免费| 九九色中文| 在线观看中文字幕| 日本va欧美va精品发布视频| 色五月激情五月| 日韩六十路91性交电影| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 任你躁XXXXX麻豆精品| 婷婷丁香亚洲五月天| 五月天丁香婷婷网| 五月情色天| 麻豆精品| 日本色婷婷| 青青.com| 亚洲综合网在线| 日日懆天天懆| 免费成片在线观看| 国产99热| 激情五月婷婷网在线观看| 婷婷综合仓库中文| 久热这里只有精品6| 欧美超级视频97| 26uuu最新地址| www.99热最新视频8| 成人网在线观看视频| 中文字幕乱轮| 国产综合视频婷婷| 成人做爰A片免费看视频| 欧美噜一噜| a毛片二逼wwwwwwwwww| 久久狠狠干| 九九热亚洲中文在线观看免费| 亚洲精品字幕在线观看| 五月婷婷激情综合网 | 亚洲综合网激情五月天| 成人午夜在线视频| 五月天.com| 色丁香久综合在线久综合在线观看| av在线免费播放观看| www.色婷婷.com| 开心久久xxx色| 爆乳熟妇一区二区三区四区| 日本99色| 色五月婷婷少妇人妻| 91久女| 九热...av| 欧美va视频不用播放器的va视频网| 99丁香婷婷综合网| 久久婷五月婷| 欧美综合五月丁香六月婷| 成人免费在线电影| 人妻丰满精品一区二区A片| 人人操人人爱丁香五月| 超碰91在线| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 狠狠色综合网站久久久久| 五月天婷婷av| www.亭亭五月天| 色婷婷综合久久久久| 国产做A爰片毛片A片美国| 天天日天天草| 天天草天天爱| 五月天婷婷涩涩| 久久免费精彩视频| 五月丁香综合激情网| 五月天婷婷一起草| 91丁香婷婷综合资源| 91啪啪视频| 超碰人人干| 亚洲五月天伊人| 五月丁香激情四射| AV片在线观看| 伊人久久艹| 成人网址在线观看| 米奇影视资源婷婷狠狠色激情欧美五月丁香| 亚洲AV第二区国产精品| 国产99久久久国产精品免费看| 丁香五月激情网| 五月丁香六月停停| 色色无码日韩| 丁香五月天亚洲综合| 99热伊人| 超碰人人操人人干| 丁香五月综合AV在线| 欧美va亚洲va| 亚洲成人AV在线观看| 国产特黄色精品一区二区三区精品无广告| 婷婷五月婷婷| 婷婷的99视频网站| 丁香五月六月综合激情| 综合网五月天123| 思思色播| 日韩综合久久| 久久婷婷人人| 97色综合视频| 亚洲精品一二三| 99热精品在线观看| 五月婷婷欧美| 九九re精品视频在线观看| 五月丁香婷婷开心| 亚洲婷婷婷| 婷婷丁香视频在线观看免费| 色播六月| 五月停停999| 玖玖玖婷婷婷| 青青操成人福利| 国产精产国品一二三在观看| 五月天综合网| 综合色播| 婷婷久久五月天| 在线看片av| 丁香五月婷婷五月天| 五月天六月婷| 色丁香久久久| 天天拍久久| 日日鲁鲁夜夜爽爽| 一个色的综合| 五月丁香色五月| xxxx五月激情| 激情五月激情综合俺也去婷婷小说| 色久九| www.jiujiujiu| www.91婷婷| 久久亚洲天堂| 91婷婷色| 人人操插| 色v综合网| 五月天激情网址| www.91av.com| 91久女| 九九成人电影婷婷| 久综合九综合99| 色九四色| 婷五月天| 欧美日韩五月婷婷| 五月天丁香综合在线| 五月丁香成年黄色| 婷婷午夜综合| 丁香色色网| 91丨九色丨东北熟女| 色色自拍视频网站| 五月婷婷深深爱爱| 丁香 婷婷五月| 欧美性爱特黄一级aaaassss| 俺去也在线官网| 夜夜爽天天日| 婷婷五月六月| 丁香五月中文字幕| 色香欲综合| 久热9| 激情婷婷丁香| 午夜亚洲AV日韩无码| 日韩啪啪视品| 欧美啪啪五月天| 久久大香蕉视频| 99久在线视频| 欧洲激情五月天婷婷| 开心日韩丁香婷婷五月| 天天摸人人摸| 婷婷五月天综合久久| 99人妻碰碰碰久久久久禁片| 九月婷婷综合| 五月婷婷香蕉| www.99日本| 五月丁香啪啪网| 这里只有视频精品| 五月婷婷丁香在线视频| 伊人五月综合网| 午夜色婷婷| 丁香五月社区| 97操男人的天堂| 成人综合视频在线| 五月天婷婷自拍图片在线观看| 97色伦另类图片小说视频 | 99操碰| 91国产精品视频播放| 香蕉乱插| 五月婷婷基地| 亚洲 小说 欧美 激情 另类| 人人草开心五月天| 日韩视频99| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 婷婷五月骚厕所| 超碰色色综合| 国产亚洲精品AAAA片APP| 五月天婷婷激情四射综合| 日本九九视频| 六月五月久久丁香| 天天爽天天操| 中文字幕在线免费看线人| 91精品久| 成人婷99最新| 婷婷射图五月天| 日本一毛片| 99精品偷自拍| 六月婷婷综合激情| 色五月色五天色情网| 超碰爱爱爱| 亚洲电影在线观看| 操操自拍| 五月婷婷丁香av| www.激情在线| 国产婷婷五月色情综合| 九九伊人网| 婷婷五月激情综合啪啪| 精品一二三区视频立| 强伦轩人妻一区二区电影| 97干在线| 六月婷婷综合久久| 五月婷婷免费在线观看| 青青草原亚洲天堂| 影音先锋AV男人站| 五月天色狠狠| 人人草人| 日本欧美成人片AAAA| 嫩草视频观看| 婷婷激情5月| 亚洲午夜AV| 91精品丝袜久久久久久久久粉嫩| 久久网站观看免费欧洲国产| 99精品久久久久| 亚洲中文字幕AV在线| 狠狠综合| 成人va视频| 婷婷伊人五月天| 久久五月婷婷电影| 99精品热| 色亭亭丁香五月天| 99r久久这里只有精品| 丁香五月婷婷AV| 欧美久久久中文字幕| 欧美成人热| 色综合色五月| 伊人玖玖网| 青青草原99热| 99热在线观看| 这里只有精品日韩| 婷婷伊人久久| 98色丁香五月婷婷综合网| 欧美丁香婷婷天天操| 99热这里只有精品1025| 亚洲视频在线观看区| 九九热在这里只有精品| 久久久人妻| 九九99九九99| 超碰国产在线观看| 丁香九色不卡aaa| 开心激情站婷婷五月天| 五月婷婷无码| 狠狠情色| 伊人影音无码一区二区三区| 五月丁香婷爱在线| 色综色网| 黄涩毛片| 国精产品一区一区三区免费视频| jiujiu热在线视频| 丁香婷婷大香蕉| 五月婷婷六月丁香玖玖玫瑰91| 婷婷五月婷| 第九色区AV在线| 精品一区二区三区木瓜| 福利视频在线播放| 麻豆科斗777| 天天日综合| 久久婷婷五月天激情新地址| 亚洲av成人在线| 亚洲情色一区| 亚洲AV网站在线观看| 99热销国产这里有精品| 五月丁香六月激情欧美综合| 丁香婷婷综合影院| 深爱1激情网| 婷婷丁香五月综合久久| 日韩精品无码99| 激情综合五月天| 天堂爱爱| 六月丁香啪啪| 六月婷伊人| CHINESE熟女老女人HD视频| 免費亭亭成人| 被强行糟蹋的女人A片| 人妻五月天激情开心网| 狠狠精品干练久久久无码中文字幕| 丁香婷婷人妻综合网| 99精彩视频| 九九一综合精品| 夜夜嗨一区二区三区直播内容 | 婷婷狠狠色| 精品一区二区三区三区| 色综合五月天| 久热91精品| 久久久五月天| 激情五月激情综合俺也去婷婷小说| 色婷婷99| 天天操天天操| 中文超碰视在线| 99爱在线精品视频免费观看| 踪合专区啪啪| 激情综合婷婷| 五婷婷六月合| 婷婷八月丁香激情综合| 爽极品色| 久久思思热| 婷婷天天综合| 97色碰碰公开视频| 伊人网碰碰| 无码se| 91|疯狂丨高潮丨对白| 丁香五月激情婷婷| 久久久欧美精品sm网站| 久热欧美| 天天干天天干天天干天天干天天干天天| 2025神马午夜福利| 99热这里只有精品在线观看| 日本一级特黄大片AAAAA级| 国产无人区大片| 丁香五月婷婷久久综合激情网| 色欲一区二区三区精品A片| A网在线欧洲| 在线色婷婷| 性生活视频98791| 青草性爱视频| 国产首页在线| 99久久婷婷国产综合| 久久五月天大美女| 婷婷色色色| 97在线刺激| 色婷婷五月天天天天天天天天天| 草榴视频黄色网| 97狠狠色| 五月天性色| 99色在线观看视频| 99热免费| 亚洲婷婷免费| 99热在线观看免费中文| 91九色白丝| 久99综合婷婷| 天天成人综合视频| 久久9久久| 99ER热精品视频| 色婷婷五月天久久| 亚洲第一色网站| 五月丁香A片| 久色| 天天干天天色综合| 性爱在线播放av| 色色97丁香婷婷五月天| 思思热在线视频精品| 欧美综合婷婷网| 中文字幕,综合,91| 人人爱操| 婷婷五月天天天| www.99热国产| 激情久久综合网| 欧美性猛交99久久久久99按摩| 九九在线精点品| 亚洲婷婷丁香五月亚洲| 久草a片| 五月婷婷av在线| 久久人操| 激情五月小说婷婷| 六月亚洲婷婷6月中文字幕| 热九九九九| 五月丁香啪啪| 日韩久久色| 俺去也在线www色官网| 性韩日色婷婷五月天激情啪啪XXX| 99精品国产在热久久| 91狠狠综合网| 伊人啪啪网| 精品久久人妻热| 色5月婷婷色| 天天干天天日蜜臀av| 99热这里只有精品中文字幕| 五月开心激情| 五月丁香久久激情网| 天天久久狠狠色综合| 丁香熟女乱| 欧美人与性动交CCOO| 色噜噜综合网| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 日韩AAAAA| 天天色爽| 九九九九综合| 影音先锋日本三级资源| 99色视频| 亚洲天堂大香蕉| 五月婷婷综合潮喷| 国产色色网站网址| 超碰操网| 午夜成人在线免费视频| 91色呦哟| 亚洲乱码日产精品BD| www色婷婷| 日本女人久久| 五月婷在线色视频| 激情婷婷五六月天| 久99视频| 九九热re99re6在线精品| 人人操大| 99re资源在线视频导航| 亚洲乱码日产精品BD| 五月天色色网站| 婷婷五月天天爽| 日日夜夜狠狠干| 一区二区三区四区无码| 操人妻90p| 99色综合网| 天天操B| 日本女人久久| 九九热在线99| 久激情| 婷婷五月天你懂的| 第四色色六月色综合| 日本乱子人伦在线视频| 九九黄色网| 激情小说婷婷| 婷婷久久五月天| 亚洲午夜AV| 日韩久久视频| 天天操B| 婷婷五月天色色| 99久久久久久| 日韩啪啪视频| 色色色综合色| 婷婷五月天久久久| 久久久免费精彩视频| 直接看的AV| 丁香五月婷婷AV在线| 另类综合国产| 亚洲综合色棒| 色婷婷丁香五月综合| 综合深爱五月| 婷婷综合精品视频97| 色综合久久88色综合天天| 色爱终和网| 狠狠操狠狠干综合| 91久久婷婷人人澡草| 日本在线噜噜| 五月婷婷天| 5五月综合网亚洲| 五月婷婷综合在线| 天天操婷婷| 99热偷拍| 99热99色| 成人做爰A片免费看视频| 国产伦亲子伦亲子视频观看 | 青青草原精品久久| 亚洲狠狠干| 天天爽天天操| 色你久久| 99精品综合视频| 色婷婷电影网| 51精品国自产在线| 99久热视频在线| 亚洲成片在线观看| 成人网在线视频| 婷婷五月天丁香花| 色小说婷婷五月天天天| 99秘 在线| 五月花在线观看视频| 激情综合五| 日本天堂爱爱| 思思热视频在线| 国产这里只有精品| 婷婷99综合| 久久五月天激情婷婷| 久久99综合网| 亚洲综合激情五月久久| 无码人妻一区二区三区四区| 婷婷六月伊人| 丁香六月婷婷五月婷婷| 99精品在线观看| 无码激情AAAAA片-区区| 色444综合网| 久99精品视频| AV在线资源| 五月婷婷中文网| 综合久久六月| 久久精品9| 久久激情综合| 亚洲电影中文字幕| 激情99热| 婷婷色色综合激情| 五月丁香六月婷婷免费| 国产精品日韩十五区| 啊v视频在线观看| 专区无日本视频高清8| 亚洲情欲久久| 色,激情五月天| 五月丁香怕啪啪| 丁香六月婷婷综合在线| 五月激情啪啪啪| 五月丁香啪啪| 亚洲视频在线网| 狠狠色丁香久久久婷| 涩涩网五月天| 婷婷五月天激情小说| 天天天干夜夜夜操| 在线超碰免费| 99久久亚洲精品视频| 激情五月天网页| 夜色综合网| 欧美槡BBBB槡BBB少妇| 久久婷综合网| 欧美综合婷婷欧美综| 思思热视频在线观看| 婷婷亚洲综合| 熟女国产在线一区二区三区四区| 丁香五月婷婷亚洲人| 精品成人a v无码内射| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 99.N在线视频| 夜精品无码A片一区二区蜜桃| 欧美久人人| www.狠狠操.com| 伊人在线视频| 极品少妇高潮啪啪AV无码| 天堂呦 呦百度搜索-百度搜索| 亚洲成人AV在线播放| 五月天激情图| 超碰在线人人| Av免费网站在线| 婷婷五月花免费视频在线| 天天操天天曰| 精品亚洲国产成AV人片传媒| 99日逼视频| 婷婷五月深深爱| 丁香五月色情| 久久日曰| 欧洲亚洲免费视频区| 色五月婷婷基地| 天天日夜夜爽| 欧美色偷拍| 99re26视频| 五月天激情丁香| 久99久99精品免| 玖玖九九99| 欧美三日本三级少妇三99| 青青草婷婷五月天| 久久伊人五月天| 色婷婷色和| 激情五月深爱五月| 超碰网站在线观看| 91夫妻视频| 久热婷婷| 欧美 日韩 成人| 色图亚洲91| site:xiongshengzz.com| 精品无吗va视频免费观看| 97一区二区| 婷婷五月天激情在线观看 | 天天日天天爽| 在线一起草av| 一本久久亚洲五月婷婷| 欧美影院婷婷| 精品人妻在线| 丁香六月激情综合啪啪| 五月天丁香| 日本熟女视频一区二区| 9热在线观看| 黄色国久久| VA日本视频| 啪啪啪大香蕉| 九月丁香婷婷综合| 天天日 天天草| 人妻五月天激情开心网| 久久婷婷五月综合色和| 久久综合99综合| 开心久久爱五月天| 国产精品色婷婷99久久精品| 中文成人在线| 五月天婷婷色综合| 亚洲av电影网站| 婷婷丁香五| 激情五月天网| 淫视馆aV二区一区| 99综合免费视频| 色v综合网| 婷婷五月色惰| 在线观看亚洲视频影院| http://www.sd-xiangsu.com/| 亚洲成人影视在线| 亚洲精品色色色| 亚洲精品又粗又大又爽A片 | XXXX岛国| 国产又粗又大又爽又黄| 激情综合五月激情| 五月激情综合网| 99这里的视频都是精品| 亚洲精品99| 综合婷婷| 婷婷基地爱| 精品五月视频婷婷在线观看| 五月丁香在线观看| 男人的天堂999| 激情五月天社区| 九九综合精品| 丁香六月综合激情| 五月婷成人网| 超碰av在| 激情丁香图片| 婷婷色六月| 99婷婷国产最新视频| 久久婷婷啪啪视频| 久草视频一,二三四| 九热精品| 激情五月天网| 黄色五月婷婷| 91中文在线| 美女黄频aⅴ视频| 色色婷婷丁香| 人人草成人视频| www.超碰| 精品少妇蜜臀91| 99九九免费精品| 色婷婷六月丁香综合欲精品| 久久久久久久久久久月丁| 超碰日日操| 婷婷成人AV| 亚洲激情AV| 人人人人人人人人人草| 国产精品久久久久9999小说| 色区域网站视频| CAoub青青超碰| 91肏| 26uuu国自产精品| 成人无码髙潮喷水A片| 天天操,天天插| 婷婷影院欧美| 五月丁香影院| www.sebowuyue| 五月丁香在线观看| 色婷激情网| 亚洲欧洲中文日韩久久AV乱码| 久久婷婷五月天激情唯美| 色婷久| 99激情| 丁香激激情网| 五月婷婷六月丁香玖玖玫瑰91| 香蕉久久国产AV一区二区| 全网最新网黄大秀直播高清,主播国产录屏在线 | 五月丁香婷婷色| 色五月婷婷开心| 天啪天啪天啪天啪| 超碰人人超碰| 国产成人VA| 久久天堂女人| 97人人草| 色狠狠色噜噜噜a天堂一区| 91av视频| 色婷婷五月在线| 婷婷六月插屄激情| 金品在线视频99| 一本色道久久综合狠狠躁小说| 五月婷婷开心六月激情小说| 久9热视频| 久久五月婷| 日韩欧美一级大黄网站| 五月天堂色| 成人做爰黄A片免费看直播室男男 久草热8精品视频在线观看 | 久热只有精品| 26uuu另类| 黄网在线免费观看| 久久婷婷免费| yellow视频在线观看91| 成人网站免费sxj| 99爱99操| 狠狠操狠狠色| 六月婷婷av| 99热的无码| 草草视频91| 色五月色开心开心五月| 大香蕉人妻| 自拍盗摄 另类| 99热偷拍| 成人AV播放| 激情婷婷| 久久性爱视频网站| WWW.夜夜操.com| 日本久草福利| 超碰v| 夜夜操天天干| 99热这是里只有精品| 天天肏高清在线| 99热在线观看| 亚洲不卡欧洲| 99热无码| 五月丁香va| 国产av一区二区三区| 色墦五月丁香| 九九热这里| 欧美综合在线五月天色婷婷| 任你搞网站| 激情6月| 99在线精品观看99| 婷婷五月综激情| 色情五月天A片| 99re思思| 另类伊人婷婷| 日韩日比视频在线| 色婷婷99| 中文字幕AV网址| 天干夜夜操| 538久久| www,五月天com| 丁香九月综合| 无码激情AAAAA片-区区| 久操热| 99色在线观看视频| 综合激情网激情五月。| 色色亚洲无码| 色婷婷电影| 精品99在线看| 亚洲免费电影2| 久草热8精品视频在线观看| 深爱激情五月天| 九九色婷婷| 婷婷操超碰| 一级性爱视频|