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国产er热视频| 久久婷婷亚洲无码一起| 九色91视频| 五月婷婷色情| 99亚洲大片精品永久在线观看| 狠色狠色综合久久| 91超碰九色| 九九热最新视频| 亚洲第一综合| www激情网站| 91九色精品女同系列| 成人深爱丁香五月| 17.c黄色| 色五月婷婷老师| 婷婷亚洲影院| 色播jjjj| 丁香五月激情六月欧亚激情综合导航| 婷婷五月天干干| 欧美丁香五月| 国产精产国品一二三在观看| 狼友视频在线观看18| 亚洲精品五十一区| 色婷婷天堂| 久久久噜噜噜久久人妻| 五月天色色婷婷| 久久久久久久久久8888| 亚洲成片在线观看| 婷婷色日本| 狠狠摸狠狠摸| 久在线88综合| 99re66热这里只有精品| 色色色图| 成人中文网| 99日在线观看视频| 色综合色综合色综合高潮| 99操逼| 亚洲操精品| 亚洲乱码日产精品BD| 婷婷狠狠97| 色丁香五月婷婷婷| 久久激情天堂| 色婷婷小视频| 亚洲婷婷丁香五月天激情小说| 天天日天天爽夜夜爽| 99热超碰在线| 亚洲av网址| 久婷婷五月激情| 深爱婷婷网| 最近中文字幕大全免费版在线| 日本久久人| 九九热这里只有精品23| 亭亭五月丁香五月天激情| 五月天成人在线视频网站| 色开心五月婷婷丁香HD| 另类小说五月天激情| www久久99| 男人的天堂99| 五月婷婷深爱六月| 丁香婷婷啪啪| 婷婷五月香蕉| 五月丁香日本片| 欧美成人性爱网| 欧美操人| 久久婷婷五月天懂色| 亚洲婷婷成人五月天| 九九色热| xx久久| 欧美色欲色欲天天天www| 熟女激情网| 久久综合五月情| 蜘蛛女免费观看完整版高清电影 | 日韩影院三级| 天天拍天天操| 怡红院91a√| 五月的丁香六月的婷婷| 大香网伊人久久综合| 丁香五月天婷婷91| 五月丁香婷婷五月| 99ri视频在线观看| 99热这里只有免费精品| 无码AV久久久久久久久| 天天做天天爱天天日| 婷婷九月在线| 日韩一级网站| 成人va视频| 久久性综合| 精品视频这里只有精品| 99热这里全都是精品| 色五月婷婷影院| 久久人妻www| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 日韩抽插操逼| 精品夜夜澡人妻无码AV| 色五月婷婷少妇人妻| 五月激情啪啪啪| 99人妻碰碰碰久久久久| 99操免费视频| 日本三级中文字幕| 九九综合九九| 色色婷婷五月天| 五月丁香啪| 91干在线视频| 久久久27操| 欧美色色日韩| 无码动漫av| ...婷婷五月综合不卡,国产在线手机| 深爱开心激情| 高清不卡一区| 大香蕉手机视频| 五月婷婷导航| 99ri在线观看视频| 九九热视频在线观看| 99视频精品全部免费看| 精品人妻伦一二三区久久| 无码九九| 久久caop| 婷婷丁香色五月| 日本44久久在线| 五月天综合区| 91在线人| 成人电影在线免费试看| 国产伦理精品高清在线观看网站一区二区| 天天综合精品| 五月天四色房丁香| 九九丁香社区欧美激情| 国产精品热搜丁香五月婷婷| 激情性爱婷婷| 色婷婷五月天激情在线观看| 国产亚洲色婷婷久久99精品9j| 亚洲第一精品网站| 日本久久人| 99热在线中文字幕| 开心丁五月| 思思热在线视频精品| 天天人人天天爽| 欧美电影在线播放| 操日挥操日日| 欧日韩成人| 综合大香蕉| site:hcxsz888.com| 天天干天天拍| 色婷婷在线视频综合| 中文字幕人妻一区二区| 五月丁香久久综合| 婷婷婷婷午夜| 99啪啪网| 色婷婷五月天激情久久| 九热视频在线伦| 天天天天操| 亚洲婷婷基地| 欧美 日韩 人妻 高清 中文| 婷婷亚洲欧美丁香五月| 99婷婷| 精品无码久久久久久久久| 婷婷五月激情在线| 五月天天堂久久| 天天搞天天爽| 欧美啄木乌丝袜人妻系列| 伊人狠狠色婷婷综合丁香一区| 色啪影院| 天天色天天噜| 4399亚洲视频| 国产精品久久久爽爽爽麻豆色哟哟| 久久精品66| Caop在线| 狠狠精品干练久久久无码中文字幕| 五月丁香啪啪综合网| 蜜桃婷婷狠狠久久综合| 二色av| 久久这里只有欧美| 激情五月丁香五月| 欧美,日韩成人在线| 国产精品爽爽久久久久久| 久久99视频| 亚洲精品国产A久久久久久| 五月激情婷婷开心| 久久66er久久| 午夜免费高清AV片| 中字幕视频在线永久在线观看免费| 99热这里只有精品最新地址获取| 五月婷婷激情综合| 另类国产欧美视频| 婷婷视频网| 婷婷五月天激情五月天深爱五月天| 91热在线| 国产色色小草视频| 粉嫩AV久久一区二区三区| 逼里香不卡| www.色婷婷| 4399无码视频二区| 婷婷香五月天| 日日夜夜狠狠| 日日肏天天操| AV伊人青草丁香六月| 婷婷久久色五月婷婷久久久| 天天骑天天操| 日日夜夜天天| 婷婷五月综合啪| 九九色人| 欧美成人A片AAA片在线播放| 五月天婷婷在线AN| 色999;丁香五月| 99精品偷自拍| 久久精彩视频| 91超级碰在线视频| 久热这里只有精品视频6| 99视频在线观看视频| 婷婷亚洲色| 伊人在线视频| 五月丁香六月婷婷综合网缴情| 午夜丁香| 五月丁香花视频| 亚洲色就是色色色| 日韩操人| 亚洲成人综合在线| 婷婷五月丁香综合激情| 婷婷丁香五月在线播放| 色婷五月| 综合激情五月丁香| 《诡秘之主》在线观看| 日本一级一片免费视频| 久久国产AV| 69超碰在线| 久久丁香| 成人在线网| 激情五月天综合| 婷婷五月俺要去| 九九aV| 久草九九| 国产操逼网站| 亚洲韩国日产综合AV| 国产精品国产成人国产三级| 99精品视频网站| 婷婷五月天在线视频网站| 婷婷之六月丁香| 掩去也综合五月视频| av在线免费网站| 婷婷丁香五月社区亚洲| 99久操视频| 欧美成人精品A片免费一区99| 久九色| 婷婷五月色情| 综合婷婷五月天| 色综合色综合色综合| 影音先锋 91工厂| 天天日日夜夜| 九热精品| www.久久爱.com| 丁香六月欧美| 色五月播五月| 激情综合一| http://www.sd-xiangsu.com/| 丁香五月激情站| 精品一二三区视频立| 激情五月丁香五月| 欧美99| 亚洲综合九九| 九九精品在线视频观看| 日本欧美在线| 日本一级一级一级一级| 久久精品爱爱| 99热这里只有精品98| 这里只有精品偷拍| 再綫Av免费視品| 色婷婷五月天中文字幕| 九月丁香婷婷综合激情| 亚州激情网站无码| 色狠狠综合网| 五月天婷婷导航| 五月婷婷无码专区| 骚。com| 五月婷婷网五月在线| 激情九九这里只有精品| 99re思思热久久| 99精品在这里| 9精品在线| 久九色| 91碰| 99久久婷婷| 亚洲高清在线| 亚洲天堂婷婷丁香| 91fuliwang| 婷婷伊人綜合中文| 激情熟女网| 亚洲区1| 影音先锋 萱萱| 婷婷丁香综合网| 大香蕉丁香婷婷| 久久综合9| 97人人操人人操人人操人人| 精品人妻在线| 婷婷色网| 色黄啪啪| 五月婷在线观看| 久操操| 亚洲综合激| 五月婷婷插一插| 99热免| 欧美三级欧美一级| 天天色综合网吨吧| 加勒比久热| 亚洲a片免费观看| 国产操肏网站| 丁香九月综合| 天天天天天天天操| 超碰网站在线观看| 色色亚洲| 色婷小说| 久热91| 色婷婷视频| 26UUU精品一区二区c〇m| 婷婷黄色| 综合激情五月丁香| 亚洲成人五月天| 99热在线只有精品| 久久婷婷五月综合色丁香花| 九九热在线视频观看| 久久伊人婷婷| 午夜AV网| 无码99| 五月色网| 欧美噜噜免费观看| 久久五月天婷婷| 怡红院AV亚洲一区二区三区H | 天天干肏夜夜| 中文AV在线观看| 色婷婷视频| 97涩婷婷| 五月天丁香综合在线| 五月天婷婷久久| 国庆精品久久| 日韩99视频| 99久久9| 日日激情网| 伊人久久大香线蕉av最新| 夜夜穞天天穞狠狠穞AV美女按摩| 综合一啪| 玖玖色资源站| 91凹凸在线| 成人做爰A片免费看网站找不到了 噼里啪啦在线观看免费完整版视频 | 久久玖玖99| 自拍偷窥99热| 五月丁香六月婷婷网站| 色色综合网站| 99re免费视频| 深爱开心激情网| 婷婷五月中文字幕国产| 99热丁香五月| 国产乱轮一区二区三区| 久热这里| 99热精品观看| 超pen个人视频97| 伊人在线视频| 亚洲 视频 导航 一区| 天天操天天日天天爽| 中文字幕在线免费观看视频| 亚洲AV电影美洲AV电影| 性按摩玩人妻HD中文字幕| 婷婷四色五月| 色五月激情五月开心五月| 亚洲黄色网址| 99久久综合网| 久久综合婷婷| 九色91视频| 日日操天天爽| 九九操综合网| 久久性爱视频免费| 久热无码| 色五月婷婷操逼| 欧美日综合| 另类激情五月| 婷婷久久综合久| 日本99视频精品免费播放| 婷婷五月天色网久| 91精品久久久久久77777| 一本色道久久88加勒比—| wwwxxx五月婷婷小说| 成人精品在线观看| 久久色五月天| 婷婷丁香激情综合色情| 乱精品一区字幕二区| 婷婷久久五月| 五月丁香婷婷AV天堂| 婷婷的色色五月天| 99色在线观看视频者| 色播综合| 九九香蕉网| 无码99| 五月丁香啪啪网| 丁香五月天综合| 五月久久综合| 天天综合永久| 白人荫道BBWBBB大荫道| 天天综合亚洲综合网天天αⅴ| 亚洲碰碰碰| 日韩AV在线免费| 五月丁香在线婷婷蜜桃| 激情小说五月天| 五月天丁香网| 另类A片| 91pornav在线| 思思热视频在线观看| 97碰碰叉| aaa日韩| 四季8848精品成人免费网站| 伊人成人宗合网| 思思热在线| 97啪啪| 青草五月天| 在线看的免费网站| 操B视频在线播放| 五月婷婷激情| 99色爱| 激情内射人妻1区2区3区| 欧美精品XXXXBBBB| 久久婷婷五月免费视频| 五月婷在线| 日本久久精品18| 超碰在线免费9| 久久五月激情综合| 久久久免费精彩视频| 囯产精品久久欠久久久久久九大| www.99热| 久久婷婷免费| 色一情一乱一乱91Av| 一二区成人电影| 国产av基地| 婷婷五月色情天| 久鲁鲁色网| 丁香五月成人论坛| av网站中文| 中文av网站| 五月婷婷亚洲| 天天干天天干天天干天天干天天干| 久久六月天| 久久婷五月| 久久草大香蕉| 五月天啪啪网| 另类图片激情五月| 人妻乱码久久久| 深爱激情av| 久久久久人妻精品| 色婷婷88| 色婷婷A| 综合色图区| 色婷婷视频| 综合色色网| 狠狠干2007| 色一色综合| 久久人妻www| 综合图片色色| 色五月天丁香| 色综啪啪网| 日本视频欧美观看免费| 人人爽人人射-美女久久久久久久久久-成人AV| 99er视频在线| 综合色色婷婷| 婷婷五月性感| 六月婷伊人| 亚洲视频在线观看| 婷婷五月综合中文字幕| 久久99久久久| 五月天开心色情网| 9月色婷婷| BBWCUCKOLD精品熟妇| 色五月开心久久网| 人人亚洲| 丁香五月AV| 99热66| 五月天大香蕉AV| 99色在线视频观看| 综合在线色婷婷| 婷婷中文字幕版| 久色激情| 牛牛澡牛牛爽| 五月丁婷香| 一起草性爱不卡视频| 久久久精品AV| 久久久全国免费视频| 婷婷99狠狠躁天天| 丁香五月天啪啪a日本| 天天干天天色综合| 色9999综合久久| 狠狠操狠狠操AV| 91 久热| 插逼综合网| 婷婷激情五月综合在线视频| 五月天激情电影| 丁香五月色情av| 国产精品大香蕉| www夜夜操com| 99热亚洲| 久久精品婷婷| 久久这里有精品| 人妻熟人中文字幕一区二区 | 91色操| 99热爆在线| ww亚洲ww在线观看| 欧美性爱一区| 秋霞网在线免费基地五月婷婷丁香| 五月天婷婷久久日| 欧美色色色色色| 免费99色| 六月久久狠狠| 久久性爱网| 99er这里只有精品视频| 五月婷婷色影院| 久草 tingting| 99热20| 99热都是精品| 色狠狠色综合久久久绯色AⅤ影视| 精品久久久人妻| 99热综合网| 国产色色视频| 思思9久久| 国产99久久久国产精品免费看 | 欧美怡红院黄站| 五丁香激情综合| 丁香六月激情国产| 色色色色色色色五月| 狠狠婷婷爱| 色色色色色色网| 国内一级精品| 狠狠色大香蕉| 色婷婷激情四射视频| 夜丁香五月婷婷| 成人.在线日韩| 性爱先锋AV| Caoub青青超碰| 五月婷在线| 黄色成人网站在线播放| 开心婷婷五月天激情网| 五月丁香在线婷婷蜜桃| 天天操夜夜爽天天操| 九九综合网色全集| 国产色色小草视频| 五月婷婷丁香91| 亚洲婷婷五月天| 五月丁香激情综合| 《蜘蛛女》梁铮1995| 深爱激情五月天色婷婷| 婷婷成人综合| 91尤物九色在线| 色很久综合| Aaa久久| 婷婷五月在线视频| 无码色| 九九五月天| 思思热视频| 久狠日av| 狠狠五月天婷婷激情网。| 久久五月天网| 五月激情啪啪啪| 久久久婷婷婷| 五月婷婷色播| 五月丁香啪啪| 五月天婷婷色| 一级黄色影片| 99高级会所久久| www99热| 五月婷婷综合激情| 成人片黄网站色大片免费毛片| 五月婷婷综合色啪| 婷婷亚洲在线| 亚洲五月婷婷| 色综合综合色| 日韩中文欧美| 性一交一乱一交A片久久四色| 99热精品在线观看| 蜜乳AV成人| 天天爽天天日| www.狠狠操.com| 久久婷婷丁香五月一二三| 国产免费一区二区在线A片视频| 大香蕉久热| 久久久久久97| 爱久综合| 激情婷婷色色| 91碰碰| 超碰人人超碰| 干一干xxxx| 色色丁香婷婷| 日本色色网| 国产乱子轮XXX农村| 另类激情网| 91成人看片| 99热这里是精品| 五月丁香激情综合网| 五月丁香黄色| 九色自拍| 九九在线精品| 久久婷婷五月综合色和| 亚洲啪啪视频| 亚洲亚洲人成综合网络| 六月份天丁香婷婷| 亚洲欧洲色色| 91丨九色熟女丨首页| 综合色情网| yazhouzonghesese| 色婷婷综合亚洲| 五月丁香亭亭| 日本欧美成人片AAAA| 99久久免费性爱视频`| 久久九网| 色色色色色色网站| 79色色| 五月丁香香蕉| 丁香五月天社区婷婷| 99操逼| 色婷婷丁香AV综合| 99热9999| 国产精品成人网址| 婷婷五月丁香影院| 中文字幕婷婷在线| 极品少妇高潮啪啪AV无码| 永久精品| 另类小说五月天综合| 欧美精品狠狠色丁香婷婷| 婷婷五月天播播| 丁香六月 婷婷六月| 毛v一区二区视频| 色噜噜综合网| 婷婷五月综合体验看| 最新激情五月天| 丁香婷婷综合激情五月色| 99精品偷自拍| 天天肏视频| 丁香婷婷在线| 亚洲激情免费久久| 超碰成人在线观看| 亚洲第一影院高清无码网站| 国产亚洲精品久久久久久郑州| 超碰资源在线| 激情丁香五月激情婷婷| 日本三级大片| 六月婷婷九月丁香| 丝雨一区二区| 亚洲精品V天堂中文字幕| 性生活视频98791| 99这里只有精彩视频| 久久精品色| 97干在线免费| 艳妇野外情欲放荡HD| 亚洲欧美综合7777色婷婷| 五月婷六月婷婷| VA国产在线综合网站| 色欲天天综合| 色色色婷婷| 香蕉曰比| 超碰婷婷色| 婷婷综合在线| AⅤ网站在线看| 亚洲无码yw| 婷婷五月在线| 成人无码髙潮喷水A片| 六月激情婷婷| 色色色热热热| 99在线视频精品| 丁香五月天在线视频| 久综合色| 9久热在线视频精品| 丁香天堂夜| 欧在线一区| 一本狠婷婷综合| 丁香九九九九| 国产永久一二一起草| 99人人操人人操人人精| 亚洲 欧洲 国产 伦综合| 夜色热久| 婷婷婷狠狠| 国产成人精品亚洲线观看| 久草热在线视频| 亚洲AV人人操| 五月丁香色| 操逼视频一区| 国产操碰| 97精品综合| 综合色久| 99国产在线精品视频| 免费97碰碰| 操丝袜视频影院导航| 99色视频| 97五月久久丁香婷婷| 国产高清精品色| 99热99在线| 婷婷久久性爱| 激情文学综合婷婷五月天丁香花| 人人舔人人| 免费观看欧美成人AA片爱我多深 | 国产综合网在线| 婷婷丁香五月高清| 99热6精品| 青草五月天| 五月天婷婷丁香导航| 五月婷婷日| 狠狠操狠狠操| 蜜臀AV在线观看| 五月丁香香蕉| 在线观看免费狠狠色丁香香综合| 丁香五月婷婷老师网站| 天天色五月| 99热这里只有精品8| 激情视频91| 色五月婷婷影院| 青青草伊人婷婷| av 一区三区四区| 亚洲综合五月天综合| 精品一区二区三区四区五区六区介绍| 青草视频在线蜜臀| 五月婷丁香亚洲| 五月婷婷之激情五月| 日夜夜久久| 婷婷 丁香 精品| 天天射美女| 操操啪| 激情五月婷婷视频| 91丁香婷婷综合资源| 久久人人九九| 久er7久热| 开心五月综合| 国产三级片91| 99热自拍| 九九色婷| 东京热人妻一区二区三区在线| 操逼三区| 亚洲天堂AV免费片| 五月激情天天干| 久久久久激情| 日日影院 | 五月色婷丁香| 亚洲综合在线视频| 五月丁香色婷婷综合| 天天爽天天| 日本天天操| 665566 无码| 台湾无码A片一区二区| 亚洲va日| 一级黄色尤物综合视频手机在线观看| 亚洲精品成人| 色婷婷亚洲婷婷| 99ri国产精品| 中文字幕婷婷五月天| 思思久久青草热| www.婷婷五月天| 欧美性猛交99久久久久99按摩| 色婷婷综合在线| 天天摸.天天mo| 色综合射婷婷| 久久人人妻| 日韩啪啪自拍| 亚洲丁香婷婷五月天综合色| 99热这里全是精品| 色~性~乱~伦~噜| 狠狠搞综合色| 视频一二区| 亚洲亚洲人成综合网络| 久99热在线观看| 六月丁香婷婷开心综合基地| 五月婷网| 9l视频自拍九色9l黑人| 丁香五月情色| 噜噜狠狠色综无码久久合欧美| 国产精品色色| 伊人婷婷91| 亚洲热手机在线观看| 五月亭亭直播| 青柠影视免费高清电视剧 | 在线中文字幕视频| 久久丁香婷| 天天日天天插天天操| 激情性五月天免费小说视频 | 91久久婷婷| 热婷婷av| 婷婷5月开心6月| 97色在线视频| 69精品无码一区二区三区| 同性gv国产精品一区二区| 99色综合| 超碰无码老师| 日日婷婷不卡| www.minyis.com【JT】实力收量可预付QQ2101460746 | 天天插天天插天天插天天插| 九九中文字幕九| 激情网第九色| 丁香激情五月| 97人人干。| 99性爱无码| 99精品在线观看视频| 欧美 日韩 成人| 婷婷射图五月天| 青青草成人网| 5月丁香婷婷| 啪啪五月婷婷| 影音先锋女人av鲁色资源网小说免费| 五月婷婷五月| yirenjiqingshiping| 婷婷综合五月激情| 特级西西4444www无码| 婷婷综合色网| 一级性爱视频| 黄色片avv| 狠狠色官网| 天天爱天天操| 婷婷五月丁香五月| 亚洲AV综合在线观看| 蜜臀av 粉嫩av 懂色av| 激情五月丁香在线观看直播| 99热精品在线| 高清无码.com| 99热国产这里只有精品| 丁香婷婷五月激情| www.色9| av成人在线播放| 日日夜夜狠狠操| 国产特黄色精品一区二区三区精品无广告| yazhouzonghesese| 四川BBB搡BBB搡多人乱亂| www.狠狠操.co m| 九九香蕉网| 久久96热| 庭庭久久内射| 色五月丁香激情| 九九人人操| 婷婷欧美色| 日本99久久| 涩涩涩,com| 欧美性爱五月天| 天天爽天天爽天天爽天天爽天天爽天天爽天天| 99热精品在线播放| 99热在线播放| 51国精产品自偷自偷综合 | 在线天堂9| 婷婷情色五月天| 激情综合网激情五月天| 亚洲成人av在线播放| 五月婷婷激情综合| 五月丁香自拍| 色婷婷在线播放| 91日本在线观看| 日本色色色| 天天做天天爱天天日| 99综合视频一体| 狠狠狠狠狠狠狠狠狠狠狠色宗合图片| 无码激情AAAAA片-区区| 色婷婷五月天在线| 色吧99| 另类视频五月天| 爆乳熟女一区二区三区爆乳| 日本欧美国产| 婷婷在线播放av| 99热6精品| WWW丁香五月| 国产午夜成人免费看片无遮挡| 很很干在线视频| 久9综合| 五月色综合网| 啪啪99| 天天综合网站| 色综合久久88色综合中文字幕| 日韩不卡123| 五月花婷婷丁香| 操精品9| 99热国产这里只有精品| 4399在线观看免费毛片| 丁香婷婷久久| 色五月丁香一区在线| 老司机视频lsj爱就色| 五月婷在线观看| 激情综合区| 内射爽无广熟女亚洲| 另类图片婷婷五月天| 成人丁香五月婷| 欧美色五月| 五月婷婷六月丁香综合视频在线| 日本色色色色色色色色一色二色| 99免费视频精品| www,超碰| 人人草人人爱| 99资源在线| 爱射综合| 99视频这里只有久久精品 | 五月婷婷色情| 日本一级| 玖玖婷婷综合| 丁香五月天激情综合| 九九精品在线观看视频6| 国产精品国产VA片国产| 久草五月天电影网| 五月亚洲激情| 梁铮版蜘蛛女在线观看| 婷婷久久综合| 婷婷六月色| 五夜婷婷| 97人人操人人爽| 中文精品在| 5五月综合网亚洲| 热99精品视频观看| 婷婷色情五月| 丁香五月天视频| 色噜噜五月天| 亚洲精品五十一区| 久久嘟嘟丁香| 亚洲六月婷婷| 五月天玖玖狠狠色色| 五月天婷婷免费| 人妻熟人中文字幕一区二区| 激情五月天婷婷| 日日天天天| 婷婷色五月噜噜| 激情婷婷五六月天| 色综合播放| 五月天婷婷色五月天| 欧美五月丁香啪啪响视频| 在线观看五月婷婷网| 久久婷婷五月国产色综合激情| 无码九九| ,99视频久久| 欧美韩日AAA网站| 六月婷婷影院| 久久久久久久久久人妻| 26uuu欧美日本| 日日夜夜爽| 丁香五月综合AV在线| 五月丁香六月婷婷姐| www.五月天婷婷| 亚洲中文字幕AV| 天天天天操| 极品少妇XXXX精品少妇偷拍| 538在线精品| 99在线视频。| 日木WWW视频| 伊人高清无码| 婷婷五月激情在线| 婷婷色色欧美| 97啪啪| 热的国产99热| 狠狠色无码| 日日夜夜爽| 黄色一级影片| 亚洲综合激情五月久久| 亚洲精品久久久久久久久久吃药| 综合网色| 99ri网站在线观看| 久久婷婷东京热大香樵| 亚欧州精品视频| 五月天激情综合在线| 夜夜操少妇| 天天综合影院| 色五月婷婷操逼| 99啪啪视频| 国产肥白大熟妇BBBB视频| 九色综合网| 婷婷丁香91| 激情综合久久| 97色色色色色色色色色色色色色| 丁香五月开心五月激情| 久婷久婷| 99热伊人| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 婷婷五月丁香激情色情| 79色色色色| 婷婷97碰碰| 五月激情啪啪| 色婷婷av综合网| 色婷婷777狠狠| 玖玖色资源站| 99爱视频免费看| 91精品综合久久婷婷九色| 四色五月婷婷| 日韩中出视频| 91九色国产在线| 天天肏天天插| 能看的av网站| 亚洲精品亚洲人成人网| 精品香蕉99久久久久网站| 大香蕉人人人| 五月天色婷伊人| 五月天另类小说| 99热精品在线播放| 超91热| 中文字幕av久久爽一区| 九九热这里只有精品12| 色女伊人| 天天干夜晚夜操| 久草婷妨| 69色婷婷| 天天色综网| 第九色区AV在线| 99热一本久道| 伊人五月天日日夜夜久久久天天| 六月婷婷久久大全| 丁香五月色| 狠狠爱丁香婷| 五月天无码| 九九色综合九九色| 99精品在这里| 9精品国产在热久久| 丁香五月色情| 五月天激情亚洲| 天天色天天日| 影音先锋综合网| 激情久久四色| 激情婷婷丁香| 91精品久久久久久77777| 狠狠综合久久综合| 色婷婷中文字母五月丁香| 色综合色| 五月开心播播网| 嫩草视频在线观看| 五月婷婷之美女图片| 五月天综合视频| 色色丁香五月天社区| 婷婷色色综合激情| 9热精品| 激情亚洲五月| 丁香五月1页| 丁香社区婷婷五月| 五月婷综合| 一区二区三区四区牛| 婷婷五月天亚洲色| 成人在线网| 亚洲成人综合网在线免费观看| 婷婷爱综合| 夜色综合网| 婷婷五月精品| 亚洲成人色五月婷婷综合| 色爱99| 亚洲欧洲美女在线观| 久久色频| 日本久久人| 欧美黄色一级| 99er6| 9久精品视频| 五月天激情图片网| 丁香五月综合在线播放 | 丁香五月天堂网| 五月丁香六月婷婷久久肏| 337午夜福利| 中字幕视频在线永久在线观看免费| 大香蕉啪啪| 俺去也综合| 91婷婷视频| 婷婷久久国产视频| 五月激情偷拍| 国产免费一区二区三区三州老师F1F1.CC| 婷婷五月AA五月在线| 超碰99在线观看| 午夜婷婷久久 | 亚洲色图欧美色图日本视频| 热九九精品| 欧美天堂久久| 日hao1区| 五月婷婷在线播放| 激情五月婷婷综合网| 婷色成人| 97色在线| 五月丁香精品| 日本爆乳片手机在线播放| 久久久久久久久久久久久久久久久精典| 婷婷六月插屄激情| 狠狠干,狠狠操| 99热在线爱| 亚洲AV免费在线| 色噜噜狠狠色综合成人网| 丁香六月婷| 开心五月婷婷综合在线精品素人| 婷婷激情五月天小说校园| 雪千夏麻豆| 99愛国产| 婷婷五月天大香蕉在线视频观看| 亚洲小视频| 婷婷五月精品| 五月天国产婷婷精品视频在线| 亚洲a片免费观看| 五月婷婷六月综合| 久草网大香视频| 夜夜爽天天爽| 婷婷久久免费| 六月丁香综合| www久| 婷婷五月丁香六月| 深爱五月激情网| 1000部毛片A片免费观看| 婷婷五月天日本国产| 国产成人精品一区二三区熟女在线 | 五月婷婷激情综合| 97碰在线视频| 99热这里只有精品在线观看| 色婷婷综合在线| 色五月人妻| 在线观看亚洲AV| 麻豆雪千夏| 九九99九九精品视频| 色色色欧美色色| 国产99久| 五月丁香操亭亭网| 日韩成人电影Av| 性综合网| 99精品视频偷拍| 五月天社区| 成片免费播放| 色久女| 一逼色综合| 五月天丁香| 深爱激情四射| 五月激情四射网站| 婷婷五月天综合小说网| 奇米四色五月天| 激情小说婷婷五月| 久久日韩婷婷五月| 9l视频自拍9l九色9l成人| 日韩欧洲亚洲| 婷婷91| 狠狠色丁香婷婷综合久久97AV| 婷婷中文字幕欧美| 亚洲色综久久五月| 999九九九久久久99HD| 丁香婷婷激情六月五月开心| 五月婷婷偷拍| 日日噜噜夜夜狠狠久久丁香六月| 九九色中文| 少妇熟女视频一区二区三区| 人妻VideOssS人妻| 免费日本aⅴ中文字幕| 天天插天天射| 五月婷婷基地| 亚洲日韩一页精品发布| 欧美色五月天| 91精品综合久久婷婷九色| 久久99综合网| 激情六| 国产黄色在线| 在线综合网| 日韩人妻无码专区| 午夜天堂一区人妻| 久久这里只| 99久久精彩视频| 伊人激情| 森林影视大全,最好看的2019年视频| 婷婷五月丁香色色| 操操自拍| 96人人操人人操人人| 桃色五月婷婷| 五月天激情www| 国産精品| 亚洲字幕AV一区二区三区四区| 色色综合网络| 99精品久久久久久久婷婷| 天天插天天干| 五月婷婷六月综合| www九九| 91肏肏肏| 九九精品亚洲| 欧美激情 日韩无码 婷婷 五月天| 五月天社区婷婷| 丁香五月婷婷激情尤物| 婷婷综合色色| 热思思九九| 色色色在线观看| 日本色婷婷五月天成人电影| 九九九九九九九九九九九九九国产精品| 情色五月天网站| 久热最新视频| 黄色aa观看aaguochan| 色婷婷AAA| 小视频一区 | 丁香狠狠干| 99热主页日本| 日韩av干| 九色七七| 亚洲V国产V欧美V久久久久久| 大婷婷色呦呦噜噜色呦呦噜噜| 五月丁香激情综合网| 视频一区二区在线| 婷婷精品视频| 色综合色综合网| 亚洲色色色色色色色色色| 99爱在线| 综合激情视频| 九九热99热| 99这里的视频都是精品| 超碰AV成人| 成人综合网站| 人妻无码精品一区| 久久久com| 人人摸人人| 99色热视频| 婷婷五月天AV| 婷婷亚洲久久| 专区无日本视频高清8| 亚洲最大在线| 五月丁香六月婷婷综合网站| 婷婷狠狠久久| 色综合网址| 久久机热探花| 亚洲网站观看视频| 99热免费在线| 狠狠色大香蕉| 99亚洲无码| 深爱激情AV| 99操视频| 哇嘎成人久久| 91夫妻网站九色| 99精品久久| 久久作爱| 思思热精品在线| 婷婷丁香激情| 国产阿姨日皮艹逼内射视频| 亚洲在线操| A1片久久| 久久丁香网| 成人无码精品1区2区3区免费看| 婷婷综合激情| 噜噜色五月| 五月天婷婷在线AN| 五月天成人在线| 婷婷五月丁香狠狠| 激情五月天婷婷图| 婷婷色啪| 亚洲AV无码成人精品区电影网| 婷婷五月五月丁香| 八戒青柠影视剧在线观看| 五月激情婷婷在线| 五月综合激情| 婷婷五月天基地| www.99情趣网| 99热这里只有在线| 色婷婷五月综合在线| 五月天婷五月天综合网在线观| 九九精品在线视频观看| 精品在线网站| 婷婷五月天AV在线| 人妖色AV色综合| .comwww在线观看免费操| 校园春色亚洲色| 又大又粗九一在线| 午夜天堂一区人妻| 激情五月天丁香| 色婷婷亚洲婷婷| 亚洲综合99| 婷婷五月激情五月激情| 亚洲精品电影| 天天射综合网站| 婷婷五月丁香啪啪| 婷婷色五月开心五月| 九色啦蜜臀| 99性爱视频| 日本狠狠干| 天天做天天爽| 99色 | 成人噜噜网| 欧美极品999| 色播五月丁香| 丁香五月婷婷激情小说| 婷婷丁香五月天综合AV| aⅤ79成人片| 久久久婷| 99在线精品视频免费| 九九热这里只有精品556| 99热99在线| 26uuu美女三级视频| 99高级会所久久| 天天综合插插| 九九热这里只有精品9| 九九热视频免费|