99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

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网站| 日本WWW九九九| 五月丁香成人视频| 日本啪啪网| 996er热| 五月丁香久久呀| 人妻激情在线| 色婷婷欧美在线| 玖玖色综合色| 67194中文字幕| 免费国产视频| 极品人妻VIDEOSSS人妻| 五月婷婷在线免费观看| 久久久com| 婷婷五月天小说| 五月天婷婷色播在线网| 伊人玖玖综合| 五月丁香色色网| 2025天天爽天天摸| 色婷婷激情五月天| 婷婷久久久| oumeisesewang| 激情综合网激情五月婷婷| 婷婷五亚洲| 丁香五月婷婷欧美成人色图| 天天插综合| 色五月成人婷婷| 666555。COm毛片| 综合五月激情网| 九热电影av| 狠狠香蕉| 六月丁香社区| 亚洲网站在线鸭子av| 99在线精品免费视频| 五月婷色激情五月| 99热网站| 久久婷婷五月综合色和| 99热在线只有精品| WWW,五月| 久久视频这里都是精品| www.99热精品| 激情婷婷丁香| 性色五月天| 五月天婷婷五月| 五月丁香欧美综合| 色啪久| 丝袜激情网| 欧美婷婷六月丁香综合色连续高潮抽搐| 综合色、色综合| 国产精品色| 99热精品在线播放观看| 日本久久婷| 97干干干丁香| 亚洲成人网在线观看| 九九视频精品在线免费| 99视频内射三四| 激情综合网激情五月俺也去| 国产精品美女| 激情av在线| 欧美婷婷五月激情| 99欧美| 丁香婷婷综合影院| AAA级久久久精品| 99精品视频在线观看| 六月伊人婷婷| 天天日天天狠狠操| 色天堂A| 国产69久久久欧美黑人A片| 天天干天天操天天爽| 热的国产,热的综合,热的有码| 色天堂操| 四季日韩AV无码综合| 激情五月婷婷| 99色色爰| 另类精品视频在线观看| 香蕉97碰碰碰超视精品| 婷婷丁香婷婷97| 婷婷综合五月天| 婷婷激情在线| 亚洲婷婷欧美婷婷| 五月天婷婷爱| 思思热在线免费视频| 久久这里这里有精品免费视频| 黄色AAAAAAA| 色一情一乱一伦一区二区三区| 丁香婷婷色色| 婷婷五月天影视首页| 这里只有精品,日韩视频| 色综合狠狠色| 五月丁香六月婷婷久久| 久久五月婷综合网| AV大片在线观看| 欧美性生交XXXXX无码小说| 日本超碰在线| 久久免费操| 丁香五月天在线| 夜夜夜夜操| av网址在线| 5五月综合网亚洲| 97碰碰叉| 色色综合网www| 五月丁香六月| 最近韩国日本免费高清观看| 北京熟妇搡BBBB搡BBBB| 五月综合激情婷婷六月色窝| 欧美人与性动交CCOO| 1024人妻| 色99视频| 丁香五月影院| 大香蕉久久视频久久视频| 丁香色婷婷| 99热伊人| 五月丁香六月激情在线| 欧美韩国日本| AⅤ网站在线看| 天天干天天干天天干天天干天天| 久久五月天激情视频| 日本的α片xxxwww| 丁香五月激情六月综合| 久久这里只有国产视频| 婷婷色基地| 思思久日精品视频| 五月欧美丁香在线观看| 丁香伊人网| 97超碰在线免费观看| 久热免费视频| 一起草av| 狠狠精品干练久久久无码中文字幕 | 丁香五月婷婷欧美性爱| 韩国97天堂| 婷婷五月丁香99| 97碰91| 色婷婷亚洲综合天堂| 久久丁香网| 免费观看日韩成人av| 精品五月花| 五月天大香蕉视频| 色播五月综合网| 婷婷丁香成人五月天| 日本黄色在线观看| 思思热久久阴99| 亚洲综合视频天天精品| 甈你aaaaa| 五月婷网站| 五月激情偷拍| 狼人久草| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 色婷婷基地在线| 五月天亚洲图片婷婷| site:jszngf.com| 在线观看免费观看在线9久| 黄色中文字目| 激情五月色综合网| 99热无码精品| 五月网在线| 青青草五月天| 色婷婷亚洲婷婷| 夜精品无码A片一区二区蜜桃| 亚洲成人影视在线| 五月综合激情| 日日射天天射| 91婷婷色| 九色99视频| 九月婷婷综合网| 色婷婷欧美| 99热这里只有精品13| 九九爱激情| 这里只有精品视频| 欧美成人猛片AAAAAAA| 婷婷五月天成人视频| 九九热99久久99| 色播婷婷五月天| 久久996re热这里只有精品无码| 婷婷丁香五月综合激情小说| 97色婷| 影音先锋女人AA鲁色资源| 久久久亚洲成人无码A片| 五月色丁香| 色必久悠悠影院| WWW,五月| 天天谢天天操| 婷婷五月天AV| 碰久久精品w| 五月丁香999| 五月天成人在线| 六月婷久久| 欧美 日韩 人妻 高清 中文| 激情四射婷婷| 69色色视频| 色玖玖综合网| 激情骚五月| 婷婷丁香六月综合激情站| site:feetmall.com| 欧美日本黄色| 精品九九久久| 夜夜天天久久婷婷| 热久久99热欧美国产亚洲| 亚洲AV成人无码精品| 国产精品99久久久久久猫咪| 婷婷激情五月天在线| 激情av| 91人妻人人操| www.日日日.com| 超碰资源在线| 亚洲无码免费看| 色婷婷中文字母五月丁香| www.色色色色| 五月Huangsewang| 9色在线视频| 久久婷婷五月综合色和| 91av传媒高清在线视频网| 国产色网站| 乱色色色| 少妇水多A片太爽了| 91玖玖| 99久久综合| 免费无码毛片一区二区A片| 2016日日夜夜操| 久久99热 这里有精品| 婷婷五月在线综合| 丁香婷婷六月天| 蒲京久久无码视频| 色五月开心开心五月激情五月| 日韩啪啪视频| 五月丁香成人| 啪色综合| 亚洲操B视频| 99久久综合精品五月天| 色五月激情五月| 99热九九这里只有精品| 激情另类综合| 超碰激情网| 六九色综合婷婷五月天| 亚洲AV永久无码影院黑人| 婷婷涩涩网| 99这里有精品视频| 丁香婷婷五月天网站| 99久在线视频| 丁香五月激情棕合| 久久精品视频99| 五月婷婷成人| 久久久久婷| 色色色色色色色色色色色色色五月天| 丁香五月a| 丁香狠狠干| 婷婷丁香成人在线视频| 国产精品人成A片一区二区| 最新日本A片| 日韩一级片| 色噜噜夜夜夜综合网| 噜噜狠狠色综无码久久合欧美| 大香蕉视频婷婷| 婷婷六月插屄激情| 成人五月天综合网| 日韩爱操视频| 97超级碰碰碰| 天天搡日日搡aaaaⅩ| 亚洲综合成人网站| 五月天婷婷伊人| 大香蕉久操| 久久久久久99精品无码| 9久久婷婷国产综合精品性色| 色噜久| 色五月天电影| 99九九在线| 玖玖综合网| 国产五月天婷婷| 操操自拍| 婷婷激情肏屄网| 色综合99| 五月天激情婷婷五月天久久| 一级韩国产精品毛| 99啪| 天天做天天爱天天爽在| 任你干aa| 无码色| 丁香久久综合| 91久久婷婷| site:minyis.com| 免费看欧美成人A片无码| 五月婷婷 六月丁香| 99热 精品在线| 五月丁香六月婷婷手机无线| 啪啪东京热| 五月丁香激情综合啪啪| 任你草| 成人综合网站| 五月婷婷基地| 婷婷九月丁香| XX色综合| 香蕉人在线香蕉人在线 | 五月丁香六月婷婷成人| 久久人妻情侣| www.久9| 久色激情| 99热这里只有精品手机在线观看| 91操黄| 天天爱天天秀天天做| 激情婷婷丁香五月天| 夜夜干夜夜操| 九九激情视频| 久久综合99| 中文字幕无码人妻少妇免费视频 | 欧美日韩aaaa| 色婷婷操逼| 白人荫道BBWBBB大荫道| 婷婷五月天基地| 色五月天影视| 爆乳熟女-区二区三区| 欧美色色色色色色色| 综合五月天亚洲婷婷| 婷婷中合| 99热婷婷| 五月丁香六月情| 色五月激情网| 丁香六月欧美| 欧美日韩91| 久久99热久久99精品| 激情丁香婷婷| 葵花AV在线| 91丨九色丨大屁股| 色五月天成人| 色婷婷婷婷成人网| 99riAV国产精品视频| 色五月综合| 婷婷五月色播放| 久久五月天色婷婷| 人妻中文字幕网| 九九在线视频| 婷婷五月天社区| 少妇婷婷五月天| 无码AV免费精品一区二区三区| 无码激情| 免费碰碰视频久| 啪啪啪大香蕉| 思思久久思思| 天天天天操| 激情五月综合网| 久久99jiu9| 丁香六月婷婷综合色| 欧美人人草| AV大香蕉| 中文AV在线观看| 日本在线免费中文com.| 婷婷天堂综合| 超91在线视频| 日本噜噜色网| 婷婷亚洲综合| 色情婷婷。| 亚洲色五月婷婷| 精品乱码视频| 色婷婷日本| 亚洲V国产V欧美V久久久久久| 91色碰| 婷婷五月天激情在线观看| 91久久电影| 成人.在线日韩| 亚洲精品视频在线播放| 思思热在线观看| 日本不卡高字幕在线2019| 婷婷天堂综合| 视频一二区| 99久| 欧美色六月婷婷| 色色色色色色色色五月先| 狠狠色婷| 欧美va| 天天爽夜夜操| 久热九九| 五月丁香激情婷婷| 午夜免费高清AV片| 美英法精品无码免费视频| 综合久久婷婷| 99久久精| 999热在线视频| 伊人大香蕉综合在线| 亚洲激情视频网| 久久婷婷综合五月天| 亚洲av网址| 天天干夜夜欢| 风流少妇A片一区二区蜜桃 | 欧美日本韩国亚洲| 色综合久久五月| 成人AV免费观看| 色色影院黄大片| 五月婷婷六月婷| 色婷婷基地 | 久操b网| 亚洲在线操| 丁香综合久久| 欧美黄色韩日网| 操逼视频网址| www.ppypp| 日韩二区搞逼插逼毛片| 人妻在线中文字幕久久| 中文字幕无码人妻少妇免费视频 | 狠狠色丁香婷婷| 伊人久久五月天| 国产午夜精品一区二区三区嫩草| 日本丁香五月婷婷| 99热这里有精品| 欧美成人Va| 日本色色色| 五月婷在线观看| 亚洲综合五月天婷婷丁香| 成人在线视频一区| 99热在线看片| 99热在线观看精品| 五月天成人综合| 五月天婷婷网站888| WWW免费视频碰碰碰碰| 91日精品| 久大香蕉| 色色丁香| 色五月婷婷五月天| 婷婷五月婷婷五月天| AV成人在线网站| 另类小说婷婷色| 久久五月天激情| 人妻操操色| 曰韩五月丁香色婷婷无码| 99精品网站| 90色免费视频| 狠狠搞狠狠操| 伊人激情综合网| 婷婷久久五月| 秋霞午夜理论| 婷婷丁香五月综合网| 欧美色色色| 67久久| 丁香五月婷婷色情综合| 爆乳熟女一区二区三区爆乳| 综合色图区| 五月天激情四射| 久久a热| 激情五月天婷婷免费观看| 99热伊人| 五月丁香基地| 欧美性久| 天天干天天干天天操| 成人免费黄色短视频| 婷婷激情区| 亚洲精级| 99riAV国产精品视频| 超碰人人色| 99视频在线| 天天做天天干天天综合网 | 九热免费视频| 久久婷婷五月国产色综合激情| 久久香蕉网| 色婷婷六月精品| 婷五月天| 婷婷金品综合视频| 五月丁香六月婷婷玖玖| caopeng97人人| 色噜噜狠狠色综合成人99| 色色婷婷丁香| 丁香五月大香蕉在线99| 五月丁香综合网| 伊人久久艹| 国产精品99久久久久久久女警| 五月激情五月婷婷五月天在线| 亚洲xx网| 开心五月激情网| 性天天中文网| 激情久久五月天| 丁香婷婷综合激情五月色| 能直接看的AV网站| 成人网址在线观看| 在线视频婷婷| 亚洲AV日韩无码| 婷婷五月丁香狠狠| 99热一本久道| 国产毛片精品一区二区色欲黄A片 欧美交换配乱吟粗大25P | 婷婷五月激情在线| 九九九九国产| 噢美99| 婷婷综合亚洲| 2w在线视频| 91精品综合久久婷婷九色| 色综合色色| 综合色五月| 99精品久久| 久9精品视频在线| 大香蕉啪啪啪| 青青久久91| 亚洲日日日| 性天天中文网| 久久这里只精品66| 国产精品视频网| 人人摸人人干| 五月丁香亭亭| 国产精品色一哟哟| 婷婷操逼| 97超碰在线观看免费| 激情丁香五月婷婷| 欧美日韩成人在线网站| 9久热这里只有精品视频| 人妻激情视频| 影音先锋高清无码资源网| 久久久性爱视频| 激情 婷婷 插| 99成人网一区| 操日本三片99| 激情AV综合| 欧美激情综合| 丁香婷婷性久久| 夜夜操夜夜姧| 综合狠狠伊人| 亚洲婷婷婷| 五月综合激情久久| 啊v视频在线观看| 五月天另类激情在线| 91啪级电影| 亚洲第一黄网| 色噜久| 日韩丁香涩| 久久六月综合| 五月丁香亭亭操逼| 久久久精品人妻| 五月丁香六月婷婷综合伊人| 五月丁香六月婷婷精品| w婷婷五月婷婷w| 久久久久视剧HD| 粉嫩AV久久一区二区三区| 97香蕉碰碰人妻国产欧美| 丁香五月婷综合网| 99色播| 激情宗合哪里能看| 婷婷亚洲综合| 丁香五月综合激情性爱| 丁香六月欧美| 久久婷婷五月综合网| 国产乱子轮XXX农村| 狠狠色综合网| 97碰碰视频| 久久视频这里99| 提提热五月天婷婷| 久久激情综合| 五月婷婷伦理| 久热久色| 九九日本视频| 伊人99热| 色色激情网| 婷婷成人在线| 久久婷婷东京热大香樵| 97操碰在线97| 激情精品久久| 91丨九色丨首页| 免费无码毛片一区二区A片| 日日操日日撸| 久久九九色| 成人短视频在线| 日本3级片一区2区| 91日视频| 久久看婷婷| 国产精品美女| 一区二区免费看| 婷婷五月天狠狠色| 99热精品在线观看| 超碰99资源站| 啪啪 综合网| 99热综合色图| 97狠狠色| 色色色9| 五月婷婷色| 丁香五月天堂| 婷婷五月天色| 色婷婷综合网| BBWCUCKOLD精品熟妇| 色婷婷丁香A片区毛片区女人区| 五月丁香色情| 欧美丰满熟妇BBB久久久| 日日日日日| 99国产精品久久久久久久久久久| 青草视频在线观看视频| 色情终和网| 5月丁香美女影院| 婷婷狠狠综合网入口| www.ywav| 色天堂操| 色色色综合色| 六月99天天婷婷激情综合| 色综合色| 77799热| 五月亭亭激情综合| 99久久免费精品| 九九热在线视频观看| 日韩AAAAA| 97丁香五月| 久久婷色| 强壮的公次次弄得我高潮A片日本 | 色婷婷成人做爰A片免费看网站| 少妇性BBB搡BBB爽爽爽视頻| 丁香五月婷婷国产av| 4438全国最大视频成人网站在线观看| 4399欧美另类视频| 九九五月天| 第四色色六月色综合| 五月婷婷丁香大陆免费| 激情五月天无人视频在线| 香蕉人在线香蕉人在线 | www.99久| 国产精品久久久久久久久久| 99国产97在线,| 亚洲视频国产一区| 五月天婷婷色五月天| 五月丁香婷婷激情| 丁香五月婷婷色情综合| www.久久久.com| 天天干天天拍| 99热爆在线| 日韩五月婷婷| wWwCom夜操wwW| 激情都市五月天| 精品无吗va视频免费观看| 五月婷婷av| 99网| 九月av在线| 久/久精品99看9| 97婷婷丁香五月| 欧洲色| 99热都是精品| 最新婷婷五月丁香| 九九热黄色| 亚洲六月婷| 色色热| 一起草av| 五月婷婷九九久久| 五月天开心激情网色欲无码| 亚美欧色影院| 人妻久久久久久| 婷婷五月丁香综合亚洲| -91九色大屁股| 亚洲女婷婷五月基地综合久久久| 97色色色| 图片区 小说区 区 亚洲五月| 国产亚洲成AV人片在线| 色婷婷XXXXX| 亚洲色婷婷视频| 99久久99久久综合| 五月丁香色色色| 99热欧美| 天天操综合网站| 日韩中文欧美| 久久婷婷五月综合色天| 亚洲无码成人网| 色欲AV导航| 五月天亭亭俺也| 亚洲综合碰| 激情五月开心五月在线视频| 久久久久er热| 另类小说五月天| 久久久久久久8| 午夜九九电影| 精品激情| 激情丁香五月天图片| 色播五月婷婷综合| www.色婷婷.com| 91男同视频| 大香蕉综合| 九九热99热| 六月天婷婷| 狠狠情色| 99惹精品视频| 六月婷婷综合| 久久久久久久久久91| 亚洲综合婷婷五月天| 亚洲中文字幕AV| 伊人久久大香| 婷婷黄色五月天在线视频| 14色综合婷婷| 99久久婷婷国产综合亚洲| 丁香五月在线伊人| www久久久久久久97| 黄色片avv| 狠狠88综合久久久久噜噜噜| 亚洲综合网 665566| 色护士综合| 日本ww亚洲| 99re8在这里只有精品| 亚洲AV免费国产电影| 五月婷婷乱| 婷婷操逼| 99操| 亚洲愉拍99热成人精品| 亚洲另类毛片| 久久激情五月天| 中文成人在线| 综合五月草 | 色综合性视频| 99在线精品观看99| 五月丁香激情啪啪| 五月婷婷色综图片| 碰人人操| 五月丁香综合在线| 91美女艹逼网站| 涩涩网五月天| 久久久国产精品黄毛片| 婷婷久久婷婷色五月| 六月丁香久久| 欧美大香蕉视频| 97色色网| 欧美日韩国产一区二区| 亚洲成人五月天| Aaa久久| 九月婷婷丁香| 日本二级毛片二级毛片| 青青草深爱激情网| 双性美人被调教到喷水A片| 五月丁婷香| 色玖玖| 日本久久综合| 97香蕉碰碰人妻国产欧美| 手机在线日韩视频中文字幕| 五月天婷婷激情| 最新AV在线观看| 人妻久久久久久久 | 99色在线| 天天开心天天色| 欧美精品999| 九九99免费理论| 色婷操逼| 色九九综合| 五月天综合网| 五月丁香美女视频| 婷婷99狠狠| 狠狠色噜噜狠狠色噜噜噜999| 婷婷激情六月| 五月天婷婷午夜丁香| 日本九九九九| 另类图片五月天婷婷| JAPANRCEP老熟妇乱子伦视频| 色色亚洲无码| 亚洲中文字幕在线观看| 欧美综合在线五月天色婷婷| 人碰人人人玩91| 99热久久这里只有精品2010| 日韩成人电泉AV| 79精品视频在线观看,| 性爱人人网| 色五月婷婷操逼| 久久久久9| 九九热精品视频在线观看| 亚洲色激婷| 北条麻妃九九九国产精品视频| 婷婷射图五月天| 国产高清视频91九九九久久久| 五月天国产婷婷精品视频在线| 伊人热婷婷| 五月天操逼网| 男人的天堂999| 国产精品18久久久| 夜夜爽天天日| 丁香 亚洲 久久| 超碰91在线| 六月激情婷婷色| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 五月综合色播播丁香婷婷| 玖玖热99| 九九热av| 激情com| 激情五月婷婷视频| 日日夜夜狠狠| 久久久人妻人伦| 性做爰1一7伦| 丁香五月天在线| 九九综合色综合| 99久视频| 婷婷五月综合啪| 97人操| 婷香五月激情视频| 五月天婷婷乱| 涩涩婷婷五月| 夜夜谢天天干| 激情九九这里只有精品| 97色色综合| 婷婷在线视频| 婷婷激情五月色综合| 五月天久久www| 婷婷综合网| 99成人免费热视频| 久99久视频| 夜夜嗨一区二区三区直播内容 | 66久久视频在线| 夜色爱爱亚洲| 色综合激情| 天天干天天色天天干| 色色综合激情| 欧美性做爰大片免费看办公室 | 丁香婷婷五月天网站| H亚洲| 欧美日韩99| 狠狠色狠狠色综合日日91| 97色啪| 桃色成人网| 久久这里只有精品8| 欧美狠狠草| 97人人干。| 思思热这里只有精品| 久久免费婷婷视频| 亚洲亚洲人成综合网络| 五月天久久91| 亚洲精99| 超碰a女人的天堂| 国产欧美精品AAAAAA片| 99久久玖玖| 热久久66| 九九九色综合| 99ri精品在线观看| www.五月天婷婷| 日日夜夜天天综合| wuyuedingxiang99| 丁香五月婷婷天堂大香蕉| 99啪啪| 国产午夜精品一区二区| 六月天六月婷| 第四色激情网| 中文字幕精品推荐免费在线观| 狠狠干无码| 99re8在这里只有精品| 色婷婷欧美在线| 99玖玖在线视频| 黄色片久久| 狠狠综合| 极品人妻VideOssS人妻| 99精品视频在线| 久久五月视频| 激情婷| www久视频com| 激情综合色| 天天爱天天做天天| 激情婷婷狠狠干| 99在线精品观看99| Caop在线| 亚洲无码性爱| 欧美大肥婆大肥BBBBB| 激情六月婷婷| 丁香六月成人| 丁香五月天激情AV| a色色色色色| 99日逼视频| 色婷婷五月综合色婷婷| 欧美大片| 国产精品美女| 国产熟女一区二区三区五月婷| 色吧五月婷婷| 久久九九99亚洲国产久精综合| 国产激情综合| 涩九九九九| 97人人操com| 激情五月天久久| 91欧美| 79精品视频在线观看,| 五月 激情视频| 成人丁香婷婷| 丁香五月天视频在线播放| 色噜噜,噜噜色| 91婷婷丁香五月天免费视频网站| 九九热re99re6在线精品| 婷婷丁香综合在线| 思思干精品| 97丨九色丨国产丨PORNY| 婷婷五月天影院| 婷婷五月色情天| 国产精品视频免费看| 天天日夜夜拍| 婷婷五月成人系列| 这里只有精品视频一区| 天天日夜夜夜操操操操| 久久久er热| 色五月xxx| 《诡秘之主》在线观看 | 激情五月四色| 懂色av粉嫩av蜜臀av| 丁香五月影院| 久久综合九九| 精品久热| www.激情| 超碰在线成人| 99热婷婷| 婷婷丁香在线| www.色五月| 亚洲黄色影视| 99热精品在线观看| 九九热精品| 色激情五月天| 欧美精品XXXXBBBB| 久久er99热精品一区二区| 婷婷五月影院| 成熟妇人A片免费看网站| 免费看欧美成人A片无码| 国产精品大香蕉| www超碰| 91婷婷| 最近中文字幕2019视频1| 五月丁香| 精品香蕉99久久久久网站| 久久AV无码精品人妻系列试探| 亚洲亚洲人成综合网络| 激情文学综合婷婷五月天丁香花| 91久久精品国产91性色TV| 五月丁香六月片| 在线免费视频caop| 国产综合A片| 欧美性交一区二区三区| 亚洲午夜一区二区| 9操在线| 婷婷九月| 电影《战争与艾拉》免费观看| 婷婷五月深深的爱| 综合视频五月| 99在线亚洲| 激情五月天视频| 91丨九色丨熟女|新版| 午夜激情综合| 六月婷婷综合| 日本欧美成人片AAAA| 日本黄色三级片内射| 激情婷婷五月丁香啪啪啪| 午夜丁香久久久久久| 看逼中文字幕| 婷婷射综合| 亚洲操操| 五月夜丁香| 99热只有精| 久久激情网| www.91久久| 99热久久这里只有精品| 丁香五月天堂婷婷| 亚洲国产网站| 久操综合| 99精品视频在线免费观看| 丁香5月啪啪| 九九久热| 久操无码| 四虎国产精品永久在线国在线| 2050人人操免费工开爱 | 97色色网| 婷婷伊人综合| 99操无码视频观看| 亚洲五月丁香综合网| 提提热五月天婷婷| 夜夜骑夜夜撸| 五月丁香| 免费观看全黄做爰的视频| 综合九色| 丁香五月久久| 五月婷婷五月天天| 五月性色| 激情五月天社区| 婷婷五月花.97| 99久久99视频| 蜜臀av无码久久久久久久久| 天天舔天天摸天天透| 庭庭久久内射| 深爱激情五月天| 久久99免费视频| www激情| 久久在线人妻| 五月天激情久久| 国产精产国品一二三在观看 | 五月天激情综合| www.夜夜爱.com| 激情综合婷婷| 狠狠狠狠操| 婷婷的99视频网站| 人人人操 超碰| 第四色五月婷婷| 五月丁香婷婷无码A∨| 婷婷五月丁香六月综合网| 天天色视频| 九九色中文| 亚州精品色情无码A片| 久久久人妻门| 九九性视频| 久久婷婷五月综合网| 超碰免费人人| 国产精品热搜丁香五月婷婷| 色婷婷五月综合| 男同色五月开心五月激情五月| 婷婷五月亚洲综合| 久久这里只有欧美| 26uuu成人网| 久青草大香蕉| 欧美丁香六月在线观看视频| 久久人妻精品| 久久9热好| 97超碰人人操| 色色网五月激情| 99操碰| 色玖玖玖| 激情亚洲色图片丁香综合| 五月婷婷偷拍| 日韩五月婷婷久久| 成人五月天在线观看| 色亚洲激情| 五月丁香成人网| 91久久综合亚洲噜噜成人在线 | 九九热九九| 六月丁香激情网| 激情丁香五月| 伊人久久婷| 天天操夜夜橾| 538在线精品| 色色激情网| 超碰1999| 麻豆WWWCOM内射软件| 激情婷婷色色| 综合色色色色色色| 搡BBBB搡BBB搡五十| 欧美色图天堂网| www.五月丁香| 天堂在线观看视频| 婷婷丁香六月五月天| 色婷婷a v| 东北熟女高潮99综合99| 日本在线免费中文com.| 九九aV| 婷婷刺激综合| 色色色.COM| 亚洲精品白浆高清久久久久久| 亚洲欧美成人在线| 丁香六月婷婷久久综合| 欧美性爱专区| 久久99久久99精品免视看婷婷| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 久久免费丁香| 五月丁香六月综合基地| 91打屁股免费看| 丁香六月AV| 91超碰九色| 亚洲色图在线视频| 九一99| 亚洲视频一区| 99精品视频在线免费观看| 色色婷婷五月天| 男女免费视频999| 99这里只有精品|v| 在线五月婷| 五月天婷婷色小说| 精品夜夜澡人妻无码AV| 欧美天天爽| 99亚洲天堂| 91操片| 欧美大道不卡| 97婷婷丁香五月天激情图片| 久久色五月天激情小说| 婷婷五月丁香激情| 色五月婷婷激情五月| 欧美槡BBBB槡BBB少妇| 色婷婷婷av | 色色色丁香| 婷婷综合在线观看视频| 伊人综合网站| 99re这里只有精品视频6| 人妻少妇色综合| 99er6免费视频热播| 99九九精品| 五月丁香婷婷色色| 日韩黄黄| 人妻av在线| 久热这里只有精品99re| 丁香六月啪| 国产亚洲在线观看| 狠狠色色| 久久婷婷综合五月天| 97人人草| www.婷婷.com| 五月丁香久久| 激情六月婷婷| aaaaaa片| 欧美性色A片免费免费观看的| 777久久综合视频| 少妇性BBB搡BBB爽爽爽电影| 午夜丁香六月婷| 午夜天堂一区人妻| 草婷婷在线| 色九四色| 五月天,激情四射,婷婷频道| 操逼视频网址| 婷婷五月色播放| 97超级碰碰碰| 综激情网| 五月天丁香网| 色综合五月| 操操操av| 国产精产国品一二三在观看| 成人狠狠成人狠狠成人狠狠成人狠狠 | 天天爽,夜夜爽| 五月婷婷色啪| 久久九九爽| 狠狠色丁香久久久婷| 五月丁香影视| 婷婷狠狠五月综合| 美女视频图片久久91| 五月丁香五月综合欧美| 九九热大香蕉| 色欧洲| 日本特黄aaaaa| 蒲京久久无码视频| 狠狠五月天| 香蕉操亚洲| 噜噜视频| 呦呦v线| 免费色婷婷| 色综合99| 91色久| 一点色成人网| 亚洲经典小视频| 婷婷色片| 丁香五月天色婷婷| 五月天婷婷色播在线网| AV大片在线观看| 久久婷婷国产| 五月天国产成人| 九七色色六月丁香| 国产精品VA在线| 狠狠综合久久| 色伦专区97中文字幕| 久久一热| 四虎成人精品永久免费AV九九| 精品婷婷| 伊人9999| 91精品人妻少妇无码影院| 婷婷激情六月| 我要射综合| 天堂成人久久| 婷婷五月天色色| 五月婷导航| A在线观看| 亚洲色久| 日韩在线五月天婷婷| 五月婷婷人人人操| 激情又色又爽又黄的A片| 五月婷视屏在线观看| 久色网址| 婷婷五月丁香图片人人操| 五月综合激情网| 婷婷激情五月天天天开心| 伊人激情综合| 91九色国产| 男人综合网| 九伊人网| www.婷婷五月天| 99热这里只| 天天爽爽日日做做| 婷婷性爱五月天丁香网| 婷婷丁香成人| 色综合久久久久久久久五月| 婷婷五月色综合| 中文字幕日产A片在线看| 久久婷婷视频| 国产成人AV人人爽人人澡Va| 九九热99精品| 狠狠的日| 99这里只有| 美女va| 激情久久综合网| 天天弄天天操| 天天操综合网| 五月人人丁香婷婷五月人人丁香| 久久日九九| 777精品久无码人妻蜜桃| 丁香五月成人网| 激情五月天啪啪| 日本3级片一区2区| 亚洲情综合五月天| 女同激情久久av久久| 国产精品久久久久久五月天加勒比 | 久久久婷婷| 丁香婷婷六月男男| 丁香伊人激情| 五月丁香91| 亚洲9久久精品| 综合激情婷婷| 五月婷婷丁香五月 | 九色PORNY自拍成人精彩视频| 色婷婷8| WWW,五月| 99热这里只有精品中文字幕| www..com色爱| 日韩狠狠色| 97成人在线视频| 超碰99在线| 亚洲AV日韩无码| 五月婷婷丁香狠狠撸久久| 丁香六月婷婷缴情欧美| 丁香五月网| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 色噜噜狠狠色综无码久久合欧美| 丁香六月狠狠干| 噢美99| 99亚洲天堂| 色99在线观看| 色婷婷六月丁香综合欲精品| 天天色爽| 婷婷五月丁香综合| 丁香婷婷午夜| 超碰在线观看三级片| 久久538| 婷婷激情视频| 天天草比天天爽| 思思热在线精品视频网站| 开心六月婷| 另类激情码| 人妻Av在线| 久久精品无码一区| 在线播放成人网站| av网址在线| 日本美女五月天| 开心五月深爱激情| 婷婷深爱五月天在线| 激情欧美婷婷| 久9热视频在线观看| 九九久久污| 五月四色激情| 99视频| 91久久久久久| 五月丁香亚洲综合| 欧美日比视频| 九九热在线精品| 99热这里只有精品在线播放| 欧美成人网婷婷综合在线| 狠狠操之狠狠操| 大香蕉五月天| 色色色综合色| 婷婷天堂视频| 日本欧特黄色刺激一区影视久精品无码| 久综合4| 无码激情AAAAA片-区区| 午夜丁香婷婷| 天天天天操| 五月色影院| 超碰久热| 久久精品99| 九月婷婷久久久| 激情四射网| 91综合色| 超碰日日操| 玖玖婷婷五月| 五月丁香亭亭| 五月天开心婷婷激情网站| 婷婷五月天中文字幕| 26uuu亚洲精品国产| 天天综合网亚洲综合网| 天天射天天射一道本日本社区 | 久久综合五月天| 五月天激情啪啪| 色操综合| 久久日婷婷| 丁香五月婷婷香| 婷婷五月天av小说| 色婷婷亚洲综合网站| 国内精品免费一区二区2009| 伊人99久久| 五月 婷 久| 色婷狠狠| 欧美日本高清视频99| 91一道本| 婷婷婷久久久| 97在线/亚洲| 丁香婷婷黄网站| 69精品人人人人| 亚洲性天天|