欧美成人午夜精品久久久,国产?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
返回資訊列表
色九月| 办公室少妇激情呻吟A片在线观看| 日日夜夜干| 欧美噜噜久久久XXX| 激情婷婷六月天| 99在线精品视频免费观看20| 久久人妻乱子伦| 丁香九月激情在线视频| 国产AV国片偷人妻麻豆| 日日夜夜狠狠| 99在线精品观看99| 五月婷啪啪| 国产精品久久久丁香五月八戒视频| 夜精品无码A片一区二区蜜桃| 日日夜夜爽| 五月天综合网| 99热最新| 另类在线| 色婷婷影视| 国产精品色| 99热九九在线| 婷婷五月天亚洲精品| 丁香婷婷五月综合影院| 99久精品视频| 另类精品视频在线观看| 在线网黄| 久久久久久欧美精品se一二三四| 丁香狠狠色婷婷久久无码视频| 色色国产| 五月天天天天天天天天天天天天天天天婷婷婷| 天天爽免费视频| 免费AV黄在线播放| www.狠狠色.com| 翔田千里 50岁 无码| 五月激情综合网| 亚洲久久婷婷| 亚洲激情网站| 色色色色色色色色网站| 色婷婷亚洲六月婷婷中文字幕| 996热| 97国产精品女人碰碰| 色欲一区二区三区精品A片| 亚洲av免费在线| 天天拍天天操| 天天日,天天干,天天操| 色五月激情视频在线综合| 欧美经典片免费观看大全| 婷婷久久99| 五月开心色| 久久久五月婷婷| 激情床戏| 久久aaa| 开心婷婷五月天综合| 久久资源网五月婷| 99热在线里有精品| 这里只有精品免费观看网占| 国产97色在线 | 日韩| 五月天婷婷在线播放| 激情婷婷五月天日本系列| 97色色色色| 99热网站| 婷婷五月天成人综合网| 9热在线观看| 日韩黄色电影| 日韩av在线免费观看| 草五月| 日日干夜夜干| 国产精品国产成人国产三级| 99精品久| 99这里是99在线视频| 欧洲亚洲免费视频区| 另类视频一区| 亚洲人妻五月丁香婷婷| 成人视频婷婷| 99自拍视频在线观看| 日韩另类| 99热99草97| 色激情五月| 色综合婷婷| 98毛片| 99人人操人人摸| 天天插天天干天天舔| 五月婷婷 激情五月| 久久九九热视频| 涩涩婷婷五月| 久久亚洲激情五码| 97精品综合久久内射| www.99热在线| 狠狠五月天婷婷激情网。| 婷婷狠狠干| 色狠狠综合| 天天操婷婷| 激情五月天视频| 99久久九九视频| 成人短视频在线免费观看| 亚洲区,视频区,视频区免费| 99热这里只有精彩| 欧美性猛交 XXXX 乱大交| 久久综合人妻| 日本精品干| 99惹在线精品免费观看| 午夜丁香综合婷婷| 色婷婷色丁香色欲av| 久久婷婷五月综合啪| 色VA| 国产成人99久久亚洲综合精品| 淫视馆aV二区一区| www.91在线观看| 国产精品在线视频| 99无码黄色视频| 婷婷婷狠狠| 97啪啪| 99成人无码| 天天肏视频| 九 九九九AV| wwW天天干| 99无码精品| 国产做爰视频免费播放| 激情五月图| 超碰资源在线| 人妻视频在线| 六月撸婷婷| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 九九这里精品| 久久综合99| 婷婷九色| 亚洲一区二区无遮挡A片| 婷婷五月欧美综合| 人人操超踫| 丁香五月天啪啪| 97ai婷婷| 天天做天天爱天天玩| 日比网免费国产| 另类的婷婷| 色色日本欧美| 色噜噜夜夜夜综合网| 丁香六月五月婷婷| 一区无码| 五月天com| 国产精品第一国产精品| 丁香五月激情六月综合| 在线不卡视频| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 欧美婷婷六月丁香综合色连续高潮抽搐| 可以直接看的av网站| 日本三级黄色大片| 五月天天天综合| 国产成人+综合亚洲+天堂| 大地资源色婷婷视频在线| 五月丁香免费视频| 少妇综合网| 91操网| 激情五月色婷婷| 丁香婷婷婷五月综合色情| www.成人婷婷综合| 黄色一级影片| 日本片日本片祼观看网站在线看中文版网页在线看 | 香蕉久久五月| 婷婷五月免费视频| 天天爽在线视频| 思思热视频| 激情五月九九九| 中文乱子伦视频| 激情综合文学| 99久久久免费| 91碰| 国产无遮挡又黄又爽免费网站| 亚洲综合久| 日本三级中国三级99| 日本综合色色| 婷婷色色亚洲| 91婷婷色五月| 天天综合干| 色婷婷狠狠禁久久| 六月丁香五月天| 婷婷六月丁香在线| 久久99免费视频| 六月综合婷婷开心伊人| 欧美大奶熟女噜噜噜噜| 五月情涩综合婷婷| 五月天伊人| 天天色综合色| 99热狠狠操| 99爱爱| 天天肏天天插| 99久久99九九99九九九| 黄色国久久| 久久久天天啊| 婷婷五月激情丁香激情| 久久大香蕉同僚| www.激情五月| 伊人玖玖网| 综合五月草| 9久热精品在线视频| 五月婷婷丁香俺日污视频| 久热A片| 99视频在线观看视频| 99久久色| 99久久国产宗和精品1上映| 99热精品在线免费观看| 人人操Av| 亚洲情欲久久| 日本精品人妻无码77777| 日本五月婷婷| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 热久久成人| 五月天大香蕉av| 夜色爱爱亚洲| 亚洲午夜在线视频| 亚洲精品成人| 深夜男女福利刺激影院一区完整| 婷婷 久综合| 婷婷五月天亚洲综合网| 色色99| 天天爱综合网| 久久成人人妻| 五月丁香婷婷伊人| 亚洲狠狠狠色婷婷综合激情久久久| 九七色色六月丁香| 99视频精品| 开心五月婷婷婷美女| 日日色五月天| 五月激情五月丁香| 九九美女视频| 婷婷97狠狠成人网站| 中文字幕 中文字幕明步| 久久99热这里| 五月丁香色综合| 97在线观视频免费观看| 免费无码毛片一区二区A片| 97干婷婷| 99九九综合久久九九| 99视频只有这里精品| 五月天丁香六月综合| www狠狠com| 久久五月婷综合网| 中字幕视频在线永久在线观看免费| 俺去啦综合网| 久热网在线视频| 白天AV月月| 综合欧美五月婷婷| 欧洲婷婷五月天| 99精品国产热久久91色欲| 男人的天堂97| 久久久性爱网| 五月香婷婷| 亚洲午夜视频| 亚洲精品网站色视频| 草草操操| 中文久久久人妻| 大香蕉久久| 中文字幕不卡+婷婷五月| 久久9999| 综合激情五月天| 成人精品在线| 五月天三级| 亚洲AV激情五月综合网| www,婷婷五月天,com| 七七色色综合| 超碰狠狠操| 超碰91人人操| eeuus五月婷| 久久精品系列| 五月亭亭色| 日本三日本三级少妇三级66| 任你爽精品免费视频6| 99色在线观看视频| 久久婷婷五月综合97色一本| 狠狠搞五月天| 丁香五月激情婷婷| 超碰成人av| 毛片新网地| AV在线观看网站| 深爱五月日韩| 操射国产日本| 久久伊人婷婷| AA片在线观看视频在线播放| 亚洲图色五月天| 色婷在线视频| 国庆精品久久| 色五月天成人| 色老久久| 亚洲欧美在线观看| 1024操逼视频| renrencaoav| 五月色丁香激情| 五月天婷婷丁香六月| www.色婷婷.com| 夜夜骑福利资源| 欧美色性色好| 色婷婷亚洲| www.色综合| 久久久久久五月天| 九九色婷婷| 狠狠操天天操综合| 久久久久久丁香五月| 婷婷婷五月天最新综合你懂的| 777久久综合视频| 五月婷婷福利| 色五月大香蕉| 色色狼人综合| 婷婷亚洲欧美丁香五月| 丰满老熟妇BBBBB搡BBB| 激情久久五月天| 久久五月丁香| 亚洲激情另类| 亚洲色99综合天堂| 国产夫妻操逼内射视频| 91AV婷婷| 激情综合婷婷久久| 翔田千里无码| 综合网激情| 婷婷久久图片| 亚洲小视频| 九九色逼| 91ncm视频| 色久综合天天做视频| 五月色丁香| 成人丁香五月天| 丁香八月综合激情| 伊人婷婷激情| 婷婷五月天影院| 99热很操老逼| 天天天天色天天天天天干| 亚洲操逼网| 久久综合九色综合88i| 久久黄A片| 日本操B视频| 久色激情| 九九视频这里有精品| www.久久久.com| 激情五月天婷婷播播久久综合91| 色在线免费观看| 人人澡天天色天天做| 99热这里全是精品| www.第四色99| 丁香五月天BBw| 久久久8| 大香蕉久久久久久久久| 开心五月激情五月丁香五月婷婷| 九月av| 色综久久久| 日韩五月婷婷| 天天色天天日| 99视频内射三四| 色色色地址| 综合五月激情| 色五月婷色彩免播放器| 99热人人| 日本不卡高字幕在线2019| 91热久| 丁香五月深爱五月婷婷| 99视频只有精品| 丁香五月91| 在线不卡视频| 99热欧美在线观看| 色香欲综合| 国产全是老熟女太爽了| 婷婷久热| 五月婷婷色| 成人色五月天婷婷| 99免费在线视频| 久热大香蕉| 成人短视频在线| 99福利导航| www.色五月| av第一二区| 色狠久| 天天色五月婷婷91久久久久久久| 国庆精品久久| 婷婷五月丁香四射| 99色在线视频| 婷婷性爱网| 天天肏在线观看| 五月丁香另类图片| 日本综合色图| 天天爽综合| 热99色| 亚洲美女婷婷五月天| 99操视频| 天天射天天射一道本日本社区| 91日本在线| 99热老司机| 亚洲精品婷婷| 好激情在线综合网| 开心激情婷婷| 色综合九九| 婷婷五月在线观看| 人人干AV| 4399伦理午夜| 五月天久久婷婷| 婷婷五月天com| 999热在线观看视频| 99精品小视频| 99热九九这里只有精品| 五月天丁香婷婷视频网址 | 91狠狠色| 日本精品人妻无码77777| 色婷婷电影网| 99久久99综合| 午夜成人AV在线| 激情五月天激情网| 五月天丁香啪啪啪啪| 久久婷婷五月天蜜桃| 婷婷射丁香| 九九性视频| 色天天综合| 另类 在线| 操91| 热99免费在线| 99热这里只有精品2016| 日韩精品一区二区刘| 日韩人妻无码专区| 久久久精品人妻录| 墨西哥毛片内射精| 色噜噜狠狠色综无码久久合欧美| 五月丁香婷婷六月天| 伊人影院久久网| 嫩草视频在线观看| 亚洲丁香五月在线观看| 色五月婷婷婷婷婷婷婷婷婷婷| 激情色色| 色婷婷婷婷五月天| 亚洲激情免费久久| AV在线中文| 野战J办公桌椅H| 色欲久久久久久综合网综合网| 波多野结衣不卡AV| 五月亭亭欧美女人| 99热偷拍| 天天久| 色丁香五月婷婷婷| 色色色色五月天| 色五月综合激情网| 激情色色色| 五月婷婷久草在线视频综合| 国产热精品| 久九男女天堂| 色色五月丁香| 成人亚洲精品| 亚洲无码成人| 日日撸夜夜操| 婷婷色基地| 色99亚洲| 欧美性爱中文字幕| 久久久全国免费视频| 五月丁香91| 婷婷 激情 五月| 97九色| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 色婷五月天| 五月天综合久久丁香91| 丁香五月天激情四射网络不好| 国产免费一区二区三区三州老师F1F1.CC| 九九99免费理论| 婷婷久久性爱| 91凹凸在线| 乱岳熟女50岁| 高清无码入口| 亚洲午夜AV| 婷婷激情综合网| 天天弄天天操| 99热资源在线| 天天久久狠狠色综合| 亚洲婷婷免费| 99视频只有这里精品| 五月天激情婷婷丁香| 天天日天天摸天天| 激情五月综合免费| 99热精品一区| 色色五月婷婷丁香| 激情五月狠狠| 丁香六月激情国产| nvrentiantang av| 97碰久久| 激情亚洲网| 日韩精品二三区| 五月婷婷成人网首页| 99热九九在线| 亚洲 视频 导航 一区| 亚洲精品中文字幕成人片| 99色久| 亚洲成人超碰| 丁香五月激情婷婷视频| 99re这里只有精品国产99| 777.色色| Www.激情| 大香蕉99| 五月婷婷亚洲| 亚洲日本韩国| 久久久久久久人妻| 九九综合色| 国产又色又爽又黄又免费| 免费婷婷| 三男玩一女三A片| 久久9热好| 九九激情| 婷婷五月天丁香| 99er日韩| 丁香九月婷婷| 激情五月狠狠| 国产日比| 婷婷97C| 人人综合久| 五月天婷婷色在线视频免费观看| 丁香五月天欧美成人| 色综合爱综合| 殴美日韩成人| 国产乱妇无乱码大黄AA片| 国产亚洲AV人片在线| 色婷婷丁香社综合| 婷婷激情四射网| 好好干Av| 九九九成人在线视频| 色婷婷激情五月天| 高清无码视频网址| 五月婷久久综合| 玖玖色综合网| 婷婷六月天亚州| 99色热综合| 综合激情在线视频| 五月婷视频| 婷婷五月天美女21p| 六月婷婷综合激情| 在线综合婷婷| www久久99| 无码激情AAAAA片-区区| 激情婷婷五月天| 色综合综合网| 五月丁香色婷婷| 亚州婷婷五月激情综合| 五月色亭丁香| 99热日| 久操欧美在线观看97| 午夜一区| 色情五月综合婷婷| 秋霞少妇AV网站| 久热91| 热99在线| 91久久婷婷| 久久曰曰| 99精彩视频在线观看| 婷婷五月深情丁香深爱日韩| 婷婷99狠狠| 国产九月婷婷| 天天日夜夜操五月| 久久99久久99久久99人受| 啪啪99| 丁香五月婷婷色| 色色色地址| 亚洲日本三级片| 激情五月天无码| 亚洲激情婷婷| 九九99精品| 亚洲乱码w在线观看| 婷婷在线五月综合| 狠狠干2007| 激情五月天 婷婷| 婷婷爱爱蜜臀天天操| 亚洲欧美999| 久热一区| 丁香丝袜五月| 亚洲丁香花五月丁香花| 日韩按摩二区| av操B网站| www,五月丁,com| 日本综合久久| WWW色五月天| 在线只有精品| 蜜臀A∨在线水帘洞| 啪啪91| 亚洲激情网| 欧美 日韩 成人| 五月天天爽| 综合久久久婷| 日本爆乳片手机在线播放| 中文在线视频久9| 欧美色骚婷婷五月天| 色色激情五月天| 99re思思在线视频| 九九黄色网| 狠狠擼综合| 精品香蕉99久久久久网站| 五月天婷婷自拍图片在线观看| 日本爆乳片手机在线播放| 狠狠干狠狠操狠狠爱| 伊人色综在线| 婷婷五月天天激情| 丁香婷婷色色| 99亚洲精品视频在线观看| 丁香五月婷婷六月| 日在线V视频在线播放| Blackedraw视频一区二区| www.五月婷婷久久.com| 91操在线| 成人欧美日韩| 久热这里有精品视频| 精品国产一区二区三区四区阿崩| 99热这里只有在线播放| 欧美天堂婷婷日韩| 婷婷色五月情| 99riAV国产精品视频| 五月天开心激情综合网| xx综合网| 99视频91| 天天肏夜夜肏| 久99热| 色色五月天丁香婷婷| 久久婷婷激情| 激情综合激情五月| 五月婷在线影院| 性爱视频久久| 99无码黄色视频| 91精品丝袜久久久久久| 欧美三9久九观看| 丁香五月婷久久| 久久久精品视频79| 欧美五月婷婷综合| 婷婷综合五月天| 色高清无码视频| 毛v一区二区视频| 操久久网| 色五月婷婷久久| 99热精品在线| 99久在线精品99re8| 久久久久久久久月丁| 久久只有精| 91男人操女人视频| 日韩在线视频中文字幕| 欧美美女国产日韩一区二区久| 婷婷五月天成人网| 五月天婷婷综合免费| 五月婷婷六月丁香免费| 久久精品99国产精品日本| 五月激情婷婷在线| 丁香激情网| 五月婷婷69| 久热这里只有精品在线观看 | 欧美久久久久久久久中文字幕| 99热97| 天天免费成年人视频| 色情五月天。| 思思干精品| 五月婷婷六月丁香| 四色永久成人网站| 天天五月天综合网址| 五月婷婷激情四季| 9久视频| 婷婷综合在线视频| 激情婷婷丁香| 国产成人精品一区二区三区视频| 丁香六月激情网C0W| 欧日美女Va| 日韩久久色| 九九综合五月欧美| 九九色情网站| 51精品国自产在线| 久久小视频| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪 | 91精品视频男人的天堂| 99视频这里有精品| 日本啪啪网| 情趣视频66| 丁香六月视频| 日韩欧美四五区| 婷婷综合欧美| 91丨九色丨国产打屁股| 99日韩| 123草逼网| 99碰在线视频| 十区AV| 97热超碰| 99玖玖人人| 五月丁香六月片| 综合AV网| 91夫妻网站九色| 久9综合| 琪琪色五月婷婷老师| 九九色图| 激情五月天色播| 亚洲热综合| 26uuu成人网| 久久最新色| 久久伦乱| 99热99在线| 天天操婷婷| 99色| 色婷婷综合网| 夜精品无码A片一区二区蜜桃| 色色丁香婷婷综合| 337p大胆噜噜噜噜噜91Av| 涩五月婷婷| 超碰在线国产| 大战熟女丰满人妻AV| 丁香五月天大香蕉啪啪| 秋霞网在线免费基地五月婷婷丁香| 久久久久久人妻| 激情综合五月婷婷| 在线中文AV| a片在线免费观看一区| 激情五月天情色| 六月丁香狠狠爱| 丁香五月天网站| 丁香六月狠狠| 丁香丝袜五月| 99自拍视频网站| 精品人妻伦一二三区久久| 亚洲熟妇无码乱子AV电影| 五月婷婷色播| 人妻啪啪啪| 日本精品人妻无码77777| 狠狠色中色| 超碰97免费在线| www久久99| 婷婷五六日| 久久五月综合| 五月天激情小说| 激情性爱五月天网页| 色青五月天| 电影《战争与艾拉》免费观看| 99成人网一区| 99精品久久久久久久婷婷久久| 99视频在线观看欧| 五月天狠狠色| 青青草国产亚洲精品久久| 亚洲夜夜操| www.久久久久久久| 操99| 国产操逼网站| 亚洲色色在线| 97性视频| 色综合99无码| www久久久| 天天草比天天爽| 精品人妻一区二区三区四区不卡在| 九色PORNY9l原创自拍| 色色五月天 亚洲| jiujiu热在线视频| 婷婷五月天成人网| 婷婷五月丁香手机在线视频| 欧美日韩aaa| 午夜日韩久久久网站| 99er精品| 五月天婷婷基地综合网| 精品五月花| 久久五月天精品视频| 六月天丁婷婷| 少妇高潮呻吟A片免费看软件| 狠狠色噜噜狠| 五月天婷婷黄色视频| 少妇人妻凹凸视频| 亚洲国产99| 91久久免费| 噜噜噜噜噜色| 青柠影视免费高清电视剧| 99热日韩| 五月丁香婷婷免费视频| 婷婷.com| 婷婷六月天精品| 色婷婷小说| 日本系列_4页_777FP| 激情五月婷婷综合色播小说| 久99热| 五月天婷婷色在线视频免费观看| 欧美黑人巨大猛烈cuckold| 色五月在线播放| 中文字幕成人版| 袁子仪视频观看| 五月激情综合网| 9 1超碰九色| 99久在线精品99re5热视频| 欧美人与性动交CCOO| 色婷婷成人久久| 亭亭社区五月天| 成人国产欧美大片一区| 久草五月丁香婷婷综合| 五月婷婷激情69| 狠狠色噜噜狠| www色婷婷| 久操福利| 四色永久成人网站| 久久三级视频| 色婷婷综合网| 五月天婷婷综合网| 日本色频| 激情综合五月丁香| 五月丁香久久综合| 狠狠操狠狠| VA五月激情在线| 天天爽天天操| 日韩六六久久电影| 日韩欧美成人一区二区三区| 可以免费看AV网站| 99免费视频| 丁香婷婷偷拍| 久久99大| 六月综合婷婷开心伊人| 久99热在线观看| 99视频在线播放大全| 五月天色软件| 操逼巨乳91| 91婷婷色五月| 九九热精品| 日日做天天操夜夜爽| 日韩操人| 久热这里只有精品66| 久久密臀婷婷| 欧美激情综合色综合啪啪五月| 丁香五月婷婷综合激情啪啪啪啪啪啪啪 | 五月婷婷婷丁香播| 激情综合99| 五月婷婷啪啪| 九九视频热| 91综合视频丁香| 色色A| 欧美熟女99| 日本啪啪视频HD| 九九久热| 思思99热这里只有精品| 国产精产国品一二三在观看 | 123日本不卡在线| 丁香五月天无码| 99国产精品久久久久久久久久久 | 天天插插天天| 五月婷婷中文字幕| 性做久久久久久久免费看| 激情影院内射| 婷婷酒色网| 婷婷丁香五月亚洲| 97干在线| 国产av天天插天天操天天爽| 色丁香六月| 综合久久综合久久| 色婷丁香91| 97操碰在线视频| 2020久久婷婷五月| 精品一区久热| 丁香五月婷婷色情综合| 色欲资源网| 日韩啪啪视频| 伊人久久大香| 久久丁香| 99热这里只有精品8| 国产永久一二一起草| 一本九九色| 99国产精品白浆在线观看免费| 婷婷五月激情基地| 无码色综合| 99久久99综合| 日韩欧美一级大黄网站| 开心激情播播五月天| 蜜乳9188| 91久久综合亚洲鲁鲁五月天| 激情色五月天| 九九99精品| 综合色影院| 俺去也在线www色官网| 久久99jiu9| 欧美美女视频| 99操碰| 九九免费视频| 亚洲综合网激情小说| 九九XX视频| 狠狠操狠狠操AV| 色情久久久| 久久婷婷五月综合色奶水99啪| 九九色热| 日韩性视频| 无码色色| 五月天另类小说久久小说网| 婷婷国产综合| 久久伊人五月天| 欧洲区自拍| 香蕉99网| 激情色色色| 婷婷情色五月天| 少妇综合网| 99在线精品视频免费观看20| 婷婷丁香五月六月激情| 思思热久久阴99| 就是色婷婷五月亚洲色| 91色涩| 非洲一级AV| 光棍影院日韩精品| 欧美丁香五月| 99久精品视频| 深爱激情综合| 婷婷狠狠操| 丁香六月婷婷综合缴| 日本精品。999| 都市激情久久| 亚洲九区| 操碰91| 五月激情啪啪啪| 久久综合五月天| 综合性爱网| 欧美色色色色色色色| 九九干视频| 99热伊人综合| 久久视频在线视频| AV中文在线| 色吧五月| 婷婷五月综合啪| 中文字幕人妻在线| 亚韩在线视频| 五月天伊人网| 99热只有| 日本人妻A片成人免费看片| 色综合久久天天综合网| 婷婷五月天久久| 色色色五月婷婷| 影音先锋自拍网| H亚洲| 久99久99精品免| 在线视频99| 五月婷综合| 日本色久| 91精品91久久久中77777| 三区激情四射av| 亚洲综合色丁香五月天| 久久亚洲激情五码| 国产精品色| 激情伊人五月天| 五月婷婷综合激情| 久久受www免费人成| 色婷婷第四色| 色色色色色色色色五月先| 91婷婷丁香五月天免费视频网站| 日本在线播放97| 亚洲人妻电影| 99九九久久| 五月丁香六月婷婷玖玖| 激情伊人五月天| 五月亭亭六月天| 成人精品视频99在线观看免费| 色婷婷亚洲婷婷| 精品人妻一区二区三区在| 日本三日本三级少妇三级66| 7超碰自拍| 久热免费视频| 亚洲va久久久噜噜噜久久天堂| 国产AV一区二区三区最新精品| 丁香成人五月天| 色无婷婷| 色婷网| 日本久热| 婷婷五月天激情五月天| 香蕉人在线香蕉人在线 | 成人做爰A片免费看网站找不到了| 思思热在线观看| 另类图片五月激情| 丁香五月激情婷婷视频| 欧美日韓成人亚洲精品另类| 五月天俺去也| 九九色婷婷| 成人无码中文| 热久久成人| 色婷婷色99国产综合精品| 婷婷五月天色| 美欧成人视频| 午夜不卡成人一区二区| 青青草原伊人网| 五月天色色无码| 欧洲亚洲免费视频9| 五月婷婷开心深| 亚洲这里只有精品| 中文av网| 99久久亚洲国产| av九九| 五月丁香偷拍| 怡红院AV亚洲一区二区三区H| 婷婷综合久久综合| 天天搞夜夜爽夜夜爽| 五月天婷婷色| 一级AV片| wwW天天干| 性爱视频久久| 激情五月最新网址| bbwcuckold精品熟妇| 六月色丁香中文字幕| 99精彩视频| 99操久久| 欧美丁香婷婷五月天| 久久加勤综合| 一夜福利不卡| 色五月婷婷基地| 久久大香蕉视频| 老司机伊人| 九九日伊人| 天天人人天天爽| 色色五月天激情| 色色九九五月天 | 丁香六月天婷婷色| 日本操片| 天天摸天天舔| 99久| 婷婷丁香激情五月天色色| 久久婷婷五月天| 五月丁香六月色婷| 性视频久久| A在线观看| 激情五月五月婷婷| 亚洲精品成人片在线播| 久久久妻人人人| 色五月激情五月| 好看的国产精品| 噜噜操操| 激情五月婷婷视频一区二区三区| 这里只有精9| 人人操AV| 亚洲视频在线观看99| 亚洲操操操| 99热99网| 久久久久久久人妻| 久久久久婷婷五月热综合| 日本熟女一区二区| 色墦五月丁香| 激情com| 熟妇无码乱子成人精品| 欧美日本高清视频99| 欧洲第一久色| 99综合免费视频| 少妇丁香婷婷 | 六月丁香成人| 激情综合婷婷五月| 在线观看av网站| 一起草aV| 高清无码网址| 久久婷婷色情7777网站| www久久久久久久97| 色婷婷五月综合在线| 狠狠五月激情丁香六月| 亚洲中文字幕av| 五月激情站| 婷婷激情蜜桃玖玖丁香| 99久久九九视频| 看久久性爱99视频| 激情综合文学| 欧美激情VA永久在线播放| 综合色图区| 狠狠色综合网| 日本熟女内射| 国产第99页| 狠狠色噜噜| 色五月婷婷激情基地| 久久99精品九九久久久婷婷| 婷婷激情小说网| 成人网在线观看视频| 色狠狠激情五月| 狠狠色婷| 五月激情婷婷开心| 天天日夜夜欢| 另类小说色婷婷| 天天操夜夜橾| 丁香九月婷婷| 国产精产国品一二三在观看| 午夜丁香婷婷| 色色丁香婷婷| 天天插操| 激情AV在线| 男人综合网| 欧美123区免| 亚洲男女激情| 玖玖热视频| 丁香婷婷久久| 久久五月天丁香| 久久伊人五月天| 综合激情深爱| 五月丁香久久综合91| 9久久久久久久久久久| 色婷婷丁香五月高清在线| 亚洲在线成人| 丁香五月天堂网| 五月丁香啪啪啪综合网| 五月婷色色| 色婷婷丁香香香蕉视频| 毛片网站谁有| 俺去婷婷 丁香| 五月天偷拍| 天天摸天天舔天天天天爽| 色色网站观看| 性爱激情小说AV五月丁香花| 久99在线视频| 激情婷婷综合| 九九美女视频| 久久久亚洲精品一区二区三区浴池 | 婷婷综合五月天| 99色精品| 久 久9 9 热 视 频| 婷婷五月天成人在线视频| 亚洲国产网站| 成人无码髙潮喷水A片| 伊人网大香| 99国产性感视频| 人人玩人人橾| 激情五月天久久| 欧美日韩成人| 91操操| 色婷婷六月| 欧美草久久五月天91| 第四色色六月色综合| 丁香五月情| 亚洲无码激情| 99免费超碰在线| 伊人婷婷五月天| www.henhenl| 丁香五月欧美| 丁香婷婷激情五月色| 男女99免费视频| 夜夜夜叫天天天做| 91操人视频| 天天肏在线观看| 999九九九久久久99HD| 超碰天堂网| 国产精品久久久久久喷浆| 久久99久久99久久99人受| 九九99热久久精品66中文字幕| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 5月丁香婷婷激情网| 极品 少妇 内射| 天天AV导航网| 综合网色| 婷婷九月| www,色综合| 吾爱AV导航| 久久婷婷的综合色丁香五月| 色综合综合综合| 久久99网站| 九色色| 69堂午夜视频最新地址| www.久久久.com| 99自拍视频在线观看| 激情亚洲婷婷| 久久婷婷网站| 97人操| 99热99在线精品| 97五月综合网| 1024欧美日韩精品久久久| 精品动漫 无码av| ..真实国产乱子伦对白在线_欧| 丁香五月另类色婷婷麻豆| 无码激情| 97色婷| 大香蕉啪啪啪| 亚洲色婷婷| av在线播放网站| 九九视频在线观看视频在线播放69| 丁香九月激情| 玖玖婷婷五月天| 日日干夜夜干| 超碰在线caop| 色九月丁香婷婷蜜桃在线观看| 五月婷婷五月天| 日韩人妻AV在线| 99热官网| 涩丁香| 丁香天堂夜| www.91婷婷| 久久丝丝热| 色必久悠悠影院| 丁香五月无码| 97婷婷丁香| 丁香婷婷久久| 国产精品久久久久久久久久久久| 99视频在线观看网址| xx久久| 俺去也五月| 99国产精品久久久久久久久久久| 9久久精品| 99在线精品免费视频| 9色资源在线| aaa久久| 五月婷婷狠天天色综合| 五月天玖玖狠狠色色| 五月婷婷69| 日日操天天操| 91打屁股免费看| 亚洲 欧洲 国产 伦综合| 色婷精品91| 天天摸天天高潮天天爽| 天天射影院| 激情五月丁香婷婷| 五月天天综合网色婷婷| 五月丁香婷婷久久| 激情小说五月天中文字幕| 婷婷天堂综合网| 色丁香婷婷| 人妻综合网| 国产成人网址| 色婷婷色久综| 人妻精品一区二区三区| 激情av在线| 激情久久伊人| 综合久久五月| 久久曰曰| 激情五月天综合网| 欧美综合激情五月丁香| 婷婷五月深深爱| 深爱五月激情| 五月丁香久人妻中文| 色五月av| 91疯狂操操操操| 久久这里只有精品07| 丁香五月综合| 99在线精品免费视频| 日韩AV免费电影在线播放| 激情av在线| 99色看| 99热丁香| 有码一区二区三区| 色五月综合网| 精品婷婷五月视| 熟女网站久久| 日韩乱轮AV| 婷婷激情丁香五月天综合| 六月婷婷在线| 五月婷婷久久综合| 91视频免费后入强操| 香蕉婷婷色五月| 丁香婷婷噜噜| 风流少妇A片一区二区蜜桃| 永久免费一区二区三区| 5月丁香六月婷婷| 丁香六月婷| 丁香婷婷九月在线| 婷婷久久欧美| 五月天丁香网站| 嫩模草| 色综合五月婷婷狠狠干| 婷婷丁香五月亚洲17cao| 9 大屁股在线视频精品| 婷婷成人综合五月| 色综合色综合网| 91综合在线| 、激情六月天| 中文无码精品一区二区三区| 九九久久综合| 天天干天天操天天射| 天天色综合综合| 国产精产国品一二三在观看| 九九综舍久久| 五月情涩综合婷婷| 强辱丰满人妻HD中文字幕| 99,色| 91干视频| 欧洲亚洲午夜| 99这里都是精品| 五月天大香蕉婷| 99re视频精品| 亚洲啪啪自拍| 天天日天天操天天干| 爱99干99| 天天综合五月| 国产精自产拍久久久久久蜜| 另类五月婷婷| 亚洲综合五月天| www.久久色.com| 996日日爱| 中文字幕高清av| 久热这里只有精品在线| 色图亚洲91| 五月天六月婷婷电影| 色爱亚洲| 婷婷丁香六月五月天| 婷婷五月天AV| 丁香五月 综合|