欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,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
返回資訊列表
狠狠狠狠狠狠| 91色久| 亚洲182在线观看| 婷婷丁香五月亚洲综合网在线视频观看 | 日日爱699| 无码激情AAAAA片-区区| 另类图片天天影视在线观看| 天天摸天天日天天舔| 9久久网| 热九九精品| 色五月婷婷 成人| 欧洲MV日韩MV国产| 激情欧美五月丁香| 99色在线观看视频| 亚洲综合婷婷| 色情五月丁香婷婷网| 级人人91| 欧美成人AAA片一区国产精品| 色婷婷成人在线| 久久天堂精品| 玖玖婷婷色欲| 色色无码| 日韩一级网站| 五月婷婷网五月在线| 中文字幕婷婷在线| 婷婷干| 色玖玖综合网| 色色色色色色网| 婷婷综合在线| 婷婷婷婷色| 丁香五月婷婷激情蜜桃| 色综啪啪网| 亚洲av免费在线| 操熟女成人网| 天天操天天日天天爽| www.97碰碰com| 欧美三级韩国三级日本三斤| 日本啪啪视频HD| 丁香六月综合激情| 亭亭玉月丁香| 丁香五月天在线观看| 色五月丁香五月五月婷婷| 丁香五月成人丝袜| 99啪在线| 大伊香蕉玖玖爱| 五月开心播播网| 大香蕉精品视频| 激情五月婷婷丁香综合网| 久热 91| 91狼友视频网页更新| 五月丁香婷婷综合| 99热这里有精品| 国产在线黄色| 五月婷婷色情| 激情五月综合网| 综合久久97| 99热这里只有精品国产首页| 人人摸人人摸| 国产97色在线| 狠狠草在线观看| 热久久这里只有精品| 丁香色综合| 丁香五月天激情小说| 色五月激情问网站| 99这里有精品视频| 亚洲天堂99| 五月丁香六月婷婷综合网站| 久色视频| 激情綜合W W W,激情五月天| AV五月丁香| 丁香五月天社区| 五月视频日本免费观看| 啪啪干伊人婷婷| 狠狠色婷婷7| 色五月婷婷综合在线| 国产色香蕉精品五夜婷| 色婷婷天堂| 99日视频在线| 噜噜色天天开心| 丁香五月天导航| www久久久| AV在线资源| 91人人爽狠狠狠| 99在线69| 激情婷婷丁香色五月| 丁香五月天视频在线播放| 蜜臀嫩草| 婷婷五月天天爽| 伊人网啪啪| 91久久精品无码一区二区三区| 色五月色图| 日韩在线五月天婷婷| 亚洲天堂aaa| 久热这里只有精品视频6| 这里只有精品视频看看| 99精品视频免费| 人妻久久久久久| 天天做天天爱天天高潮| 日韩一级一片内射视频4K| 男男野外做爰全过程69| 婷婷色在线播放| 五月丁香综合| 99秘 在线| 丁香五月婷老师| 9九色首页| 色婷婷影视| 国产成人网址| 泰州成人视频| 激情婷婷五月天| 中文字幕av网站| 丁香五月日韩| 九九热这里只有精品6| 色婷婷五月天| 婷婷色色网| 激情五月丁香激情综合网 | 色五月激情五月| 99国产精品久久久久久久久久久| 影音先锋五月天婷婷丁香在线观看| 五月天激情网址| 丁香六月天AV| 五月天久久综合| 久久99久久99久久99人受| 91精品久| 操逼棍操逼| 五月丁香婷草| 91干在线视频| 亚洲综合狠狠艹| 婷婷激情在线| 久久婷婷六月综合综合| 激情五月天免费视频| 欧美色97| 激情五月天的婷婷| 婷婷五月天首页| 熟女网站久久| 91综合在线视频| 国产伊人五月天| 日本五月婷| 99色网站| 色噜噜五月丁香婷婷| 99re视频在线播放| 欧洲不卡视频| 激情久久五月天| 九九色婷| 婷婷五月天中文字幕| 9久热精品在线视频| 丁香六月婷婷久久综合八月| 天天插天天插| 亚洲男人的天堂婷婷色五月| 99亚洲精品综合在线| 婷婷五月天伦理| 中文字幕黄色片| 丁香六月综合激情| 图片区 小说区 区 亚洲五月| 99久久久99久久91熟女| 亚洲人妻av| 三级黄网站| 在线成人网址| 亚洲人人96@| 久热婷婷| 可以免费看AV网站| 久久婷婷人人| 激情综合一| 亚洲激情亚洲激情 | 色婷婷丁香女女| 天天爽天天爽夜夜爽| 九九久久精品| aaa日韩| 97caop| 婷婷成人小说综合| 97极品在线| 综合伊人久久| 九九人妻福利| 婷婷五月成人社区| 91超级碰碰碰| 99精品久久久久久久婷婷久久 | 五月丁香怕啪啪| 狠狠穞A片一區二區三區| 五月婷婷干干干| 激情深爱五月天| 伊人大香五月天| 丰满少妇猛烈A片免费看观看| 99色热综合| 丁香五月天日韩无码| 九九成人视频| 日日操,日日爽| 色五月色开心开心五月| 激情AV| 久久久er热| 狠狠干.com| 1024操逼视频| 五月丁香六月婷婷亚洲| 91精品丝袜久久久久久| 九九色婷婷Av| 激情五月天影院| www.91有码.com| 婷婷久久欧美| 亚洲欧美婷婷五月色综合| 九九热这里只有精品一| 久久香蕉影院| 婷婷久久伊人| 69凹凸成人综合网| 五月婷婷之综合激情| 狠狠狠五月婷婷六月丁香| 日韩无码乱轮| 新激情五月天| 嫩草AV久久伊人妇女超级A| 激情六月婷| 99视频久久| 九九爱激情| 久久久五月天| 超碰成人av| 69婷婷丁香午夜| 亚洲综合在线网站| 琪琪色网在线| 蜜桃五月天| 丁香五月在线自慰| 丁香五月婷婷香| 婷婷久久免费看| 亚洲视频1区| 久久99久久99久久99人受| 色停停五月天| 色性五月天| 亚洲婷婷视频| 狠狠干婷婷| 99热这里只有精品最新地址获取| 婷婷舔| 久艹大香蕉| 亚洲午夜在线视频| 天天插天天插| 激情久久久| 成人在线精品| www色色色com| 色五月天堂| 99热免| 五月丁香六月婷婷中文版| 综合久久97| 操婷婷基地| 色吧婷婷五月亚洲| 激情五月婷婷老师| seuuu婷婷| 26uuu成人网| 国产avapp 网| 狠狠色综合网| 91操碰| 婷婷综合五月天| 六月丁香成人网| 国产美女精品| 九九热精品6| 99热这里只有精品无码| 五月五婷婷| 五月天婷婷青青草| 婷婷五月丁香伊人| 婷婷五月天综合在线| 五月婷丁香亚洲| 婷婷丁香基地在线| 五月丁香六月激情综合欧美| 79精品视频在线观看,| 直接看的AV网站| 久8色色| www.sezonghe| 欧美25p| 五月婷婷自拍视频| 四月丁香五月婷婷久久| 97婷婷丁香| 色五月五月天色婷婷色五月| 色噜噜狠狠色综合日日| www.五月天婷婷姐姐| 日韩成人网站精品久久大全| 天天射天天射一道本日本社区| 可以直接看的av网站| www.五月天婷婷姐姐| 三级成人网站| 第五色色色婷婷| 狠狠操综合| 亚洲情色一区| 丁香激情网| 亚洲成人在线在线| 丁香五月激情网| 91视频一起草| 亚洲AAAA网| 天天做天天摸| 五月婷婷激情综合| 九月丁香网婷婷| 秋霞av不能| 日本成人综合| 色另类五月天| 色色色色网| WWW.99热| 91色五月在线观看| 日本色色色| 99成人精品六| 97色在线观看视频| 91操人人操| 99热久久日本| 久久这里只有精品07| 天天射天天射一道本日本社区 | 久久与婷婷| 丁香五月婷婷深爱综合激情| 97热这里只有精品| 欧美激情综合| 色欲影香| 五月天婷a| 99riAv1国产在线观看| 色婷婷基地| 色色色天堂网| 国产寻花在线| 狼人久草| 日本99视频精品免费播放| 精热在线综合网| 亚洲激情视频网| 亚洲人妻Av| 性av| AV激情五月| 秋霞三及片| 久久99视频| 婷婷五月天天| 亚洲天堂亚洲色色色| 99热这里只有精品66| 26uuu精品国产| 丁香六月婷婷综合在线| 丁香五月婷婷基地| 一起草av| 九九婷婷综合| 六月婷婷AV| 天天色综合色色色色色。| 夜夜干天天操| 婷婷九九色| 激情文学天天| 99这里| 亚洲av午夜精品一区二区| 五月的婷婷六月丁香| 日韩999| 天啪色| 激情亚洲色图片丁香综合| av网址在线| 色九月综合网| 婷婷激情五月天视频在线| 99色色| 99精品一二三四视频| 99热这里有精品2| 五月丁香六月情| 9久久网| 天天色综合综合| 女人天堂AV| 久机视频这只有精品| 五月天伊人久久久久| 五月天俺去也| 超碰永久在线| 26UUU欧美| 影音先锋五月婷婷| 色五月丁香五月婷婷五月成人网| 久久99这里只有精品视频| 九九热免费视频| 亭亭色色五月天| 色爱99| 五月婷婷九九久久| 成人在线日韩欧美| 色五月首页| 午夜成人AV在线| 一区二区乱码视频| 久机视频这只有精品| 婷婷六月色开| 影音先锋色色色资源色资源色| 国产伦亲子伦亲子视频观看| 伊人五月天97| 五月婷婷色| 91操人视频| 啪啪啪综合网| 亚洲欧美成人在线| 国产寻花在线| 香蕉99网| 丁香九月久久| 激情播丁香| 国产FREESEXVIDEOS性中国| 久久久思思热| 免费超碰在线观看| 国产探花一片区| 丁香婷婷综合激情五月色| 免费色婷婷| 99爱在线精品视频免费观看| 五月色婷婷影院| 操人无码| 综合色综合| 色色婷婷婷丁香五月天| 六月色色| 狠狠色狠狠色综合日日91| 久综合九综合99| 久久色情综合免费网站| www.色五月| 国产AV一区二区三区最新精品| WWW.色婷婷.COM| 99热在线网站| 久久激情五月| 激情五月天伊人av| 大香蕉九九| 日本4399天堂中出| 久久99久久99精品免观看粉嫩| www.色99| 五月天婷婷Av| 五月天激情久久| 丁香五月aV| 丁香婷婷综合色五月激情国产基地| 六月婷婷色综合| 丝袜大香蕉| 丁香五月激情久久麻豆| 99在线视频资源| 五月天激情网图片 - 百度| 色吧婷婷五月亚洲| av九九| 六月伊人婷婷| 色婷婷9| 成人精品视频99在线观看免费| 五月天网站亭亭| 狠狠色丁香久久久婷| 亚洲日韩操B| 欧洲一区二区| 日日舔夜夜操| 久久婷婷色丁香| 九色 在线| 五月综合激情| 91久久久久久久| 色婷婷五月天堂资源| 开心五月婷婷婷美女| 欧美顶级少妇做爰HD| 殴美综合激情五月天免费视频| 華人性愛AV在線| 综合爱久久| 无码少妇高潮喷水A片免费| 婷婷九月丁香| 婷婷5月九九| 中出内射的人妻视频| www.色婷婷.com| 狠狠人人| 久久五月天激情美女| 九九综合五月欧美| 骚逼视频一区2区| 特级西西4444www无码| 婷婷成年人免费视频| 色婷婷成人做爰A片免费看网站 | 这里只有精品免费视频在线观看| 六月亚洲婷婷6月中文字幕| 日韩伊人大香蕉| www.超碰97| 99免费热视频在线| 香蕉久久国产AV一区二区| 婷婷色五月在线视频| 色婷婷六月综合| 依人大香蕉| 99ri精品在线| 97热久久五月婷婷| 久久五月情| 色色色色色色色五月| 五月综合视频| 国产肥白大熟妇BBBB视频| 丁香五月婷婷在线| 五月天另类激情在线| 色婷网| 九九热这里只有精品6| 五月婷婷福利| 亚洲成人黄色网| 亚洲久热无码| 五月天激情小说欧美激情| 五月丁香AV、伊人业余、性色熟妇| 99热综合在线| 性 色 婷婷| 五月丁香六月婷婷,婷| 激情九月婷婷| 538在线| 五月丁欧美| 日本一级一级一级一级| 九九视频这里是精品五月| 五月丁香激情综合啪| 久热这里只有精品性色AV| 九九热欧美| 9久视频| 日本不卡中文字幕| 亚洲操b| 日本五月婷婷| 99免费超碰在线| 亚洲欧洲中文日韩久久AV乱码| 伊人激情| 亚洲精品第一国产综合亚AV | 91|疯狂丨高潮丨对白| 婷婷五月花| 极品精品一区二区三区在线| 久久99三级在线视频| 五月婷婷黄色毛片| 综合五月婷婷| WWW、日本色丁香、co m| 丁香五月激情婷婷激情| 这里只有精品在线视频在线观看| Av九九| 丁香六月欧美| 天天干天天av天天射| 91猫咪国产在线播放| 国产99久9在线| 97干欧美| 蜜桃婷婷丁香| 亚洲成人网在线观看| 久久婷婷六月综合综合| 午夜]香婷婷深深爱| 国产永久一黄| 永久的网站AAAA | 九九伦子片| 婷婷射综合| 五月天婷婷久久日| 精品五月天| 91狠狠综合久久久久久| 超碰69天堂| 9l视频自拍9l视频自拍九色学生| 中文不卡一二三区| 六月色播| 26uuu成人网| 免费啪啪亚州视频| 激情网五月婷婷| 五月天激情影院| 中文字幕日本最新乱码视频| 99超级碰碰| 亚洲视频丁香网va| 超碰成人在线观看| 97人人操人人拍| 久久激情网| 久久综合天天综合| 九月婷婷久久| 玖玖午夜视频| 亭亭五月天成人| 亚洲色五月| 一本狠婷婷综合| 色噜噜狠狠色综合AV兰草影视| 色五月综合激情| 婷婷五月色播放| 91刘玥视频在线观看| 亚洲视频在线观看99| 色五月婷婷在线| 国产小精品| caop在线| 婷婷色操| 九九偷拍网| 久久婷婷操| 91精品综合久久久久久五月丁香| 91无码高清| 狠狠狠狠狠操| 性无码专区无码| 99精品自拍| 99爱在线免费视频| 久久久五月天婷婷| 五月丁香激情在线| 双性美人被调教到喷水A片| 91丨九色丨43老版熟女| 激情综合网激情五月天| 色婷婷五月成人网| 久久久精品色| 久久天堂女人| 丁香六月婷婷一区二区三区| 婷婷六月天国产综合| 99热 在线观看| 伊人干综合| 伊人大香蕉在线视频| www.韩日视频| 五月婷AV| 99热10在线高清播放| 婷婷丁香水多多视频| 久久激情网| 先锋五月婷婷丁香草草| 亚洲热久久| 热99精品视频| 婷婷激情性爱| 五月丁香香蕉| 99热在线观看| 丁香久色| 伊人免费视频9| 高清无码一区二区三区四区| 偷拍丁香九月激情| 婷婷色欧美激情| 以及AA大片看看| www夜夜操wwwcon| 99热10在线高清播放| 操熟女成人网| 激情国产综合| 日本久久高清| 激情五月天啪啪视频| 五月丁香婷婷色| 五月婷六月综合在线观看| 99久在线精品99re8热| 丁香五月图片| 91麻豆国产三级精品福利在线观看| 婷婷瑟五月天久久综合| 婷婷五月丁香亚洲| 国内外色色色色色成人视频| 亚洲av综合网| 秋霞免费视频| 五月天婷婷丁香社区| 丁香五月黄色| 成人在线日韩| 9这里只有精品| 超级碰碰视频无码| 久久久婷婷| 天天爽天天弄| 人妻六月天| 五月婷婷熟女| 天天日夜夜夜操操操操| 婷婷六月色情| 婷婷综合视频| 综合一本道| 国产成人AV在线| 亚洲国产精品SUV| 激情久久婷婷| 丁香五月激情五月| 色五月婷婷色五月| 婷婷丁香社区网| 亚洲精品**不卡在线播he| 五月丁香好婷婷A片网| 亭亭丁香久久五月| 五月天婷婷激情在线色图| 久久婷五月| 久久在线人妻| 狠狠色综合网| 色婷婷激情五月天| 中字幕视频在线永久在线观看免费| 天天色天天日| w婷婷五月婷婷w| 91肏| 九九爱精品网站| 九九色综合九九色| 天天日,天天插| 色色热99| 射区导航| 热久久这里只有三级视频| 99爱在线免费视频| 婷婷色在线播放| 色婷五月丁香久亚洲| 五月天丁香网站| 91聚色综合网| 97精品人人A片免费看| 九九热99熟女| 九一99| 蜘蛛女免费观看完整版高清电影| 操人久久| 丁香六月激情综合网| 超碰v| 91五月天| 五月丁香久久网| 五月婷婷激情久久| 这里只有精品视频一区| 天堂婷婷五月色| 激情五月天婷婷图| 天天噜日日噜综合无码| 色色色区| 一起操 91N.com| chaopengdaxiangjiao| 丁香五月五月婷婷| 91狠狠色丁香婷婷综合久久| 九九色婷婷| 久久婷婷五月激情综合| 大香蕉久久久久久久久| 五月综合激情啪啪啪啪啪| 欧美成人精品A片免费一区99| AV在线资源| 国产精品爽爽久久久久久| 99er久久| 天天肏天天爽夜夜爽| 中文字幕五月久久婷婷| 免费V片在线| 日韩黄在免| http:色情日本com| 开心五月婷婷激情| 99九九精品| 丁香五月影院| 婷婷午夜天| 丁香五月婷婷色情综合| 99日本在线| 色婷久九| 99综合自拍| 综激情网| 美欧日韩国产成人在战| 亚洲综合久| 日韩 中文 欧美| 五月婷婷色影院| 色99色| 五月婷婷影院| 91精品久久久久久| 九九久久99精品免费观看www| 五月丁香六月激情视频| 精品无吗va视频免费观看| 五月天开心激情综合网| 日日操夜夜爽| 丁香六月久久| 精品人妻伦一二三区久久| 婷婷五月天成人网| 精品夜夜澡人妻无码AV| 四色五月婷婷| 中文字幕天天干| 免费超碰在线观看| 婷婷五月激情综合啪啪| 婷婷久久免费| 五月天激情播播网| 激情五月丁香色婷婷| 亚洲最大五月六月丁香婷婷| 色婷婷AⅤ| 伊人www22综合色| 婷婷色导航| 五月丁香天堂网婷婷| 99久久99热这里只有精品| 五月丁香激情综合啪| Va另类视频| 丁香五月在线| 久久怡红院| 99精品偷自拍| 国内久久亭亭| 国产欧美日韩性爱| 天天干天天爽天天爽| 日本色色色| 欧美成人A片AAA片在线播放 | 五月丁香婷婷五月色| 青草激情综合| 99狠狠色| 丁香六月婷婷基地| 国产三级片91| 五月五丁香婷婷| 六月丁香五月天| 人妻久久久久久久| 超碰九热| 激情小说五月天社区丁香 | 婷婷丁香视频在线观看免费 | 丁香六月激情| 免费观看欧美成人AA片爱我多深| 三级片AAA久久久AAA久久久AAA | aaaaaa片| 婷婷99狠狠| 久久伊人大香蕉| 日韩精品99久久| 亭亭玉立国色天香| 亚洲成人在线五月天| 亚洲人妻AV| 午夜成人在线免费视频| 五月的丁香六月的婷婷| 婷婷操超碰| 91碰人人| 婷婷丁香六月五月天| 五月丁香中文| 亚洲国产精品二二三三区| 99热主页日本| 婷婷久久亚洲| 久久精品A片777777| 99热网址| 丁香五月婷在线观看| 人妻无码精品一区| 久久综合婷| 天天噪夜夜爽| 九月色婷婷| 丁香五月天婷婷大香蕉| 538久久| 99热精品中文字幕| 婷婷终合色图| 五月婷亚洲精品| 成人视频网| 第四色激情网| av在线中文| 91高潮喷水久久久久久久久| 成人九九视频| 国产欧美熟妇另类久久久 | 99热一本久道| 99日韩网站| CHINESE熟女老女人HD视频| 99热这里只有国产精品| 六月激情网| 久久人人九九| 99久精品视频| 婷婷香蕉视频| 久久久这里有精品| 91九九九九九九| 婷婷六月天亚州| 六月激情网| 综合五月天亚洲婷婷| 无码啪啪| 日本久久精品| 97综合在线| 五月婷色色| 五月婷啪啪| 婷婷伊人综合中文字幕| 日本色色网站| 日韩成人中文字幕| 97超碰人人操| 激情五月,色五月| av中文在线| 婷婷五月在线综合| 欧美色婷婷| 99热精品少| 色婷婷影视| 春色激情第四色| 成人无码髙潮喷水A片| 丁香六月婷婷综合麻豆| 国产毛片欧美毛片久久久| 国产26uuu视频| 日本色五月| 色五月久久成人婷婷| 天天爽人人综合免费7799| 九九色热| 囯产精品久久欠久久久久久九大| 深爱激情九九五月天 | 婷婷五月天激情小说| 丁香5月综合啪啪| 日本不卡高字幕在线2019| 久久这里只有精品视频1| 玖玖@三月天天丁香婷婷| 婷婷激情综合| 超碰人人超碰| 国产精品天天狠天天看| 综合五月天天天天天五月| WWW、日本色丁香、co m| 五月开心激情| 99综合| 91丨九色丨东北熟女| 婷婷深爱五月丁香网| 欧美高潮9| 五月丁香性爱| 色七色九九| 婷婷新网址| 日本五月视频| 4399亚洲视频| 最近中文字幕2019视频1| 婷婷5月九九| 99热这里都是精品| 国产FREESEXVIDEOS性中国| av操一操| 精品久久99码| 人妻在线观看视频| 激情五月婷| 色综合久久天天综合网| 五月丁香婷婷色播无码| 久久99网| 美女美女美女三级色天天天天天| 婷婷黄色| 深夜婷婷 丁香| 影视av久久久噜噜噜噜噜三级| 五月天婷婷基地| 激情五月天伊人影院| 99精品视频偷拍| 伊人久久丁香五月91| 色色热| 99色视频在线观看| 婷婷色在线播放| 少妇水多A片太爽了| 色五月人妻| 色婷婷视频| 99丁香婷婷综合网| 狠狠五月天| 类似婷婷激情综合网站| 亚洲综合网激情小说| 亚洲成人av在线| 国产一区二区av免费| 伦乱天堂| 人妻久久久久久久久久| 激情深愛五月視頻| 香蕉伊人综合| 91国产精品视频播放| 欧美精品99久久久| 99只有精品| 五月天婷婷在看| 99热久| 密视AV综合在线| 免费超碰在线观看| 婷婷综合网| 97五月久久丁香婷婷| 99在线精品视频免费观看20| 欧美又粗又大一区二区在线观看| www.婷婷五月天| 九九成年视频| 五月丁香婷婷五月色| 亚洲色网络| 色吧五月| 丁香五月中文字幕色播| 久久婷婷综合五月趴| 99热精在线九九久久保| 久热这里只有精品3| 超级碰碰碰碰视频| 久久日韩婷婷五月| 97久久超级| 教师性爱毛片| 九九丁香社区欧美激情| 99在线免费观看| 人妻久久久| 亚洲AV成人在线| 色综合色五月| 色色婷婷丁香五月天| 五月亭亭网成人在线视频| 玖玖99福利| 丁香五月婷婷性爱| 人妻操逼| 久久久久久久久久久久久久人妻视频| 丁香五月情色| 婷婷视频网| 成人在线视频网| 久大香蕉| 五月婷婷99热| 97干网站| 激情婷婷五月天。| 26uuu.| 亚洲综合色网站| 婷婷五月天深爱| 色国产五月| 国精产品久久| 丁香网五月天激情| 五月婷婷在线视频观看| 日韩AAAAA| 91丁香五月| 99精品在线播放| 欧美色婷婷| 99爱在线视频| 涩涩五月天| 天天操天天干天天射| 日韩综合成人| 婷婷亚洲久久| 777米奇影视第四色| 色九九中文字幕| 亚洲成片在线观看| 人人综合久| 五月网激情| 婷婷综合五月天激情| 俺去也在线www色官网| 亚洲情a| 色五月天丁香婷婷| 五月天色色网站| 99热这里只有精品9| 日韩欧美成人一区二区三区| 丁香五月婷婷五月基地| www.久久99热地址发布| 91丨九色丨43老版熟女| 丁香花五月天| www.色窝| 这里有精品| 激情综合网五月婷婷| 免费无码毛片一区二区A片 | www91色网站| 五月丁香六月婷婷久久肏| 日本超碰在线| 五月视频日本免费观看| 五月天综合视频网| 超碰在线视屏| 无码成人播放器| 啪啪五月婷婷| 五月天堂婷婷| 色情久久久| 天天爱天天秀天天做| 在线日韩视频| 精品自拍99| 就要爱综合| 丁香五月天网友自拍啪啪啪视频| 丁香五月天社区| 欧美人与性动交CCOO| 五月婷婷激情在线| 亚洲综合在线伊人婷| 婷婷六月中文字幕| 日韩成人综合网| 99热 日韩| 亚欧州精品视频| 天天爽夜夜爽夜爽精品| 超碰人人超碰| 五月做爱| 入口五月婷婷六月香| 婷婷.com| 国产成人片| 伊人婷婷五月天av| 深爱激情av| 97精品综合久久| 亚洲99一级无嗎特制在线| 五月激情婷婷图片基地| 婷婷五月天高清无码| 精品亚洲国产成人A片在线鸭王| 久青草大香蕉| 欧美97p| 成功精品影院| 99色视| 亚洲、热| 亚洲激情五月天| 久久99精品日本| 五月婷婷成人网首页| 婷婷激情人妻| 激情国产五月| 激情综合4月| 秋霞性爱AV| 午夜丁香婷婷| 五月大香蕉| 日本激情91| 丁香五月玖玖| 激情二色月| 五月激情小说网| 成人丁香色| 热久久这里只有精品| 97五月婷| 婷婷玉月丁香五月在线视频| 亚洲日日操| 99riAV国产精品视频| 直接看的AV| 日木WWW视频| 伊人成人宗合网| 色色亚洲| 中文字幕黄色电影网址| 九九热99热| 我淫我色婷婷五月天激情四射| 日日夜夜狠狠| 亚洲无码成人性爰网| 丁香啪啪| 人妻22p| 91青娱乐青青草| 激情综合五月婷婷| 欧美亚洲成人在线| 日日操日日撸| 久久五月天网| 97亚洲婷婷| 婷婷综合视频| 五月婷网| 九九综合精品| 婷婷五月影院| 91精品久久久久久久久| 色婷五月天| 色七七九九| 天堂五月婷婷| 五月丁香激| 丁香六月婷婷开心| 大香蕉五月天婷婷丁香91| 色噜噜狠狠色综无码久久合欧美| 东京热免费视频网站| 噜噜网免费视频| 五月丁香婷色| 99re8在这里只有精品| 夜夜爱影院| www,久久久| 亚洲中文字幕av| 午夜天堂啪啪| 精品婷婷| 五月婷婷婷| 激情五月综合色婷婷| 欧美A级成人婬片免费看理论| 亚洲综合婷婷六月丁香五月| 狠狠色丁香婷婷五月| 日日撸夜夜操| 色狠狠色| 丁香五月久久| 99久久黄色顶级视频| 丁香婷婷欧美综合| 日韩爱操视频| 超碰在线视屏| 拍真实国产伦偷精品| 99热精这里只有精品| 婷婷日本色| 久久97| 九九九九九无码| www.ywav| 亚洲人成色A777777在线观看| 免费黄色视频网址| AV成人在线网站| 激情五月,色播五月| 亚洲综合无码| 久久久国产精品黄毛片| 婷婷五月噜噜| 久操综合| 五月婷婷激情五月| 激情5月天天天| 亚洲 视频 导航 一区| 五月丁香综合激情| 婷婷色爱| 亚洲综合字幕色色| 日本欧美成人片AAAA| 丁香六月综合| 天天色天天干天天插| 免费观看日韩成人av| 狠狠色丁香| 99在线亚洲| 天天射综合网站| 亚洲天堂婷婷| 激情五月天激情五月天| 婷婷五月天激情四射五月天激情| 精品视频网| 色优久久| 六月丁香综合| 色9色| 久久99精品久久久久久青青AR| 亚洲成人免费在线| 久色| 深爱五月中文字幕| 亚洲第一黄网| 91av无码| AAA久久| 五月丁香婷草| 丁香婷婷中文字幕| 久99热| www91久久| 激情都市另类| 超碰九九热| 狠狠干无码| 99视频精品全部免费观看| 五月丁香六月激情综合| 91九色 熟| 色五月在线观看| 日本色色色| 69午夜成人影片| 五月激情啪啪啪| 77777亚洲午夜久久| 五月激香蕉网| 久久久精品色| 亚州操操| 丁香婷婷六月| 婷婷五月天视| 色狠狠综合| 婷婷婷久久久| 日本精品久久久久中文字幕| 天天综合五月天| 超碰97免费在线| 色情综合网| 色激情综合| 久久综合五月天| 五月天婷婷色播综合在线| 91狠狠综合网| 91视频人人做97| 国产亚洲精品久久久久久郑州| 成人精品在线观看| 丁香五月91| 激情五月婷在线精品| 天天干-天天日| 午夜九九电影| 午夜一区| 五月丁香综合激情网| 久人操| 亚洲一级AV在线免费播放| 婷婷丁香激情五月天色色色| 丰满老熟妇BBBBB搡BBB| 五月婷婷六月色| 99久久性爱| www.五月天婷婷| 丁香五月天社区| 另类激情五月| 日本九九九九| 五月天色丁香| 亚洲人妻av| 久久a热| 色色色综合网| 激情综合婷婷| 久久人妻视频| 久久久国产精品黄毛片| 99免费视频| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 九九干视频| 婷婷激情五月天小说| 婷婷激情五月视频| 超碰99资源站| 色欲久久久久久综合网综合网| XX久久| 伊人91| 翔田千里aV中文字幕| 天天爽天天日人人爱| 日日色五月天| 99热这里只有精品一区| 99九九视屏| 色在线视频网2025| 婷婷八月丁香激情综合| 婷婷五月天视频免费在线观看| 色吧五月婷婷| 另类图片五月天| 97人人射| 人妻视频一区而且二区| 亚洲AV免费国产电影| 色播激情| 婷婷五月电影| ,99视频久久| 99爱在线视频观看| 天天操婷婷| 99热精品在线观看| 欧美 日韩 人妻 高清 中文| 无遮挡国产高潮视频免费观看| 久久加勤综合| 五月 成人 婷婷| 色婷婷狠狠18禁| 玖玖综合色| 色婷婷九月| 五月丁香六月婷婷综合在线| 亚洲激情淫网| 激情五月天伊人影院| 色激情五月天| 五月天婷婷影院| httpwww色com日本| 婷婷情色五月天| 激情小说五月丁香在线视频观看视频| 2w在线视频| 97在线精品视频| 色婷婷六月激情| 思思热精品在线观看| 色人久久| 淫视馆av三区| 久久综合伊人77777蜜臀| 九九成人高清视频| 无码区婷婷五月花开| 激情四射五月天| 丁香,开心成人,久久| 婷婷综合视频| av国产精品偷| 另类激情五月| 久久婷五月婷| 日韩熟女啪啪视频| 九月综合| 丁香五月 六月婷婷首页| 久久久香| 国产精品日本一区二区在线播放| 99免费青青蜜臀| 五月天无码视屏播放| 久久激情五月婷婷| 国产精品色情AAAAA片软件| 色久影院| 成人性爱精品视频| 综合久久99| 操草草草| 狠狠狠狠狠狠狠狠狠狠狠色宗合图片| 色色五月天婷婷丁香| 无码AV久久久久久久久| 色碰碰| 女人天堂 AV| 精品一二三区久久AAA片| 色婷婷啪啪| 99只有这里是精品| 久久色情| 久久综合播放| er99免费视频在线| 久久99久久99精品免视看婷| 五月丁香综合激情| 91大操| 亚洲色色色色色色色色色| 九九99精品视频在线观看| 国产肥白大熟妇BBBB视频| 97操操操| 丁香五月综合激情性爱| 国精产品一区一区三区免费视频| 婷婷色导航| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 99热国产婷婷| 天天操天天爽天天爱| 日本久久婷婷| www.99热精品| 欧州色色| 欧美大肥婆大肥BBBBB| 婷婷欧美偷拍综合| 九热视频| 色综合久久天天综合网| 99精品热| 日本黄色精品| 久久99网| 97成人超碰免| 日韩十国产极品久久| 婷婷六月天国产综合| 深爱开心五月天| 这里只有精品久久| 久99热| 啪啪啪大香蕉| 在线播放中文字幕| 亚洲不卡| 久久色五月天| 五月天婷婷激情| 成人在线日韩欧美| 99re热在线视频观看| 99热亚洲综合| 99热这里精品| 五月丁香婷婷啪啪网| 性爱久久| 国产免费av在线| av色婷婷| 蜜臀丁香黄色婷婷五月天| 五月丁香综合|