免费国产精品自在自线-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
返回資訊列表
欧美va在线观看| 色五月丁香婷婷久草| 狠狠五月激情婷婷直播片| 91色久| 五月婷导航| 久久五月天影院| 色小说五月婷婷| 婷婷色影院| 91精品久久久久久| 五月色综合| 久久视这里只有精品| 丁香五月欧美成人| av五月天婷婷丁香| 丁香婷婷六月天| 第四色激情网| 色婷婷五月天在线观看| AV人人操| 婷婷五月天六月综合| 亚洲V国产V欧美V久久久久久 | 婷婷五月天无码视频| 五月天激情小说| 五月婷婷成人w| www99xxxx五月丁| 五月婷婷九| 丁香六月开心| 五月丁香婷婷激情四射迷人| 操操碰| 天天日天天干天天插天天射| 五月丁香色狠狠干大屄| 色999亚洲人成色| 人妻丰满精品一区二区A片| 国产成人+综合亚洲+天堂| 亚洲人妻av伦理| 色色色网站| 亚洲AV永久无码影院黑人 | 天天色综合网吨吧| 色五月婷婷啪啪五月| 日本熟妇精品99| 丁香色婷婷| 丁香激情婷婷网| 色婷婷狠狠干| 亚洲精品无码久久| 婷婷色五月开心五月| 91啪啪视频| 色五月在线观看| 96人人操人人操人人| txt五月激情四射网综合俺也来了| 五月天婷婷影院| 激情综合五月| 97在线观视频免费观看| 婷婷五月天开心网| www五月| 婷婷九月丁香| 97久久视频| 色五月婷婷老师| AV九九| 婷婷丁香五月亚洲免费| 五月天激情国产综合婷婷婷| AA丁香综合激情| 思思精品视频| 激情av| 99精品综合| 五月激情天| 天天舔天天| 成片免费观看视频大全| 综合激情五月丁香| 婷婷色婷婷| 中文字幕成人影视| 97操碰在线视频| 九九无码| 色5月婷婷| 久久九九网| 中文字幕日产A片在线看| 极品少妇XXXX精品少妇偷拍 | 五月丁香花成人社区| 欧美久久网| 舔色婷婷| 久久婷婷内射| 99热在线播放| 色综合久网| 97视频.干com| 色婷五月天亚洲| 最新日本A片| 日韩高清成人| 九九成人高清视频| 欧美日韩AAA| 天天射天天射一道本日本社区| 精品久久婷婷五月天| 婷婷丁香77777| 丁香综合网| 夜夜久久综合网| 婷婷激情六月视频| 97在线观看| 94干大香蕉| 综合玖玖偷拍| 免费视频舔| 色婷五月| 性做爰1一7伦| 久久精品天| 综合另类视频| 欧美大肥婆大肥BBBBB| 成人做爰黄A片免费看直播室男男| 色五月综合网| 日本综合色色| 99热这里只有精品9| 淫视馆aV二区一区| 岛国AAAV| 伦乱美欧| 丁香五月手机在线| 久久久五月婷婷| 97久久人人| 色五月婷婷五月久久| 人人干人人操人人摸| 97色天堂| 亚洲无码激情| 五月天伊人综合| 99狠狠操一| 国产毛片精品一区二区色欲黄A片 99国产在线精品视频 | 99乱视频| www。五月天。com| 激情综合五月| site:minyis.com| 天天干天天操天天拍| 中文字幕永久在线| 亚洲综合干| 色色操| 亲子乱av一区二区三区的| 久久亚洲色导航| 亚洲Av入口| 日韩三级高清无码| 亚洲天堂碰碰婷婷| 丁香五月天偷拍| 丁香成人五月天| 天天日天天舔| 久热这里只有国产| 久久久久久99精品无码| 日韩啊啊啊| wwwav大香蕉| 99色在线观看视频| 九九色热视频| 丁香五月激情网| 99网址在线看| 狠狠香蕉| 第四色色六月色综合| 色六月婷婷| 亚洲日韩成人三级av| 五月婷俺去也| 91婷婷在线| 岛国操B不卡在线| 99视频只有这里精品| 色婷婷在线电影| 婷婷综合网伊人| 人妻人人操| 色婷婷色情| 能看的av| 99在线观看视频免费| 99视频久久| 亚洲 综合中文| 香蕉久久国产AV一区二区| 91超碰在线播放| 在线视频另类| 九九综合色| 人人干av| 欧美精品99久久久| 乱精品一区字幕二区| 99热久| av在线观看免费| 色狠狠综合| 六月婷婷网| 欧美婷婷五月天综合| 在线观看免费视频| 五月婷婷六月丁香在线视频免费在线观看| 精品五月花| 丁香五月天五码婷婷| 尤物一区二区| 日韩1区2区| 综合色网站| 伊人久久大香线蕉av最新| 伊人久热91| 激情深爱五月天| 97se视频在线| 成人做爰A片免费看视频 | 婷婷五月天激情小说网站| 欧美性生交XXXXX无码小说| 热的无码综合视频| 色情五月综合婷婷| 男人大jjc女人免费视频| 天天看A片| 天天爽天天操| 五月婷婷六月丁香在线| 成人在线日韩| 五月婷婷综合性爱噜噜| 五月激情综合网| 综合五月亭亭9| yazhoujiqingav| 色婷婷狠狠18| 丁香六月色情| 丁香五月人妻| 人妻中文在线| 婷婷五月天伊人网| 五月天激情小说婷婷| 人妻第九页| 久久在线92| 狠狠草狠狠草| www,超碰| 成人综合伍月天| 99热在线精品观看| 99热一本久道| 狠狠色色色| 色小说五月婷婷| 日本人人草草| 大香焦A∨| 天天日日综合| 五月激情丁香五月| 色都都狠狠色都都色综合色| 婷婷成人综合| 无套内射极品大美女| 97色色色视屏| 色婷婷av在线观看| 激情99热| 婷婷五月色图| 99久久精品亚洲综合| 五月丁香婷婷色| 狠狠插日日干撸| 99在线观看视频免费| 超碰在线观看成人视| 香蕉久久国产AV一区二区| 免费看欧美成人A片无码| 婷婷激情五月天激情在线| 久久综合五月婷婷| 欧美男女婷婷| 婷婷丁香综合| 九九视屏| 婷婷天堂综合网| 色久播播| 亭亭色色五月天| 色婷婷色五月综合| 激情婷婷九月| 久色五月天| 日韩啪啪自拍| 日本人妻操| 综合aV在线| 丁香久久| 亚洲色就是色色色| 九九九激情网| 欲求不满的人妻| 久99在线| 五月婷久久综合| 超碰在线50| 少妇大叫太大太粗太爽了A片| 九九热在线精品视频| 婷婷五月六月激情| 婷婷激情五月天视频在线| 天天艹夜夜爽| 五月婷久久在线| 2020久久婷婷五月| 狠狠色 综合色区| 亚洲国产精品成人va在线观看| 99热思思在线观看| 高清无码中文字幕aVDV| 激情婷婷色五月| 国产另类综合| 色性日本| 亚洲热久久| 日本天天综合| 婷婷 激情 五月| 翔田千里aV中文字幕| 日日干日日色| 国产精品成人av在线观看春天| 天天热夜夜操| 天天操中文字幕| 久久激情五月婷婷| 思思热在线观看| 51精品国自产在线| 综合色吧| 欧美狠狠草| 五月丁香六月激情狠狠| 特级西西4444www无码| 六月丁香网| 无码区婷婷五月花开| 99爱这里只有精品免费视频| 婷婷五月激情基地| 日韩欧美一级大黄网站| 日日操人人操| 久久色天堂| 色色网站| 东北熟女视频99| 99riAV国产精品视频| 六月色婷婷色| 六月丁香综合| 国产日比| 婷婷五月丁香色综合| 97色永久免费视频| 99只有这里是精品| 人人妻人人澡| 久操香蕉| 亚洲日本激情| 中文字幕av在线播放| 丁香六月激情| 91人人爽狠狠狠| 五月婷婷开心激情六月蜜桃| 操操自拍| 婷婷亚州综合| 丁香五月98| 亚洲丁香婷婷丁香五月天激情| 99性视频| 丁香六月婷婷色XXXX| 伊人五月天久久| 99综合免费视频| 欧美97p| 亚洲天堂啪啪| WWW.五月com| 99热婷婷| 殴美综合激情五月天免费视频| 99在线精品观看99| 美欧日韩国产成人在战| 天天狠狠干| 99色色视频| 96精品国产综合久久久久久| 狠狠色丁香婷婷基地| 天堂综合久久 | 亚洲熟妇AV乱码在线观看| 婷婷伊人五月丁香天堂网| 久鲁鲁色网| 激情五月天网站| 日本V在线观看不卡视频网站| 大香蕉99热| 五月丁香六月婷综合成人综合| 人妻啪啪啪| 干一干xxxx| 婷婷色情小说| 色婷婷伊人激情在线观看| 婷婷五月激情四月综合| 99啪啪视频| www.激情五月天.con| 69婷婷丁香午夜| 九九热在线观看视频| 欧美亚洲成人在线| 很很干天天干| 久久天堂精品| 99性爱视频| 最新国产AV| 大香蕉婷婷丁香| 五月丁香六月婷婷a v| 久久久久人妻网址| 色视频2025| 五月天综合激情网| av电影在线播放| hd五月婷婷在线| 五月天另类激情在线| 久久视频婷婷视频| 久久久免费精彩视频| 久99久精品视频| 99热在线观看免费精品| 久久九九精彩| 日韩在线视频中文字幕| 亚洲婷婷久久综合| 综合色色婷婷| 草综合网| 亚洲精品V天堂中文字幕| 9有码中文| 日日杆天天| 久久综合综合综合| 免费AV在线| 啪啪色区| 婷婷久久综合| 婷婷五月天日逼| 精品一区二区三区四区五区六区| 九九九午夜影院成人| 天海翼中文字幕高| 五月婷婷激情久久| 五月丁香好婷婷A片网| 超碰97人人操| 丁香五月婷婷丫| 七月婷婷色香综合网| 就爱射中文字幕资源网| 影音先锋男人资源站一区二区 | 欧美激情综合色综合啪啪五月| 91久久五月天| 色色国产| 五月婷婷亚洲色视频| 日本久久99久久| 极品色丁香| 日日操夜夜撸| 色五月丁香六月婷婷| 色婷婷综合在线| 99热新网址| 这里只有精品视频222| 五月丁香婷婷色| 五月丁香成人版| 色播色丁香五月| 五月天色色婷婷| 天天日天天添| 99久久色| 婷婷丁香五月综合| 亚洲天堂aaaa| 色色色综合视频| 日本波多野结衣视频| 熟女重口味αV| 狠狠插.com| 六月婷婷五月丁香| 6080av| 丁香五月激情欧美| 无人区码一码二码三码医生系列| 少妇搡BBBB搡BBB搡毛茸茸 | 五月天婷婷激情小说| 天色综合网| 天天影院色| 婷婷色狠狠| 色综合激情| 四色五月婷婷| 国产精品激情AV久久久青桔| 97操视频| 五月天婷婷在线观看| 5月激情天| 偷偷操九九| 欧美婷婷| 91日本在线观看| 天天舔天天摸天天透| 婷综合| 韩日AV片| 99在线视频观看| 久久机热/这里只有精品| 人人看人人摸人人| 精品无码人妻一区| 天天爽夜夜爽夜夜爽精品| 日本色超碰| 丁香色综合| 婷婷丁香五月天中文字幕| 九九99精品视频在线观看| 97碰碰叉| 色婷插| 99久热| www久久久久久久97| 婷婷五月天开心激情网| 五月婷六月丁| 五月婷婷久久综合| 新99思思视频| 四色综合网| 射区导航| 久久久久8888| 第五婷婷伊人丁香色| 日韩在线视频9色| 狠狠干综合| 激情五月天小说| 少妇日麻屄| 久久综合中文| 久草天堂| 1024日韩| 六月婷婷网| 五月婷在线| 黄色激情久久| 久久婷婷五月综合激情国产| 久久五月天婷婷| www,婷婷五月天,com| 激情5月婷婷狠狠干| 91精品久久久久久77777| av免费在线网站| 激情国产五月| 久久久九九视频精品18| 久久久精品99| 欧美VA视频| 伊人三级激情| 99噜噜| 丁香六月激情| 色色色777| 激情五月,色五月| 五月婷婷在线丁香| 激情图片婷婷| 婷婷.com| 丁香 久久| 丁香五月激情啪| 538任你爽| 激情视频网址| 亚洲国产精品二二三三区 | 五月天.com| 五月天激情国产综合婷婷婷| 国产精品久久久久久久久久| 日本wwww在线| 九九干视频| 91碰| 天天摸天天舔在线视频| 色五月天成人在线| 成人va视频| 亚洲午夜电影| 欧美槡BBBB槡BBB少妇| 大香蕉婷婷| 亚洲AV影片在线观看| 色在线免费观看| 丁香五月电影院在线观看| jiujiujiuwuyuetian| 五月婷婷六月丁香| 色五月天在线| 影音先锋色婷婷| 99亚州综合精品成人网| 超碰免费观看| 亚洲中文字幕av| 另类图片 五月激情| 丁香色综合| 欧美Va婷色| 99色精品视频| 99热免| 中文字幕成人| 超碰色碰碰| 97极品在线| 色99视| 可以直接看的AV| 久久三级视频| 久久久.www| 久99久视频| 五月情涩综合婷婷| 丁香五月AV| 亚洲天堂九九九| 丁香五月天在线观看视频| 另类小说婷婷色| 国产精品色婷婷99久久精品| 五月丁香婷婷欧美色图视频五月丁香777电影 | 婷婷丁香人妻天天爽| 丁香五月色情| 中文网婷婷字幕婷| 色视五月天婷婷| 婷婷五月AV| 九九色婷| 丁香婷婷丁香五月欧美人| www.五月.com| 久久久久久久91| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 99色热综合| 中文字幕在线不卡| 性爱七区| 色色色色色网站| 337p大胆噜噜噜噜噜91Av| 色五月婷婷1| 99免费视频精品| 91九色精品熟女内射| 91男人资源站| 五月婷婷色吧!| 欧美性爱五月天| 欧洲一区二区| 五月婷婷婷丁香播| 99伊人婷婷在线| 五月天综合区| 亚洲精品字幕在线观看| 五月丁香A片| 日韩 中文 欧美| 97人人操人人拍| 成人婷婷深爱综合网| 五月丁香婷婷成人网| 久婷婷五月综合欧美| 日本五月天一页| 成人 在线观看国产| 热99精品视频观看| 六月丁香网| 激情网战码亚洲A| 色婷婷久久| 国产免费一区二区三区三州老师F1F1.CC| 婷婷五月天成人综合网| 91综合视频丁香| 色色色色av777| 欧美成人一区二区三区在线视频 | 婷婷D区| 天天操夜夜夜拍拍拍| 中文字幕成人| 伊人成人宗合网| 午夜不卡久久精品无码免费 | 色九月| 丁香五月综合婷婷| 婷婷五月色播放| 久久激情五月| 丁香六月综合激情| 五月婷婷之六月丁香| 欧美三级巜人妻互换| 五月婷婷成人网首页| 五月婷婷六月天| 五月婷婷综合网| 婷五月天天| 日韩成人精品中文字幕| 国产精品久久久60086| 欧美A级成人婬片免费看理论| 九九视频精品在线免费| 97超碰99热99| 殴美激情综合网| 狼人久草| 国产精品久久久久久久久久| 夜丁香五月婷婷| 一起肏在线视频| 99色综合网| 99激情网| 色播激情| 久久久999精品| 激情五月天在线观看色婷婷| 狠狠干五月| 丁香五月香蕉| 噜噜噜狠狠色综合| 五月丁香婷婷色啪| 最新va在线播放| 婷婷六月色| 五月丁香欧美综合免费视频| 99精品高潮| 开心激情婷婷| 婷婷五月花西瓜| 色婷婷色情| 欧洲色| 五月丁香六月婷婷综合网站 | 久久精彩视频| 怡红院院在线导航网 | 婷婷五月天电影在线| www一起操在线观看| 丁香六月激情综合| 中文字幕乱轮| 伍月婷丁香婷| 日韩免费99| 国产成人综合网| 久久丁香五月婷| 99热亚洲| 色色热日| 日日干日日| 岛国av网站| 激情五月丁香综合蜜桃| 丁香五月激情综合婷综| 在线18av | 91超级碰在线视频| 婷婷五月天天aV| 三级三久久线久久99久目本WW| 久久五月婷综合| 99 re视频一区| 婷婷五月天激情网| 五月色婷婷中文字幕| 五月婷婷六月奇米网丁香| 影音先锋噜一噜| 色色色com| 第五色婷婷| 五月天成人在线视频网站| 丁香五月婷婷成人综合| 久久久婷| www.久久爱.com| 七七色综合| 国产精品18久久久| wwwss在线观看| 婷婷五月丁香在线视频| 99精品无码网站| 亚洲综合视频天天精品| 色欲九区| 婷婷丁香五月天影院 | 久久婷婷五月综合色奶水99啪| 激情人妻蜜夜系列区| 久久性爱视频网站| 久九色| 丁香五月成人婷婷| 亚洲激情婷婷| 婷婷五月天偷拍| 五月丁香婷婷久久| 97五月天婷婷午夜| 欧美天天爽| 五月丁香婷婷色| 九九99精品视频| 色色影院黄大片| 亚洲人成网站999综合| 欧美情色一区| 丁香五月婷婷天激情| 极品少妇高潮啪啪AV无码| 久久激情五月| 色综合五月| 五月天激情国产综合婷婷婷| 久久天天| 久热婷婷| 人妻内射一区二区在线视频| 国产精品涩涩涩视频网站| 五月丁香网站| 丁香五月六月婷婷自拍| 激情五月天之五月婷婷| 久热这里只有精品99re,久热这里只有精品7 | 婷婷区日本| 五月丁香在线视频观看| 精品色情一区二区三区四区| 五月婷婷色男女| 深爱婷婷色| 99热这里精| 丁香五月婷婷成人网| 色五月六月婷婷| 伊人五月成人| 色噜噜狠狠一区二区三区| 五月婷婷开心五月| 色爽九九| 99亚洲视频| 99热国品| 99啪视频在线观看| 超碰在线免费| 色七色九九| 狠狠色激情综合| 久久婷婷激情视频| 国产精品色婷婷99久久精品| 色色日本| 1024在线一区| 久久天堂精品| 免费AAAAA网| 五月综合激情综合久| 新精品99| 9久视频| 无码AV免费精品一区二区三区| 操大屄五月天视频| 1024婷婷综合久久五月天| 99久re热视频精品98| 99热精在线九九久久保| 五月婷婷丁香综合| www久| 久爱综合| www999日韩精品| 五月丁香婷婷无码A∨| 天天色激情| 日本在线视频www色| 99噜噜噜在线播放| 婷香狠狠爱五月| 五月天婷婷色色| 丁香婷婷色五月合集| 五月丁香在线| 欧美性生交XXXXX无码小说| 婷婷免费视频| 综合激情啪啪| 亚洲视频99| 亚洲九区| 好色婷婷| 天天干肏夜夜| 中文字幕综合网| 大香蕉色婷婷伊人在线| 超碰在线人妻| 99精品小视频| 婷婷五月花| 欧美色色干| 精品少妇蜜臀91| av九九| 激情国产五月| 五月丁香色婷婷婷基地| 五月天激情国产综合婷婷| 亚洲色啪| 色婷婷狠| 操操熟女| 五月色情婷婷开心五月天| 五月丁香六月综合激情| 五月婷婷综合在线亚洲视频| 大香蕉婷婷| 天天天天操| 婷婷五月色播天| 亭亭丁香aV| 色五月天丁香婷婷| 我想看国产大学生口爆吞精的视频| 天天综合色丁香| 久99在线视频| 涩 五月 婷婷 狠狠| www.爱操com.| 久热久| 国产亚洲在线| 五月婷婷六月天| 狠狠色网| 五月天婷婷无码| avh片在线观看| va中文资源在线观看| 亚洲热久久| 成人中文字幕在线| 五月天激情小说网| 婷婷五月综合色中文字幕| 性生活久久朋友人妻| 天天色粽合合合合合合合| 色婷婷影院| 97人人草| 狠狠色婷婷7777久| 欧美精品999| 大香蕉五月天婷婷丁香91| 99热这里只有精品8| 色综合久久无码| 久久丁香久久| 加勒比久热| 夜夜操天天干| 五月情涩综合婷婷| 思思精品视频| 2022人人操人人看| 天天干天天拍| 肏屄色播伊人97婷婷| 久久久精品人妻| 日本123区日韩欧美不卡在线看| 天天干狠狠艹| 丁香六月成人网| 5月婷婷激情在线| 9 9 9色色| WWW.17C亚洲精品| 91精品国产99久久久久久天美| 日日干日日| 天天日天天舔| 色色五月天婷婷丁香| 在线观看av网站| 91九色中文字幕女在线观看| 99热这里| 久9视频| 日日噜噜夜夜狠狠久久丁香六月| 丁香五月花婷婷开心| 九九热精品| 国产综合激情五月久久| 九月丁香八月婷婷加勒比| 久热只有这里精品| 激情国产五月| 婷婷色五月婷| 99久久婷婷国产综合精品草原| 久久a热| 色综合五月在线| 日B日潘金莲BB| 国产午夜一区二区三区| 思思99久久| 婷婷色在线| 亚洲五月丁| 国洲夜色亚热在线久久| 五月丁香999| 欧美精品久久久久久视频观看| 影音先锋五月婷婷| 婷婷五月激情视频在线| 大香蕉99| 日韩成人无码| 五月天亚洲综合网| 综合亚洲六月婷婷在线| 射婷婷中文字幕| 五月天婷婷成人网| 久久狠色噜噜狠狠狠狠97| 六月丁香AV| 超碰九色| http://www.lingjunshare.com/ | 九热视频| 色婷婷久久综合久色综| 丁香婷婷综合激情五月色| 强伦轩人妻一区二区电影| 亚洲色五月| 婷婷福利影院| 五月婷婷香| 婷婷五月天堂一本在线| 久久99网站| 五月丁香婷婷狠狠操| 99性视频| 色XX综合网| 五月丁香婷成人网| 99热色婷婷| 国产片XXXXA片国语对白| 2020日日干| 久久久精久人妻| 国产av影片| 人人操人人妻| 色五月网址| 97色啪| 婷婷五月天性| 青青草原中文字幕| 亚洲免费观看高清完整版AV线| 久久久国产精品黄毛片| 五月激情综合网| 婷婷五月图片小说网| 五月婷婷 欧美| 五月天激情四射网站| 新激情五月天| 国产精产国品一二三在观看| 一起草Av| 五月婷视频| 一区二区三区四区无码| 这里只有视频精品| 色色色99| 色丁香五月| Av在线不卡一区| 9久久狠狠的| 激情五月天色色网| 丁香五月婷婷啪| 天天色视频| 欧美激情-区二区三区| 日本在线视频手机播放五月婷| 91人妻人人做人碰人人爽九色| 99伊人婷婷在线| 最新国产AV| Av狠狠色丁香婷| 成人视频网| 另类专区在线观看| 色五月婷婷在线| 五月婷婷性爱| 亚洲中文字幕网| 久久久五月五丁香| 操九色| 激情丁香五月| 丁香五月婷婷基地| 五月婷婷丁香网| 欧美亚洲操逼| 天天干天天爽天天爽| www.日日夜夜| 99在线视频在线观看| www婷婷亚洲| 天天综合色丁香| 亚洲激情淫网| 美女婷婷六月色| 色婷婷丁香五月在线| aaaaaa片| 色丁香在线视频| 丁香婷婷六月天| 婷婷五月天亚洲激情戏精品| 99这里只有精品在线| 色婷婷五月婷婷五月婷婷五月| 午夜精品777| 五月丁香黄色| 中文乱子伦视频| 五月欧美丁香在线观看| 9l视频自拍9l九色9l成人| 99热在线观看精品| 五月丁香六月婷婷久久| 91超级碰碰| 逼特逼在线免费播放| 热日韩欧美| 婷婷综合偷拍| 成人五月天丁香婷| 五月色综合| 色播五月丁香婷婷| 欧美激情凹凸丁香网| 天天日天天爽夜夜爽| 五月丁香大相交| 人人摸人人搞| 五月婷婷丁香六月| 色小说婷婷五月天天天| 丁香六月亚洲综合| 天天在线XXX| 丁香五月欧美成人| 亚洲色五月| 天天日日| 日亚二欧美| 97干视频在线| 人人摸人人搞| 五月天网址在线刘玥| 91人人人人人人人| 婷婷色九月| 翔田千里aV中文字幕| 99热99色| 色婷婷丁香五月| 1024操逼| 五月婷婷,狠狠操| 丁香丁香激情网| 婷婷五月天在线观看免费| 日本色99| 亚洲亚洲人成综合网络| 五月婷婷亚洲色图| 免费AAAAA网| 情婷婷五月天| 91九九| se色婷婷视频| 日韩在线视频网站| 五月丁香六月婷婷不卡免费无码| 狠狠色综合精品视频在线| 激情五月丁香五月| 色综合婷婷99| 午夜丁香丁香婷婷| 夜丁香五月婷婷| 99热这里只有精品5| 亚洲综合碰| 婷婷色播色五月五色五月天色妇| 丁香五月天天高清在线| 婷婷丁香五月麻豆| 日本97在线观看| 色婷婷黄色网络| Www.激情| 少妇大叫太大太粗太爽了A片| 色站9/| 天天色综合色| 激情综合无码| 五月开心啪啪| 97婷婷丁香五月天激情图片| 日韩在线视频网站| 三日本无码| 色色网站在线免费观看视频| 999久久久国产精品| 色婷婷香蕉在线| 亚洲日本激情| 五月天丁香综合久久国产| www九九免费视频| 99色6爱9热| 丁香婷五月天开心六月| 99青青草99| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 九一99| 久久er99热精品一区二区| 伊人久久大香蕉网| 亚洲日日日| 欧美十二区| 狠狠人人| 婷婷五月av| 99热日本| 爆乳熟妇一区二区三区爆乳照片| 韩国97天堂| 久99久热只有精品国产99| 99热激情| 97色婷婷| www色色色com| 97人凄人人操人人爽| 另类综合色| 991自拍视频| 色五月色综合| 麻豆AV一区二区三区| 99色在线观看免费| 激情婷婷五月天| 色色丁香婷婷综合| 色色色在线观看| 久久香蕉婷婷| 天天日天天草| www久久久久久| 99ri视频在线观看| 夜丁香五月婷婷| 91女人18毛片水多国产| 人人看人人摸人人| 女同在线9| 99久久精品视频女神1| 91男人操女人视频| 天天操夜夜肏| 91操女| 六月婷婷久久大全| HD久久精品视频| 俺去也综合| 青996青| www.五月婷婷.com| 亚洲啪视频| 热99这就是精品视频| 丁香五月天在线观看视频| 99热8| 丁香六月色情| 伊人99久久| 五月婷婷六月少妇激情| 性爱网六月丁香| 97丁香五月| 综合久| 99自拍视频| 五月丁香婷婷啪啪综合网| 色噜噜狠狠狠狠色综合久欧美| 操日挥操日日| 色婷成人狠干| 婷婷五月激情欧美| 久久婷婷六月| 人人艹艹艹| 激情文学五月丁香六月婷婷| 久婷婷五月综合欧美| 激情综合区| Av性爱网| BlACKEDRAW视频一区二区| 久久激情网| 婷婷丁香五月亚洲欧美| 亚洲日韩一页精品发布| 婷婷五月视频| 天堂成人久久| 亚洲成人在线播放| 开心五月天激情网站| www.色9| 激情综合五月婷婷| 这里只有精品69| 91 原创 在线 九色| 亚洲色网址| 丁香五月 六月婷婷首页| 9 1在线视频| 欧美性爱五月天| 天天舔天天摸天天透| 超碰在线超碰| CHINESE熟女老女人HD视频| Www,五月天| 深夜男女福利刺激影院一区| 亚洲视频一区| 久色激情| 成人色五月天| 九九精品热播| 精品国产乱码久久久久久免费| 色色AV色色色东莞| 五月天色狠狠| 4399欧美另类视频| 激情综合五月| 超碰网站在线观看| 人色五月天婷婷| 韩国19 主播内部福利vip免费播放| 婷婷丁香五月天激情| 亚洲日日操| 综合综合色色| 丁香久月婷| 日韩乱轮AV| 超碰狠狠操| 国产婷婷五月在线视频| tingtingjiqingwuyue| 色噜噜五月丁香婷婷| 蜜臀AV在线观看| 99狠狠色| 欧美人人草| 国产欧美婷婷五月| 久久久99久久| 91精品国产综合久久蜜芽解析速度| 五月丁香综合网| 久久99精品久久久久久噜噜| 天天成人综合视频| 青青草性爱视频| 色九月欧美| 五月天啪啪网| 午夜天堂一区人妻| 久热久| 97色操| 欧州色色| 色五月婷婷啪啪五月| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 日本操B视频在线观看| 亚洲欧洲另类| 9l视频自拍九色9l视频在线观看| 97丨九色丨国产丨PORNY| 人妻熟妇国产精品| 综合啪啪| 欧美激情综合五月色丁香| 精品99网站| 成人深爱丁香五月| 97干在线视频| 影音先锋四区| 狠狠色丁香婷婷五月| 婷婷五月天最新网址| 国产成人精品一区二三区熟女在线 | 97久久久| 色噜噜狠狠色综合网| 丁香五月婷婷色偷偷| 婷婷六月成人| 久久久久久久久18久久| 99视频这里有精品| 风流少妇A片一区二区蜜桃| 天天日天天操心| 九九热精品| 丁香婷婷六月| 激情第四色| 综合色播| 香蕉婷婷| 欧美在线视频99| 91久久久久久久| 26uuu国产| 天天干天天干天天干| 五月综合激情| 国产精品久久久久久妇女6080| 五月婷婷六月丁香| www色五月| 天天色视频| 色婷婷五月天| 全部老头和老太XXXXX| 在线看的免费网站| 欧美综合激情| 日本在线观看aaa 99| 天天操天天国产三级片处女学生妹| 91高潮喷水久久久久久久久| 色 噜噜 九月 婷婷| 五月天基地| 久久精品99久久| 欧美精品999| 久久婷婷五月国产激情综合片| www。狠狠干。com| 丁香婷五月天| 婷婷五月天成人综合网| 色久综合| 99视频在线播放大全| 一级性感黄色内射视频| 色噜噜婷婷| 都市激情蜜桃婷婷五月天 | 夜色综合网| 91色色色| 丁香五月婷婷五月| 五月婷婷丁香日韩在线| 丁香五月婷婷久久久| 五月天社区婷婷丁香社区| 综合色五月| 久久与婷婷| www.开心激情| 婷婷月综合| 色色操| 熟妇天天综合| 人妻AV在线观看| 色爱综合视频| 欧美日韩aaaa| 国产精品成人AV在线| 丁香六月综合激情| 色综合99色| 中文字幕不卡+婷婷五月| 激情六月丁香综合| 999影院成人在线影院| 欧美日本国产欧美日本韩国99| 色婷婷亚洲婷婷| 超碰无码老师| 欧美内射AA| 久久深爱激情网| 九色自拍| 狠狠人人| 夜夜操天天爽| www.黄色片-久久成人国产精品在线播放-999AV | 色婷婷综合视频| 婷婷九月色| 淫视馆av三区| PORNY九色9l自拍视频成人| 亭亭色天香| 久久99久久99精品免观看粉嫩| 被男人添B超爽视频| 色一情一乱一乱一区9| 五月婷婷丁香深深爱| 亚洲综合色色| 色啪网| 2022人人操人人看| 色小说婷婷五月天天天| 欧美丁香五月| 男女啪啪做爰高潮无遮挡 | 五月天色色色色色| 久久亚洲婷婷综合色五月| 五月丁香六月情| 国产人妻人伦精品一区二区| 欧美性久| 色婷婷丁香五月色综合网| 色婷婷丁香五月| 碰久久精品w| 99热国产这里只有| 久久久性爱视频| 大香蕉丁香婷婷| 开心五月激情| 色色色五月婷| 婷婷丁香六月天激情四射网| 都市激情蜜桃婷婷五月天 | 免费无码毛片一区二区A片| 九九99九九99偷拍视频免费看| 精品无码99| 国产真人做爰视频免费| av色婷婷| 99视频精品全部观看10| 操人妻AV| www.25五月婷婷| 激情99| 丁香五月性爱爱五月| 丁香五月天无码| 欧美激情VA永久在线播放| www.99精品在线| 操人妻视频91| 超pen个人视频97| 久久久久婷婷五月热综合| aa久久| 天堂综合久久| 五月六月伦理| 婷婷五月丁香激情| 五月天亚洲最大成人| 综合激情站| 五月婷精品| 色五月激情五月开心五月| 日本在线观看99| 五月丁综合在线观看| 五月婷婷啪啪| 思思久久99热| 久久婷婷色| 97影院一级片| 欧美久久网| 99re免费在线视频| 色婷婷综合网| 国产色99| 色99在线观看| 一本狠婷婷综合| 天天综合影院| 久婷婷久草| www.激情五月天| 国内精品免费一区二区2009| 99爱精品视频| JlZZJlZZ8JlZZ亚洲熟女| 天天射夜夜骑| 99在线看视频| 色深爱五月| 淫荡A片| 九九热婷婷| 大香蕉啪啪| 色色色色五月| 丁香 婷婷 激情 综合 五月 | 色色色五月天婷婷| 热99精品视频| 一起草aV|