[{"data":1,"prerenderedAt":2756},["ShallowReactive",2],{"navigation_docs":3,"-guides-notes-docker-setup":168,"-guides-notes-docker-setup-surround":2753},[4,46,75],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":45},"Bookmarks","i-lucide:bookmark","\u002Fbookmarks","10.bookmarks",[10,15,20,25,30,35,40],{"title":11,"path":12,"stem":13,"icon":14},"工具","\u002Fbookmarks\u002Ftools","10.bookmarks\u002F10.tools","i-lucide:wrench",{"title":16,"path":17,"stem":18,"icon":19},"开发","\u002Fbookmarks\u002Fdev","10.bookmarks\u002F20.dev","i-lucide:code-xml",{"title":21,"path":22,"stem":23,"icon":24},"学习","\u002Fbookmarks\u002Flearn","10.bookmarks\u002F30.learn","i-lucide:graduation-cap",{"title":26,"path":27,"stem":28,"icon":29},"视觉素材","\u002Fbookmarks\u002Fmedia","10.bookmarks\u002F40.media","i-lucide:image",{"title":31,"path":32,"stem":33,"icon":34},"AI","\u002Fbookmarks\u002Fai","10.bookmarks\u002F50.ai","i-lucide:sparkles",{"title":36,"path":37,"stem":38,"icon":39},"设计","\u002Fbookmarks\u002Fdesign","10.bookmarks\u002F60.design","i-lucide:palette",{"title":41,"path":42,"stem":43,"icon":44},"其它","\u002Fbookmarks\u002Fmore","10.bookmarks\u002F70.more","i-lucide:ellipsis",false,{"title":31,"icon":34,"path":47,"stem":48,"children":49,"page":45},"\u002Fai","20.ai",[50,55,60,65,70],{"title":51,"path":52,"stem":53,"icon":54},"Agent 工具","\u002Fai\u002Fagent-tools","20.ai\u002F10.agent-tools","i-lucide:puzzle",{"title":56,"path":57,"stem":58,"icon":59},"OmniRoute 使用","\u002Fai\u002Fomniroute-setup","20.ai\u002F20.omniroute-setup","i-lucide:route",{"title":61,"path":62,"stem":63,"icon":64},"RTK 使用","\u002Fai\u002Frtk-setup","20.ai\u002F30.rtk-setup","i-lucide:scissors",{"title":66,"path":67,"stem":68,"icon":69},"Headroom 使用","\u002Fai\u002Fheadroom-setup","20.ai\u002F40.headroom-setup","i-lucide:minimize-2",{"title":71,"path":72,"stem":73,"icon":74},"Serena 使用","\u002Fai\u002Fserena-setup","20.ai\u002F50.serena-setup","i-lucide:scan-search",{"title":76,"icon":77,"path":78,"stem":79,"children":80,"page":45},"Guides","i-lucide:book-open","\u002Fguides","30.guides",[81,133,154],{"title":82,"icon":83,"path":84,"stem":85,"children":86,"page":45},"Notes","i-lucide:notebook-text","\u002Fguides\u002Fnotes","30.guides\u002F10.notes",[87,91,96,100,105,109,113,118,123,128],{"title":88,"path":89,"stem":90,"icon":19},"开发问题记录","\u002Fguides\u002Fnotes\u002Fdev-qa","30.guides\u002F10.notes\u002F10.dev-qa",{"title":92,"path":93,"stem":94,"icon":95},"js 常用整理","\u002Fguides\u002Fnotes\u002Fjs-tidy","30.guides\u002F10.notes\u002F20.js-tidy","i-lucide:braces",{"title":97,"path":98,"stem":99,"icon":95},"js 小技巧","\u002Fguides\u002Fnotes\u002Fjs-tips","30.guides\u002F10.notes\u002F30.js-tips",{"title":101,"path":102,"stem":103,"icon":104},"git 问题记录","\u002Fguides\u002Fnotes\u002Fgit-qa","30.guides\u002F10.notes\u002F40.git-qa","i-lucide:git-branch",{"title":106,"path":107,"stem":108,"icon":104},"git 扩展命令","\u002Fguides\u002Fnotes\u002Fgit-expand","30.guides\u002F10.notes\u002F50.git-expand",{"title":110,"path":111,"stem":112,"icon":104},"git 命令速查表","\u002Fguides\u002Fnotes\u002Fgit-cheatsheet","30.guides\u002F10.notes\u002F60.git-cheatsheet",{"title":114,"path":115,"stem":116,"icon":117},"bash 命令速查表","\u002Fguides\u002Fnotes\u002Fbash-cheatsheet","30.guides\u002F10.notes\u002F70.bash-cheatsheet","i-lucide:square-terminal",{"title":119,"path":120,"stem":121,"icon":122},"linux 命令速查表","\u002Fguides\u002Fnotes\u002Flinux-cheatsheet","30.guides\u002F10.notes\u002F80.linux-cheatsheet","i-lucide:server",{"title":124,"path":125,"stem":126,"icon":127},"Docker 使用","\u002Fguides\u002Fnotes\u002Fdocker-setup","30.guides\u002F10.notes\u002F90.docker-setup","i-lucide:container",{"title":129,"path":130,"stem":131,"icon":132},"常用工具命令","\u002Fguides\u002Fnotes\u002Fcommon-tool-commands","30.guides\u002F10.notes\u002F95.common-tool-commands","i-lucide:toolbox",{"title":134,"icon":135,"path":136,"stem":137,"children":138,"page":45},"System","i-lucide:monitor","\u002Fguides\u002Fsystem","30.guides\u002F20.system",[139,144,149],{"title":140,"path":141,"stem":142,"icon":143},"系统常用软件","\u002Fguides\u002Fsystem\u002Fsystem-software","30.guides\u002F20.system\u002F10.system-software","i-lucide:package",{"title":145,"path":146,"stem":147,"icon":148},"开发工具命令","\u002Fguides\u002Fsystem\u002Fdev-tools-commands","30.guides\u002F20.system\u002F20.dev-tools-commands","i-lucide:terminal",{"title":150,"path":151,"stem":152,"icon":153},"macOS 使用记录","\u002Fguides\u002Fsystem\u002Fmacos-usage-record","30.guides\u002F20.system\u002F30.macos-usage-record","i-simple-icons:apple",{"title":155,"icon":54,"path":156,"stem":157,"children":158,"page":45},"Other","\u002Fguides\u002Fother","30.guides\u002F30.other",[159,164],{"title":160,"path":161,"stem":162,"icon":163},"汉语拼音和小鹤双拼","\u002Fguides\u002Fother\u002Fflypy-pinyin","30.guides\u002F30.other\u002F10.flypy-pinyin","i-lucide:notebook-pen",{"title":165,"path":166,"stem":167,"icon":143},"魔方公式","\u002Fguides\u002Fother\u002Frubik-cube-formula","30.guides\u002F30.other\u002F20.rubik-cube-formula",{"id":169,"title":124,"body":170,"description":213,"extension":2747,"links":2748,"meta":2749,"navigation":2750,"path":125,"seo":2751,"stem":126,"__hash__":2752},"docs\u002F30.guides\u002F10.notes\u002F90.docker-setup.md",{"type":171,"value":172,"toc":2732},"minimark",[173,186,194,198,451,455,460,464,641,670,674,678,732,735,739,1108,1112,1116,1725,1729,1733,2037,2041,2045,2189,2193,2197,2322,2326,2330,2425,2428,2615,2619,2719,2728],[174,175,176,185],"note",{},[177,178,184],"a",{"href":179,"rel":180,"target":183},"https:\u002F\u002Fdocker.com\u002F",[181,182],"noopener","noreferrer","_blank","Docker"," 是一个用于开发、交付和运行容器化应用的开放平台，帮助你将应用与基础设施分离，实现快速交付。适用于本地开发环境统一、微服务部署、CI\u002FCD 流水线、多服务编排（docker-compose）、快速原型验证等场景。",[174,187,188,193],{},[177,189,192],{"href":190,"rel":191,"target":183},"https:\u002F\u002Fcolima.run\u002F",[181,182],"Colima"," 是 macOS（及 Linux）上的容器运行时，以最小配置即可运行 Docker 和 Containerd，支持 Intel 和 Apple Silicon。适用于替代 Docker Desktop、本地容器开发、多实例管理、Kubernetes 集群、Containerd 运行时、GPU 加速 AI 容器、Rosetta 2 模拟等场景。",[195,196,197],"h2",{"id":197},"安装步骤",[199,200,202,207,257,261,308,312,331,338,367,423,426],"steps",{"level":201},"4",[203,204,206],"h4",{"id":205},"安装-dockerdocker-compose-及-colima","安装 Docker、Docker Compose 及 Colima",[208,209,214],"pre",{"className":210,"code":211,"language":212,"meta":213,"style":213},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","$ brew install docker docker-compose colima\n$ brew services start colima\n","bash","",[215,216,217,242],"code",{"__ignoreMap":213},[218,219,222,226,230,233,236,239],"span",{"class":220,"line":221},"line",1,[218,223,225],{"class":224},"sBMFI","$",[218,227,229],{"class":228},"sfazB"," brew",[218,231,232],{"class":228}," install",[218,234,235],{"class":228}," docker",[218,237,238],{"class":228}," docker-compose",[218,240,241],{"class":228}," colima\n",[218,243,245,247,249,252,255],{"class":220,"line":244},2,[218,246,225],{"class":224},[218,248,229],{"class":228},[218,250,251],{"class":228}," services",[218,253,254],{"class":228}," start",[218,256,241],{"class":228},[203,258,260],{"id":259},"创建-cli-插件目录并符号链接该插件","创建 CLI 插件目录并符号链接该插件",[208,262,264],{"className":210,"code":263,"language":212,"meta":213,"style":213},"$ mkdir -p ~\u002F.docker\u002Fcli-plugins\n$ ln -sfn $(brew --prefix)\u002Fopt\u002Fdocker-compose\u002Fbin\u002Fdocker-compose ~\u002F.docker\u002Fcli-plugins\u002Fdocker-compose\n",[215,265,266,279],{"__ignoreMap":213},[218,267,268,270,273,276],{"class":220,"line":221},[218,269,225],{"class":224},[218,271,272],{"class":228}," mkdir",[218,274,275],{"class":228}," -p",[218,277,278],{"class":228}," ~\u002F.docker\u002Fcli-plugins\n",[218,280,281,283,286,289,293,296,299,302,305],{"class":220,"line":244},[218,282,225],{"class":224},[218,284,285],{"class":228}," ln",[218,287,288],{"class":228}," -sfn",[218,290,292],{"class":291},"sMK4o"," $(",[218,294,295],{"class":224},"brew",[218,297,298],{"class":228}," --prefix",[218,300,301],{"class":291},")",[218,303,304],{"class":228},"\u002Fopt\u002Fdocker-compose\u002Fbin\u002Fdocker-compose",[218,306,307],{"class":228}," ~\u002F.docker\u002Fcli-plugins\u002Fdocker-compose\n",[203,309,311],{"id":310},"配置-docker-context-指向-colima","配置 Docker Context 指向 Colima",[208,313,315],{"className":210,"code":314,"language":212,"meta":213,"style":213},"$ docker context use colima\n",[215,316,317],{"__ignoreMap":213},[218,318,319,321,323,326,329],{"class":220,"line":221},[218,320,225],{"class":224},[218,322,235],{"class":228},[218,324,325],{"class":228}," context",[218,327,328],{"class":228}," use",[218,330,241],{"class":228},[203,332,334,335],{"id":333},"配置-compose_file","配置 ",[215,336,337],{},"COMPOSE_FILE",[339,340,341,343,344,349,350,354,355,358,359,362,363,366],"p",{},[215,342,337],{}," 是 ",[177,345,348],{"href":346,"rel":347,"target":183},"https:\u002F\u002Fdocs.docker.com\u002Fcompose\u002Fhow-tos\u002Fenvironment-variables\u002Fenvvars\u002F#compose_file",[181,182],"Docker Compose 内建环境变量","；未设置时只在",[351,352,353],"strong",{},"当前目录","查找 ",[215,356,357],{},"compose.yaml\u002Fdocker-compose.yml","；设置后任意目录执行 ",[215,360,361],{},"docker compose"," 都会自动加载，无需每次 ",[215,364,365],{},"-f","。",[208,368,370],{"className":210,"code":369,"language":212,"meta":213,"style":213},"$ mkdir -p ~\u002F.docker && touch ~\u002F.docker\u002Fcompose.yml\n$ echo 'export COMPOSE_FILE=$HOME\u002F.docker\u002Fcompose.yml' >> ~\u002F.zshrc && source ~\u002F.zshrc\n",[215,371,372,392],{"__ignoreMap":213},[218,373,374,376,378,380,383,386,389],{"class":220,"line":221},[218,375,225],{"class":224},[218,377,272],{"class":228},[218,379,275],{"class":228},[218,381,382],{"class":228}," ~\u002F.docker",[218,384,385],{"class":291}," &&",[218,387,388],{"class":224}," touch",[218,390,391],{"class":228}," ~\u002F.docker\u002Fcompose.yml\n",[218,393,394,396,399,402,405,408,411,414,416,420],{"class":220,"line":244},[218,395,225],{"class":224},[218,397,398],{"class":228}," echo",[218,400,401],{"class":291}," '",[218,403,404],{"class":228},"export COMPOSE_FILE=$HOME\u002F.docker\u002Fcompose.yml",[218,406,407],{"class":291},"'",[218,409,410],{"class":291}," >>",[218,412,413],{"class":228}," ~\u002F.zshrc",[218,415,385],{"class":291},[218,417,419],{"class":418},"s2Zo4"," source",[218,421,422],{"class":228}," ~\u002F.zshrc\n",[203,424,425],{"id":425},"验证安装",[208,427,429],{"className":210,"code":428,"language":212,"meta":213,"style":213},"$ docker version\n$ docker compose version\n",[215,430,431,440],{"__ignoreMap":213},[218,432,433,435,437],{"class":220,"line":221},[218,434,225],{"class":224},[218,436,235],{"class":228},[218,438,439],{"class":228}," version\n",[218,441,442,444,446,449],{"class":220,"line":244},[218,443,225],{"class":224},[218,445,235],{"class":228},[218,447,448],{"class":228}," compose",[218,450,439],{"class":228},[195,452,454],{"id":453},"docker-cli-速查","Docker CLI 速查",[456,457,459],"tip",{"to":458},"https:\u002F\u002Fdocs.docker.com\u002Freference\u002Fcli\u002Fdocker\u002F","Docker 官方 CLI 参考",[461,462,463],"h3",{"id":463},"常用命令",[208,465,469],{"className":210,"code":466,"highlights":467,"language":212,"meta":213,"style":213},"$ docker ps                                            # 运行中容器（≈ docker container ls）\n$ docker ps -a                                         # 所有容器\n$ docker images                                        # 本地镜像（≈ docker image ls）\n$ docker pull \u003Cname>[:tag]                             # 拉取镜像\n$ docker run -d \u003Cimage>                                # 后台运行（≈ docker container run -d）\n$ docker exec -it \u003Ccontainer> \u003Ccmd>                    # 进入容器\n$ docker logs -f \u003Ccontainer>                           # 跟踪日志\n$ docker init                                          # 生成 Dockerfile、compose.yaml 等文件\n",[221,244,468],8,[215,470,471,486,501,514,543,568,604,628],{"__ignoreMap":213},[218,472,475,477,479,482],{"class":473,"line":221},[220,474],"highlight",[218,476,225],{"class":224},[218,478,235],{"class":228},[218,480,481],{"class":228}," ps",[218,483,485],{"class":484},"sHwdD","                                            # 运行中容器（≈ docker container ls）\n",[218,487,489,491,493,495,498],{"class":488,"line":244},[220,474],[218,490,225],{"class":224},[218,492,235],{"class":228},[218,494,481],{"class":228},[218,496,497],{"class":228}," -a",[218,499,500],{"class":484},"                                         # 所有容器\n",[218,502,504,506,508,511],{"class":220,"line":503},3,[218,505,225],{"class":224},[218,507,235],{"class":228},[218,509,510],{"class":228}," images",[218,512,513],{"class":484},"                                        # 本地镜像（≈ docker image ls）\n",[218,515,517,519,521,524,527,530,534,537,540],{"class":220,"line":516},4,[218,518,225],{"class":224},[218,520,235],{"class":228},[218,522,523],{"class":228}," pull",[218,525,526],{"class":291}," \u003C",[218,528,529],{"class":228},"nam",[218,531,533],{"class":532},"sTEyZ","e",[218,535,536],{"class":291},">",[218,538,539],{"class":228},"[:tag]",[218,541,542],{"class":484},"                             # 拉取镜像\n",[218,544,546,548,550,553,556,558,561,563,565],{"class":220,"line":545},5,[218,547,225],{"class":224},[218,549,235],{"class":228},[218,551,552],{"class":228}," run",[218,554,555],{"class":228}," -d",[218,557,526],{"class":291},[218,559,560],{"class":228},"imag",[218,562,533],{"class":532},[218,564,536],{"class":291},[218,566,567],{"class":484},"                                # 后台运行（≈ docker container run -d）\n",[218,569,571,573,575,578,581,583,586,589,591,593,596,599,601],{"class":220,"line":570},6,[218,572,225],{"class":224},[218,574,235],{"class":228},[218,576,577],{"class":228}," exec",[218,579,580],{"class":228}," -it",[218,582,526],{"class":291},[218,584,585],{"class":228},"containe",[218,587,588],{"class":532},"r",[218,590,536],{"class":291},[218,592,526],{"class":291},[218,594,595],{"class":228},"cm",[218,597,598],{"class":532},"d",[218,600,536],{"class":291},[218,602,603],{"class":484},"                    # 进入容器\n",[218,605,607,609,611,614,617,619,621,623,625],{"class":220,"line":606},7,[218,608,225],{"class":224},[218,610,235],{"class":228},[218,612,613],{"class":228}," logs",[218,615,616],{"class":228}," -f",[218,618,526],{"class":291},[218,620,585],{"class":228},[218,622,588],{"class":532},[218,624,536],{"class":291},[218,626,627],{"class":484},"                           # 跟踪日志\n",[218,629,631,633,635,638],{"class":630,"line":468},[220,474],[218,632,225],{"class":224},[218,634,235],{"class":228},[218,636,637],{"class":228}," init",[218,639,640],{"class":484},"                                          # 生成 Dockerfile、compose.yaml 等文件\n",[642,643,644],"blockquote",{},[339,645,646,653,654,669],{},[177,647,650],{"href":648,"rel":649,"target":183},"https:\u002F\u002Fdocs.docker.com\u002Freference\u002Fcli\u002Fdocker\u002Finit\u002F",[181,182],[215,651,652],{},"docker init"," 在项目目录交互式创建 starter 文件；生成后通常 ",[215,655,658,661,663,666],{"className":656,"language":657,"style":213},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","sh",[218,659,660],{"class":224},"docker",[218,662,448],{"class":228},[218,664,665],{"class":228}," up",[218,667,668],{"class":228}," --build"," 启动。",[461,671,673],{"id":672},"docker-builder","docker builder",[456,675,677],{"to":676},"https:\u002F\u002Fdocs.docker.com\u002Freference\u002Fcli\u002Fdocker\u002Fbuilder\u002F","Docker Builder 参考",[208,679,681],{"className":210,"code":680,"language":212,"meta":213,"style":213},"$ docker builder prune                                 # 清理构建缓存\n$ docker builder prune -a                              # 清理全部构建缓存\n$ docker builder prune --keep-storage 2GB              # 保留 2GB 缓存\n",[215,682,683,698,713],{"__ignoreMap":213},[218,684,685,687,689,692,695],{"class":220,"line":221},[218,686,225],{"class":224},[218,688,235],{"class":228},[218,690,691],{"class":228}," builder",[218,693,694],{"class":228}," prune",[218,696,697],{"class":484},"                                 # 清理构建缓存\n",[218,699,700,702,704,706,708,710],{"class":220,"line":244},[218,701,225],{"class":224},[218,703,235],{"class":228},[218,705,691],{"class":228},[218,707,694],{"class":228},[218,709,497],{"class":228},[218,711,712],{"class":484},"                              # 清理全部构建缓存\n",[218,714,715,717,719,721,723,726,729],{"class":220,"line":503},[218,716,225],{"class":224},[218,718,235],{"class":228},[218,720,691],{"class":228},[218,722,694],{"class":228},[218,724,725],{"class":228}," --keep-storage",[218,727,728],{"class":228}," 2GB",[218,730,731],{"class":484},"              # 保留 2GB 缓存\n",[461,733,361],{"id":734},"docker-compose",[456,736,738],{"to":737},"https:\u002F\u002Fdocs.docker.com\u002Freference\u002Fcli\u002Fdocker\u002Fcompose\u002F","Docker Compose 参考",[208,740,744],{"className":210,"code":741,"highlights":742,"language":212,"meta":213,"style":213},"$ docker compose config                                # 解析、渲染 compose 文件\n$ docker compose up                                    # 创建并启动服务\n$ docker compose up -d                                 # 后台启动\n$ docker compose down                                  # 停止并删除容器、网络\n$ docker compose down -v                               # 同上，并删除卷\n$ docker compose ps                                    # 列出容器\n$ docker compose logs                                  # 查看日志\n$ docker compose logs -f \u003Cservice>                     # 跟踪指定服务日志\n$ docker compose exec \u003Cservice> \u003Ccmd>                  # 在运行中容器执行命令\n$ docker compose run --rm \u003Cservice> \u003Ccmd>              # 一次性命令\n$ docker compose build                                 # 构建服务镜像\n$ docker compose pull                                  # 拉取服务镜像\n$ docker compose push                                  # 推送服务镜像\n$ docker compose restart \u003Cservice>                     # 重启服务\n$ docker compose stop                                  # 停止服务\n$ docker compose start                                 # 启动已创建服务\n$ docker compose cp \u003Cservice>:\u003Cpath> \u003Clocal>           # 从容器复制到本地\n$ docker compose ls                                    # 列出 compose 项目\n$ docker compose watch                                 # 监听构建上下文并重建\u002F刷新\n",[244,503,545,468,743],11,[215,745,746,760,774,790,804,821,834,847,872,902,935,950,964,979,1002,1017,1031,1078,1093],{"__ignoreMap":213},[218,747,748,750,752,754,757],{"class":220,"line":221},[218,749,225],{"class":224},[218,751,235],{"class":228},[218,753,448],{"class":228},[218,755,756],{"class":228}," config",[218,758,759],{"class":484},"                                # 解析、渲染 compose 文件\n",[218,761,763,765,767,769,771],{"class":762,"line":244},[220,474],[218,764,225],{"class":224},[218,766,235],{"class":228},[218,768,448],{"class":228},[218,770,665],{"class":228},[218,772,773],{"class":484},"                                    # 创建并启动服务\n",[218,775,777,779,781,783,785,787],{"class":776,"line":503},[220,474],[218,778,225],{"class":224},[218,780,235],{"class":228},[218,782,448],{"class":228},[218,784,665],{"class":228},[218,786,555],{"class":228},[218,788,789],{"class":484},"                                 # 后台启动\n",[218,791,792,794,796,798,801],{"class":220,"line":516},[218,793,225],{"class":224},[218,795,235],{"class":228},[218,797,448],{"class":228},[218,799,800],{"class":228}," down",[218,802,803],{"class":484},"                                  # 停止并删除容器、网络\n",[218,805,807,809,811,813,815,818],{"class":806,"line":545},[220,474],[218,808,225],{"class":224},[218,810,235],{"class":228},[218,812,448],{"class":228},[218,814,800],{"class":228},[218,816,817],{"class":228}," -v",[218,819,820],{"class":484},"                               # 同上，并删除卷\n",[218,822,823,825,827,829,831],{"class":220,"line":570},[218,824,225],{"class":224},[218,826,235],{"class":228},[218,828,448],{"class":228},[218,830,481],{"class":228},[218,832,833],{"class":484},"                                    # 列出容器\n",[218,835,836,838,840,842,844],{"class":220,"line":606},[218,837,225],{"class":224},[218,839,235],{"class":228},[218,841,448],{"class":228},[218,843,613],{"class":228},[218,845,846],{"class":484},"                                  # 查看日志\n",[218,848,850,852,854,856,858,860,862,865,867,869],{"class":849,"line":468},[220,474],[218,851,225],{"class":224},[218,853,235],{"class":228},[218,855,448],{"class":228},[218,857,613],{"class":228},[218,859,616],{"class":228},[218,861,526],{"class":291},[218,863,864],{"class":228},"servic",[218,866,533],{"class":532},[218,868,536],{"class":291},[218,870,871],{"class":484},"                     # 跟踪指定服务日志\n",[218,873,875,877,879,881,883,885,887,889,891,893,895,897,899],{"class":220,"line":874},9,[218,876,225],{"class":224},[218,878,235],{"class":228},[218,880,448],{"class":228},[218,882,577],{"class":228},[218,884,526],{"class":291},[218,886,864],{"class":228},[218,888,533],{"class":532},[218,890,536],{"class":291},[218,892,526],{"class":291},[218,894,595],{"class":228},[218,896,598],{"class":532},[218,898,536],{"class":291},[218,900,901],{"class":484},"                  # 在运行中容器执行命令\n",[218,903,905,907,909,911,913,916,918,920,922,924,926,928,930,932],{"class":220,"line":904},10,[218,906,225],{"class":224},[218,908,235],{"class":228},[218,910,448],{"class":228},[218,912,552],{"class":228},[218,914,915],{"class":228}," --rm",[218,917,526],{"class":291},[218,919,864],{"class":228},[218,921,533],{"class":532},[218,923,536],{"class":291},[218,925,526],{"class":291},[218,927,595],{"class":228},[218,929,598],{"class":532},[218,931,536],{"class":291},[218,933,934],{"class":484},"              # 一次性命令\n",[218,936,938,940,942,944,947],{"class":937,"line":743},[220,474],[218,939,225],{"class":224},[218,941,235],{"class":228},[218,943,448],{"class":228},[218,945,946],{"class":228}," build",[218,948,949],{"class":484},"                                 # 构建服务镜像\n",[218,951,953,955,957,959,961],{"class":220,"line":952},12,[218,954,225],{"class":224},[218,956,235],{"class":228},[218,958,448],{"class":228},[218,960,523],{"class":228},[218,962,963],{"class":484},"                                  # 拉取服务镜像\n",[218,965,967,969,971,973,976],{"class":220,"line":966},13,[218,968,225],{"class":224},[218,970,235],{"class":228},[218,972,448],{"class":228},[218,974,975],{"class":228}," push",[218,977,978],{"class":484},"                                  # 推送服务镜像\n",[218,980,982,984,986,988,991,993,995,997,999],{"class":220,"line":981},14,[218,983,225],{"class":224},[218,985,235],{"class":228},[218,987,448],{"class":228},[218,989,990],{"class":228}," restart",[218,992,526],{"class":291},[218,994,864],{"class":228},[218,996,533],{"class":532},[218,998,536],{"class":291},[218,1000,1001],{"class":484},"                     # 重启服务\n",[218,1003,1005,1007,1009,1011,1014],{"class":220,"line":1004},15,[218,1006,225],{"class":224},[218,1008,235],{"class":228},[218,1010,448],{"class":228},[218,1012,1013],{"class":228}," stop",[218,1015,1016],{"class":484},"                                  # 停止服务\n",[218,1018,1020,1022,1024,1026,1028],{"class":220,"line":1019},16,[218,1021,225],{"class":224},[218,1023,235],{"class":228},[218,1025,448],{"class":228},[218,1027,254],{"class":228},[218,1029,1030],{"class":484},"                                 # 启动已创建服务\n",[218,1032,1034,1036,1038,1040,1043,1045,1047,1049,1051,1054,1057,1060,1063,1065,1067,1070,1073,1075],{"class":220,"line":1033},17,[218,1035,225],{"class":224},[218,1037,235],{"class":228},[218,1039,448],{"class":228},[218,1041,1042],{"class":228}," cp",[218,1044,526],{"class":291},[218,1046,864],{"class":228},[218,1048,533],{"class":532},[218,1050,536],{"class":291},[218,1052,1053],{"class":228},":",[218,1055,1056],{"class":291},"\u003C",[218,1058,1059],{"class":228},"pat",[218,1061,1062],{"class":532},"h",[218,1064,536],{"class":291},[218,1066,526],{"class":291},[218,1068,1069],{"class":228},"loca",[218,1071,1072],{"class":532},"l",[218,1074,536],{"class":291},[218,1076,1077],{"class":484},"           # 从容器复制到本地\n",[218,1079,1081,1083,1085,1087,1090],{"class":220,"line":1080},18,[218,1082,225],{"class":224},[218,1084,235],{"class":228},[218,1086,448],{"class":228},[218,1088,1089],{"class":228}," ls",[218,1091,1092],{"class":484},"                                    # 列出 compose 项目\n",[218,1094,1096,1098,1100,1102,1105],{"class":220,"line":1095},19,[218,1097,225],{"class":224},[218,1099,235],{"class":228},[218,1101,448],{"class":228},[218,1103,1104],{"class":228}," watch",[218,1106,1107],{"class":484},"                                 # 监听构建上下文并重建\u002F刷新\n",[461,1109,1111],{"id":1110},"docker-container","docker container",[456,1113,1115],{"to":1114},"https:\u002F\u002Fdocs.docker.com\u002Freference\u002Fcli\u002Fdocker\u002Fcontainer\u002F","Docker Container 参考",[208,1117,1120],{"className":210,"code":1118,"highlights":1119,"language":212,"meta":213,"style":213},"$ docker container ls                                  # 列出运行中容器\n$ docker container ls -a                               # 列出所有容器\n$ docker container run \u003Cimage>                         # 创建并启动\n$ docker container run -d \u003Cimage>                      # 后台运行\n$ docker container run -it \u003Cimage> \u003Ccmd>               # 交互模式\n$ docker container run -p 8080:80 \u003Cimage>              # 端口映射\n$ docker container run -v \u002Fhost:\u002Fcontainer \u003Cimage>     # 挂载卷\n$ docker container run --name \u003Cname> \u003Cimage>           # 指定容器名\n$ docker container start \u003Ccontainer>                   # 启动\n$ docker container stop \u003Ccontainer>                    # 停止\n$ docker container restart \u003Ccontainer>                 # 重启\n$ docker container rm \u003Ccontainer>…                     # 删除\n$ docker container prune                               # 清理已停止容器\n$ docker container logs \u003Ccontainer>                    # 查看日志\n$ docker container logs -f --tail 100 \u003Ccontainer>      # 跟踪最后 100 行\n$ docker container exec -it \u003Ccontainer> \u003Ccmd>          # 进入\u002F执行命令\n$ docker container cp \u003Csrc> \u003Ccontainer>:\u003Cdest>         # 复制到容器\n$ docker container cp \u003Ccontainer>:\u003Csrc> \u003Cdest>         # 从容器复制\n$ docker container inspect \u003Ccontainer>                 # 详细信息\n$ docker container stats                               # 资源占用\n$ docker container diff \u003Ccontainer>                    # 文件系统变更\n$ docker container port \u003Ccontainer>                    # 端口映射\n$ docker container commit \u003Ccontainer> \u003Cname>[:tag]     # 保存为新镜像\n$ docker container export -o output.tar \u003Ccontainer>    # 导出文件系统\n",[221,503,545,952,981],[215,1121,1122,1137,1152,1174,1197,1229,1255,1281,1313,1334,1355,1376,1402,1415,1437,1467,1498,1541,1580,1602,1617,1640,1663,1696],{"__ignoreMap":213},[218,1123,1125,1127,1129,1132,1134],{"class":1124,"line":221},[220,474],[218,1126,225],{"class":224},[218,1128,235],{"class":228},[218,1130,1131],{"class":228}," container",[218,1133,1089],{"class":228},[218,1135,1136],{"class":484},"                                  # 列出运行中容器\n",[218,1138,1139,1141,1143,1145,1147,1149],{"class":220,"line":244},[218,1140,225],{"class":224},[218,1142,235],{"class":228},[218,1144,1131],{"class":228},[218,1146,1089],{"class":228},[218,1148,497],{"class":228},[218,1150,1151],{"class":484},"                               # 列出所有容器\n",[218,1153,1155,1157,1159,1161,1163,1165,1167,1169,1171],{"class":1154,"line":503},[220,474],[218,1156,225],{"class":224},[218,1158,235],{"class":228},[218,1160,1131],{"class":228},[218,1162,552],{"class":228},[218,1164,526],{"class":291},[218,1166,560],{"class":228},[218,1168,533],{"class":532},[218,1170,536],{"class":291},[218,1172,1173],{"class":484},"                         # 创建并启动\n",[218,1175,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194],{"class":220,"line":516},[218,1177,225],{"class":224},[218,1179,235],{"class":228},[218,1181,1131],{"class":228},[218,1183,552],{"class":228},[218,1185,555],{"class":228},[218,1187,526],{"class":291},[218,1189,560],{"class":228},[218,1191,533],{"class":532},[218,1193,536],{"class":291},[218,1195,1196],{"class":484},"                      # 后台运行\n",[218,1198,1200,1202,1204,1206,1208,1210,1212,1214,1216,1218,1220,1222,1224,1226],{"class":1199,"line":545},[220,474],[218,1201,225],{"class":224},[218,1203,235],{"class":228},[218,1205,1131],{"class":228},[218,1207,552],{"class":228},[218,1209,580],{"class":228},[218,1211,526],{"class":291},[218,1213,560],{"class":228},[218,1215,533],{"class":532},[218,1217,536],{"class":291},[218,1219,526],{"class":291},[218,1221,595],{"class":228},[218,1223,598],{"class":532},[218,1225,536],{"class":291},[218,1227,1228],{"class":484},"               # 交互模式\n",[218,1230,1231,1233,1235,1237,1239,1241,1244,1246,1248,1250,1252],{"class":220,"line":570},[218,1232,225],{"class":224},[218,1234,235],{"class":228},[218,1236,1131],{"class":228},[218,1238,552],{"class":228},[218,1240,275],{"class":228},[218,1242,1243],{"class":228}," 8080:80",[218,1245,526],{"class":291},[218,1247,560],{"class":228},[218,1249,533],{"class":532},[218,1251,536],{"class":291},[218,1253,1254],{"class":484},"              # 端口映射\n",[218,1256,1257,1259,1261,1263,1265,1267,1270,1272,1274,1276,1278],{"class":220,"line":606},[218,1258,225],{"class":224},[218,1260,235],{"class":228},[218,1262,1131],{"class":228},[218,1264,552],{"class":228},[218,1266,817],{"class":228},[218,1268,1269],{"class":228}," \u002Fhost:\u002Fcontainer",[218,1271,526],{"class":291},[218,1273,560],{"class":228},[218,1275,533],{"class":532},[218,1277,536],{"class":291},[218,1279,1280],{"class":484},"     # 挂载卷\n",[218,1282,1283,1285,1287,1289,1291,1294,1296,1298,1300,1302,1304,1306,1308,1310],{"class":220,"line":468},[218,1284,225],{"class":224},[218,1286,235],{"class":228},[218,1288,1131],{"class":228},[218,1290,552],{"class":228},[218,1292,1293],{"class":228}," --name",[218,1295,526],{"class":291},[218,1297,529],{"class":228},[218,1299,533],{"class":532},[218,1301,536],{"class":291},[218,1303,526],{"class":291},[218,1305,560],{"class":228},[218,1307,533],{"class":532},[218,1309,536],{"class":291},[218,1311,1312],{"class":484},"           # 指定容器名\n",[218,1314,1315,1317,1319,1321,1323,1325,1327,1329,1331],{"class":220,"line":874},[218,1316,225],{"class":224},[218,1318,235],{"class":228},[218,1320,1131],{"class":228},[218,1322,254],{"class":228},[218,1324,526],{"class":291},[218,1326,585],{"class":228},[218,1328,588],{"class":532},[218,1330,536],{"class":291},[218,1332,1333],{"class":484},"                   # 启动\n",[218,1335,1336,1338,1340,1342,1344,1346,1348,1350,1352],{"class":220,"line":904},[218,1337,225],{"class":224},[218,1339,235],{"class":228},[218,1341,1131],{"class":228},[218,1343,1013],{"class":228},[218,1345,526],{"class":291},[218,1347,585],{"class":228},[218,1349,588],{"class":532},[218,1351,536],{"class":291},[218,1353,1354],{"class":484},"                    # 停止\n",[218,1356,1357,1359,1361,1363,1365,1367,1369,1371,1373],{"class":220,"line":743},[218,1358,225],{"class":224},[218,1360,235],{"class":228},[218,1362,1131],{"class":228},[218,1364,990],{"class":228},[218,1366,526],{"class":291},[218,1368,585],{"class":228},[218,1370,588],{"class":532},[218,1372,536],{"class":291},[218,1374,1375],{"class":484},"                 # 重启\n",[218,1377,1379,1381,1383,1385,1388,1390,1392,1394,1396,1399],{"class":1378,"line":952},[220,474],[218,1380,225],{"class":224},[218,1382,235],{"class":228},[218,1384,1131],{"class":228},[218,1386,1387],{"class":228}," rm",[218,1389,526],{"class":291},[218,1391,585],{"class":228},[218,1393,588],{"class":532},[218,1395,536],{"class":291},[218,1397,1398],{"class":228},"…",[218,1400,1401],{"class":484},"                     # 删除\n",[218,1403,1404,1406,1408,1410,1412],{"class":220,"line":966},[218,1405,225],{"class":224},[218,1407,235],{"class":228},[218,1409,1131],{"class":228},[218,1411,694],{"class":228},[218,1413,1414],{"class":484},"                               # 清理已停止容器\n",[218,1416,1418,1420,1422,1424,1426,1428,1430,1432,1434],{"class":1417,"line":981},[220,474],[218,1419,225],{"class":224},[218,1421,235],{"class":228},[218,1423,1131],{"class":228},[218,1425,613],{"class":228},[218,1427,526],{"class":291},[218,1429,585],{"class":228},[218,1431,588],{"class":532},[218,1433,536],{"class":291},[218,1435,1436],{"class":484},"                    # 查看日志\n",[218,1438,1439,1441,1443,1445,1447,1449,1452,1456,1458,1460,1462,1464],{"class":220,"line":1004},[218,1440,225],{"class":224},[218,1442,235],{"class":228},[218,1444,1131],{"class":228},[218,1446,613],{"class":228},[218,1448,616],{"class":228},[218,1450,1451],{"class":228}," --tail",[218,1453,1455],{"class":1454},"sbssI"," 100",[218,1457,526],{"class":291},[218,1459,585],{"class":228},[218,1461,588],{"class":532},[218,1463,536],{"class":291},[218,1465,1466],{"class":484},"      # 跟踪最后 100 行\n",[218,1468,1469,1471,1473,1475,1477,1479,1481,1483,1485,1487,1489,1491,1493,1495],{"class":220,"line":1019},[218,1470,225],{"class":224},[218,1472,235],{"class":228},[218,1474,1131],{"class":228},[218,1476,577],{"class":228},[218,1478,580],{"class":228},[218,1480,526],{"class":291},[218,1482,585],{"class":228},[218,1484,588],{"class":532},[218,1486,536],{"class":291},[218,1488,526],{"class":291},[218,1490,595],{"class":228},[218,1492,598],{"class":532},[218,1494,536],{"class":291},[218,1496,1497],{"class":484},"          # 进入\u002F执行命令\n",[218,1499,1500,1502,1504,1506,1508,1510,1513,1516,1518,1520,1522,1524,1526,1528,1530,1533,1536,1538],{"class":220,"line":1033},[218,1501,225],{"class":224},[218,1503,235],{"class":228},[218,1505,1131],{"class":228},[218,1507,1042],{"class":228},[218,1509,526],{"class":291},[218,1511,1512],{"class":228},"sr",[218,1514,1515],{"class":532},"c",[218,1517,536],{"class":291},[218,1519,526],{"class":291},[218,1521,585],{"class":228},[218,1523,588],{"class":532},[218,1525,536],{"class":291},[218,1527,1053],{"class":228},[218,1529,1056],{"class":291},[218,1531,1532],{"class":228},"des",[218,1534,1535],{"class":532},"t",[218,1537,536],{"class":291},[218,1539,1540],{"class":484},"         # 复制到容器\n",[218,1542,1543,1545,1547,1549,1551,1553,1555,1557,1559,1561,1563,1565,1567,1569,1571,1573,1575,1577],{"class":220,"line":1080},[218,1544,225],{"class":224},[218,1546,235],{"class":228},[218,1548,1131],{"class":228},[218,1550,1042],{"class":228},[218,1552,526],{"class":291},[218,1554,585],{"class":228},[218,1556,588],{"class":532},[218,1558,536],{"class":291},[218,1560,1053],{"class":228},[218,1562,1056],{"class":291},[218,1564,1512],{"class":228},[218,1566,1515],{"class":532},[218,1568,536],{"class":291},[218,1570,526],{"class":291},[218,1572,1532],{"class":228},[218,1574,1535],{"class":532},[218,1576,536],{"class":291},[218,1578,1579],{"class":484},"         # 从容器复制\n",[218,1581,1582,1584,1586,1588,1591,1593,1595,1597,1599],{"class":220,"line":1095},[218,1583,225],{"class":224},[218,1585,235],{"class":228},[218,1587,1131],{"class":228},[218,1589,1590],{"class":228}," inspect",[218,1592,526],{"class":291},[218,1594,585],{"class":228},[218,1596,588],{"class":532},[218,1598,536],{"class":291},[218,1600,1601],{"class":484},"                 # 详细信息\n",[218,1603,1605,1607,1609,1611,1614],{"class":220,"line":1604},20,[218,1606,225],{"class":224},[218,1608,235],{"class":228},[218,1610,1131],{"class":228},[218,1612,1613],{"class":228}," stats",[218,1615,1616],{"class":484},"                               # 资源占用\n",[218,1618,1620,1622,1624,1626,1629,1631,1633,1635,1637],{"class":220,"line":1619},21,[218,1621,225],{"class":224},[218,1623,235],{"class":228},[218,1625,1131],{"class":228},[218,1627,1628],{"class":228}," diff",[218,1630,526],{"class":291},[218,1632,585],{"class":228},[218,1634,588],{"class":532},[218,1636,536],{"class":291},[218,1638,1639],{"class":484},"                    # 文件系统变更\n",[218,1641,1643,1645,1647,1649,1652,1654,1656,1658,1660],{"class":220,"line":1642},22,[218,1644,225],{"class":224},[218,1646,235],{"class":228},[218,1648,1131],{"class":228},[218,1650,1651],{"class":228}," port",[218,1653,526],{"class":291},[218,1655,585],{"class":228},[218,1657,588],{"class":532},[218,1659,536],{"class":291},[218,1661,1662],{"class":484},"                    # 端口映射\n",[218,1664,1666,1668,1670,1672,1675,1677,1679,1681,1683,1685,1687,1689,1691,1693],{"class":220,"line":1665},23,[218,1667,225],{"class":224},[218,1669,235],{"class":228},[218,1671,1131],{"class":228},[218,1673,1674],{"class":228}," commit",[218,1676,526],{"class":291},[218,1678,585],{"class":228},[218,1680,588],{"class":532},[218,1682,536],{"class":291},[218,1684,526],{"class":291},[218,1686,529],{"class":228},[218,1688,533],{"class":532},[218,1690,536],{"class":291},[218,1692,539],{"class":228},[218,1694,1695],{"class":484},"     # 保存为新镜像\n",[218,1697,1699,1701,1703,1705,1708,1711,1714,1716,1718,1720,1722],{"class":220,"line":1698},24,[218,1700,225],{"class":224},[218,1702,235],{"class":228},[218,1704,1131],{"class":228},[218,1706,1707],{"class":228}," export",[218,1709,1710],{"class":228}," -o",[218,1712,1713],{"class":228}," output.tar",[218,1715,526],{"class":291},[218,1717,585],{"class":228},[218,1719,588],{"class":532},[218,1721,536],{"class":291},[218,1723,1724],{"class":484},"    # 导出文件系统\n",[461,1726,1728],{"id":1727},"docker-image","docker image",[456,1730,1732],{"to":1731},"https:\u002F\u002Fdocs.docker.com\u002Freference\u002Fcli\u002Fdocker\u002Fimage\u002F","Docker Image 参考",[208,1734,1737],{"className":210,"code":1735,"highlights":1736,"language":212,"meta":213,"style":213},"$ docker image ls                                      # 列出镜像\n$ docker image pull \u003Cname>[:tag]                       # 拉取镜像\n$ docker image push \u003Cname>[:tag]                       # 推送镜像\n$ docker image rm \u003Cimage>…                             # 删除镜像\n$ docker image build -t \u003Cname> .                       # 从 Dockerfile 构建\n$ docker image tag \u003Csource> \u003Ctarget>                   # 打标签\n$ docker image history \u003Cimage>                         # 查看分层历史\n$ docker image prune                                   # 清理悬空镜像\n$ docker image prune -a                                # 清理未使用镜像\n$ docker image save -o output.tar \u003Cimage>…             # 导出为 tar\n$ docker image load -i output.tar                      # 从 tar 导入\n$ docker image import \u003Cfile> \u003Cname>[:tag]              # 从归档导入\n$ docker search \u003Cterm>                                 # 搜索镜像（顶层命令）\n",[221,244,570,468],[215,1738,1739,1754,1778,1801,1824,1851,1884,1906,1920,1935,1963,1982,2015],{"__ignoreMap":213},[218,1740,1742,1744,1746,1749,1751],{"class":1741,"line":221},[220,474],[218,1743,225],{"class":224},[218,1745,235],{"class":228},[218,1747,1748],{"class":228}," image",[218,1750,1089],{"class":228},[218,1752,1753],{"class":484},"                                      # 列出镜像\n",[218,1755,1757,1759,1761,1763,1765,1767,1769,1771,1773,1775],{"class":1756,"line":244},[220,474],[218,1758,225],{"class":224},[218,1760,235],{"class":228},[218,1762,1748],{"class":228},[218,1764,523],{"class":228},[218,1766,526],{"class":291},[218,1768,529],{"class":228},[218,1770,533],{"class":532},[218,1772,536],{"class":291},[218,1774,539],{"class":228},[218,1776,1777],{"class":484},"                       # 拉取镜像\n",[218,1779,1780,1782,1784,1786,1788,1790,1792,1794,1796,1798],{"class":220,"line":503},[218,1781,225],{"class":224},[218,1783,235],{"class":228},[218,1785,1748],{"class":228},[218,1787,975],{"class":228},[218,1789,526],{"class":291},[218,1791,529],{"class":228},[218,1793,533],{"class":532},[218,1795,536],{"class":291},[218,1797,539],{"class":228},[218,1799,1800],{"class":484},"                       # 推送镜像\n",[218,1802,1803,1805,1807,1809,1811,1813,1815,1817,1819,1821],{"class":220,"line":516},[218,1804,225],{"class":224},[218,1806,235],{"class":228},[218,1808,1748],{"class":228},[218,1810,1387],{"class":228},[218,1812,526],{"class":291},[218,1814,560],{"class":228},[218,1816,533],{"class":532},[218,1818,536],{"class":291},[218,1820,1398],{"class":228},[218,1822,1823],{"class":484},"                             # 删除镜像\n",[218,1825,1826,1828,1830,1832,1834,1837,1839,1841,1843,1845,1848],{"class":220,"line":545},[218,1827,225],{"class":224},[218,1829,235],{"class":228},[218,1831,1748],{"class":228},[218,1833,946],{"class":228},[218,1835,1836],{"class":228}," -t",[218,1838,526],{"class":291},[218,1840,529],{"class":228},[218,1842,533],{"class":532},[218,1844,536],{"class":291},[218,1846,1847],{"class":228}," .",[218,1849,1850],{"class":484},"                       # 从 Dockerfile 构建\n",[218,1852,1854,1856,1858,1860,1863,1865,1868,1870,1872,1874,1877,1879,1881],{"class":1853,"line":570},[220,474],[218,1855,225],{"class":224},[218,1857,235],{"class":228},[218,1859,1748],{"class":228},[218,1861,1862],{"class":228}," tag",[218,1864,526],{"class":291},[218,1866,1867],{"class":228},"sourc",[218,1869,533],{"class":532},[218,1871,536],{"class":291},[218,1873,526],{"class":291},[218,1875,1876],{"class":228},"targe",[218,1878,1535],{"class":532},[218,1880,536],{"class":291},[218,1882,1883],{"class":484},"                   # 打标签\n",[218,1885,1886,1888,1890,1892,1895,1897,1899,1901,1903],{"class":220,"line":606},[218,1887,225],{"class":224},[218,1889,235],{"class":228},[218,1891,1748],{"class":228},[218,1893,1894],{"class":228}," history",[218,1896,526],{"class":291},[218,1898,560],{"class":228},[218,1900,533],{"class":532},[218,1902,536],{"class":291},[218,1904,1905],{"class":484},"                         # 查看分层历史\n",[218,1907,1909,1911,1913,1915,1917],{"class":1908,"line":468},[220,474],[218,1910,225],{"class":224},[218,1912,235],{"class":228},[218,1914,1748],{"class":228},[218,1916,694],{"class":228},[218,1918,1919],{"class":484},"                                   # 清理悬空镜像\n",[218,1921,1922,1924,1926,1928,1930,1932],{"class":220,"line":874},[218,1923,225],{"class":224},[218,1925,235],{"class":228},[218,1927,1748],{"class":228},[218,1929,694],{"class":228},[218,1931,497],{"class":228},[218,1933,1934],{"class":484},"                                # 清理未使用镜像\n",[218,1936,1937,1939,1941,1943,1946,1948,1950,1952,1954,1956,1958,1960],{"class":220,"line":904},[218,1938,225],{"class":224},[218,1940,235],{"class":228},[218,1942,1748],{"class":228},[218,1944,1945],{"class":228}," save",[218,1947,1710],{"class":228},[218,1949,1713],{"class":228},[218,1951,526],{"class":291},[218,1953,560],{"class":228},[218,1955,533],{"class":532},[218,1957,536],{"class":291},[218,1959,1398],{"class":228},[218,1961,1962],{"class":484},"             # 导出为 tar\n",[218,1964,1965,1967,1969,1971,1974,1977,1979],{"class":220,"line":743},[218,1966,225],{"class":224},[218,1968,235],{"class":228},[218,1970,1748],{"class":228},[218,1972,1973],{"class":228}," load",[218,1975,1976],{"class":228}," -i",[218,1978,1713],{"class":228},[218,1980,1981],{"class":484},"                      # 从 tar 导入\n",[218,1983,1984,1986,1988,1990,1993,1995,1998,2000,2002,2004,2006,2008,2010,2012],{"class":220,"line":952},[218,1985,225],{"class":224},[218,1987,235],{"class":228},[218,1989,1748],{"class":228},[218,1991,1992],{"class":228}," import",[218,1994,526],{"class":291},[218,1996,1997],{"class":228},"fil",[218,1999,533],{"class":532},[218,2001,536],{"class":291},[218,2003,526],{"class":291},[218,2005,529],{"class":228},[218,2007,533],{"class":532},[218,2009,536],{"class":291},[218,2011,539],{"class":228},[218,2013,2014],{"class":484},"              # 从归档导入\n",[218,2016,2017,2019,2021,2024,2026,2029,2032,2034],{"class":220,"line":966},[218,2018,225],{"class":224},[218,2020,235],{"class":228},[218,2022,2023],{"class":228}," search",[218,2025,526],{"class":291},[218,2027,2028],{"class":228},"ter",[218,2030,2031],{"class":532},"m",[218,2033,536],{"class":291},[218,2035,2036],{"class":484},"                                 # 搜索镜像（顶层命令）\n",[461,2038,2040],{"id":2039},"docker-network","docker network",[456,2042,2044],{"to":2043},"https:\u002F\u002Fdocs.docker.com\u002Freference\u002Fcli\u002Fdocker\u002Fnetwork\u002F","Docker Network 参考",[208,2046,2048],{"className":210,"code":2047,"language":212,"meta":213,"style":213},"$ docker network ls                                    # 列出网络\n$ docker network create \u003Cname>                         # 创建网络\n$ docker network rm \u003Cname>                             # 删除网络\n$ docker network connect \u003Cnet> \u003Ccontainer>             # 接入网络\n$ docker network disconnect \u003Cnet> \u003Ccontainer>          # 断开网络\n$ docker network inspect \u003Cname>                        # 查看详情\n",[215,2049,2050,2064,2086,2107,2138,2168],{"__ignoreMap":213},[218,2051,2052,2054,2056,2059,2061],{"class":220,"line":221},[218,2053,225],{"class":224},[218,2055,235],{"class":228},[218,2057,2058],{"class":228}," network",[218,2060,1089],{"class":228},[218,2062,2063],{"class":484},"                                    # 列出网络\n",[218,2065,2066,2068,2070,2072,2075,2077,2079,2081,2083],{"class":220,"line":244},[218,2067,225],{"class":224},[218,2069,235],{"class":228},[218,2071,2058],{"class":228},[218,2073,2074],{"class":228}," create",[218,2076,526],{"class":291},[218,2078,529],{"class":228},[218,2080,533],{"class":532},[218,2082,536],{"class":291},[218,2084,2085],{"class":484},"                         # 创建网络\n",[218,2087,2088,2090,2092,2094,2096,2098,2100,2102,2104],{"class":220,"line":503},[218,2089,225],{"class":224},[218,2091,235],{"class":228},[218,2093,2058],{"class":228},[218,2095,1387],{"class":228},[218,2097,526],{"class":291},[218,2099,529],{"class":228},[218,2101,533],{"class":532},[218,2103,536],{"class":291},[218,2105,2106],{"class":484},"                             # 删除网络\n",[218,2108,2109,2111,2113,2115,2118,2120,2123,2125,2127,2129,2131,2133,2135],{"class":220,"line":516},[218,2110,225],{"class":224},[218,2112,235],{"class":228},[218,2114,2058],{"class":228},[218,2116,2117],{"class":228}," connect",[218,2119,526],{"class":291},[218,2121,2122],{"class":228},"ne",[218,2124,1535],{"class":532},[218,2126,536],{"class":291},[218,2128,526],{"class":291},[218,2130,585],{"class":228},[218,2132,588],{"class":532},[218,2134,536],{"class":291},[218,2136,2137],{"class":484},"             # 接入网络\n",[218,2139,2140,2142,2144,2146,2149,2151,2153,2155,2157,2159,2161,2163,2165],{"class":220,"line":545},[218,2141,225],{"class":224},[218,2143,235],{"class":228},[218,2145,2058],{"class":228},[218,2147,2148],{"class":228}," disconnect",[218,2150,526],{"class":291},[218,2152,2122],{"class":228},[218,2154,1535],{"class":532},[218,2156,536],{"class":291},[218,2158,526],{"class":291},[218,2160,585],{"class":228},[218,2162,588],{"class":532},[218,2164,536],{"class":291},[218,2166,2167],{"class":484},"          # 断开网络\n",[218,2169,2170,2172,2174,2176,2178,2180,2182,2184,2186],{"class":220,"line":570},[218,2171,225],{"class":224},[218,2173,235],{"class":228},[218,2175,2058],{"class":228},[218,2177,1590],{"class":228},[218,2179,526],{"class":291},[218,2181,529],{"class":228},[218,2183,533],{"class":532},[218,2185,536],{"class":291},[218,2187,2188],{"class":484},"                        # 查看详情\n",[461,2190,2192],{"id":2191},"docker-system","docker system",[456,2194,2196],{"to":2195},"https:\u002F\u002Fdocs.docker.com\u002Freference\u002Fcli\u002Fdocker\u002Fsystem\u002F","Docker System 参考",[208,2198,2201],{"className":210,"code":2199,"highlights":2200,"language":212,"meta":213,"style":213},"$ docker version                                       # 客户端\u002F引擎版本\n$ docker info                                          # 系统信息\n$ docker system df                                     # 磁盘占用\n$ docker system prune                                  # 清理未使用资源\n$ docker system prune -a                               # 含未使用镜像\n$ docker system prune --volumes                        # 含未使用卷\n$ docker system events                                 # 实时事件流\n$ docker system events --since 1h                      # 过去 1 小时事件\n",[221,503,570],[215,2202,2203,2216,2228,2244,2257,2272,2289,2303],{"__ignoreMap":213},[218,2204,2206,2208,2210,2213],{"class":2205,"line":221},[220,474],[218,2207,225],{"class":224},[218,2209,235],{"class":228},[218,2211,2212],{"class":228}," version",[218,2214,2215],{"class":484},"                                       # 客户端\u002F引擎版本\n",[218,2217,2218,2220,2222,2225],{"class":220,"line":244},[218,2219,225],{"class":224},[218,2221,235],{"class":228},[218,2223,2224],{"class":228}," info",[218,2226,2227],{"class":484},"                                          # 系统信息\n",[218,2229,2231,2233,2235,2238,2241],{"class":2230,"line":503},[220,474],[218,2232,225],{"class":224},[218,2234,235],{"class":228},[218,2236,2237],{"class":228}," system",[218,2239,2240],{"class":228}," df",[218,2242,2243],{"class":484},"                                     # 磁盘占用\n",[218,2245,2246,2248,2250,2252,2254],{"class":220,"line":516},[218,2247,225],{"class":224},[218,2249,235],{"class":228},[218,2251,2237],{"class":228},[218,2253,694],{"class":228},[218,2255,2256],{"class":484},"                                  # 清理未使用资源\n",[218,2258,2259,2261,2263,2265,2267,2269],{"class":220,"line":545},[218,2260,225],{"class":224},[218,2262,235],{"class":228},[218,2264,2237],{"class":228},[218,2266,694],{"class":228},[218,2268,497],{"class":228},[218,2270,2271],{"class":484},"                               # 含未使用镜像\n",[218,2273,2275,2277,2279,2281,2283,2286],{"class":2274,"line":570},[220,474],[218,2276,225],{"class":224},[218,2278,235],{"class":228},[218,2280,2237],{"class":228},[218,2282,694],{"class":228},[218,2284,2285],{"class":228}," --volumes",[218,2287,2288],{"class":484},"                        # 含未使用卷\n",[218,2290,2291,2293,2295,2297,2300],{"class":220,"line":606},[218,2292,225],{"class":224},[218,2294,235],{"class":228},[218,2296,2237],{"class":228},[218,2298,2299],{"class":228}," events",[218,2301,2302],{"class":484},"                                 # 实时事件流\n",[218,2304,2305,2307,2309,2311,2313,2316,2319],{"class":220,"line":468},[218,2306,225],{"class":224},[218,2308,235],{"class":228},[218,2310,2237],{"class":228},[218,2312,2299],{"class":228},[218,2314,2315],{"class":228}," --since",[218,2317,2318],{"class":228}," 1h",[218,2320,2321],{"class":484},"                      # 过去 1 小时事件\n",[461,2323,2325],{"id":2324},"docker-volume","docker volume",[456,2327,2329],{"to":2328},"https:\u002F\u002Fdocs.docker.com\u002Freference\u002Fcli\u002Fdocker\u002Fvolume\u002F","Docker Volume 参考",[208,2331,2333],{"className":210,"code":2332,"language":212,"meta":213,"style":213},"$ docker volume ls                                     # 列出卷\n$ docker volume create \u003Cname>                          # 创建卷\n$ docker volume rm \u003Cname>                              # 删除卷\n$ docker volume prune                                  # 清理未使用卷\n$ docker volume inspect \u003Cname>                         # 查看详情\n",[215,2334,2335,2349,2370,2391,2404],{"__ignoreMap":213},[218,2336,2337,2339,2341,2344,2346],{"class":220,"line":221},[218,2338,225],{"class":224},[218,2340,235],{"class":228},[218,2342,2343],{"class":228}," volume",[218,2345,1089],{"class":228},[218,2347,2348],{"class":484},"                                     # 列出卷\n",[218,2350,2351,2353,2355,2357,2359,2361,2363,2365,2367],{"class":220,"line":244},[218,2352,225],{"class":224},[218,2354,235],{"class":228},[218,2356,2343],{"class":228},[218,2358,2074],{"class":228},[218,2360,526],{"class":291},[218,2362,529],{"class":228},[218,2364,533],{"class":532},[218,2366,536],{"class":291},[218,2368,2369],{"class":484},"                          # 创建卷\n",[218,2371,2372,2374,2376,2378,2380,2382,2384,2386,2388],{"class":220,"line":503},[218,2373,225],{"class":224},[218,2375,235],{"class":228},[218,2377,2343],{"class":228},[218,2379,1387],{"class":228},[218,2381,526],{"class":291},[218,2383,529],{"class":228},[218,2385,533],{"class":532},[218,2387,536],{"class":291},[218,2389,2390],{"class":484},"                              # 删除卷\n",[218,2392,2393,2395,2397,2399,2401],{"class":220,"line":516},[218,2394,225],{"class":224},[218,2396,235],{"class":228},[218,2398,2343],{"class":228},[218,2400,694],{"class":228},[218,2402,2403],{"class":484},"                                  # 清理未使用卷\n",[218,2405,2406,2408,2410,2412,2414,2416,2418,2420,2422],{"class":220,"line":545},[218,2407,225],{"class":224},[218,2409,235],{"class":228},[218,2411,2343],{"class":228},[218,2413,1590],{"class":228},[218,2415,526],{"class":291},[218,2417,529],{"class":228},[218,2419,533],{"class":532},[218,2421,536],{"class":291},[218,2423,2424],{"class":484},"                         # 查看详情\n",[461,2426,2427],{"id":2427},"数据卷备份",[208,2429,2432],{"className":210,"code":2430,"highlights":2431,"language":212,"meta":213,"style":213},"# 备份卷到宿主机\n$ docker container run --rm -v \u003Cvolume>:\u002Fdata -v $(pwd):\u002Fbackup alpine tar czf \u002Fbackup\u002Fvol-backup.tar.gz -C \u002Fdata .\n# 从宿主机恢复卷\n$ docker container run --rm -v \u003Cvolume>:\u002Fdata -v $(pwd):\u002Fbackup alpine tar xzf \u002Fbackup\u002Fvol-backup.tar.gz -C \u002Fdata\n# 跨主机迁移卷\n$ docker container run --rm -v \u003Cvolume>:\u002Fdata alpine tar czf - -C \u002Fdata . | ssh user@host \"docker container run --rm -i -v \u003Cvolume>:\u002Fdata alpine tar xzf - -C \u002Fdata\"\n",[244,503],[215,2433,2434,2439,2499,2505,2553,2558],{"__ignoreMap":213},[218,2435,2436],{"class":220,"line":221},[218,2437,2438],{"class":484},"# 备份卷到宿主机\n",[218,2440,2442,2444,2446,2448,2450,2452,2454,2456,2459,2461,2463,2466,2468,2470,2473,2475,2478,2481,2484,2487,2490,2493,2496],{"class":2441,"line":244},[220,474],[218,2443,225],{"class":224},[218,2445,235],{"class":228},[218,2447,1131],{"class":228},[218,2449,552],{"class":228},[218,2451,915],{"class":228},[218,2453,817],{"class":228},[218,2455,526],{"class":291},[218,2457,2458],{"class":228},"volum",[218,2460,533],{"class":532},[218,2462,536],{"class":291},[218,2464,2465],{"class":228},":\u002Fdata",[218,2467,817],{"class":228},[218,2469,292],{"class":291},[218,2471,2472],{"class":418},"pwd",[218,2474,301],{"class":291},[218,2476,2477],{"class":228},":\u002Fbackup",[218,2479,2480],{"class":228}," alpine",[218,2482,2483],{"class":228}," tar",[218,2485,2486],{"class":228}," czf",[218,2488,2489],{"class":228}," \u002Fbackup\u002Fvol-backup.tar.gz",[218,2491,2492],{"class":228}," -C",[218,2494,2495],{"class":228}," \u002Fdata",[218,2497,2498],{"class":228}," .\n",[218,2500,2502],{"class":2501,"line":503},[220,474],[218,2503,2504],{"class":484},"# 从宿主机恢复卷\n",[218,2506,2507,2509,2511,2513,2515,2517,2519,2521,2523,2525,2527,2529,2531,2533,2535,2537,2539,2541,2543,2546,2548,2550],{"class":220,"line":516},[218,2508,225],{"class":224},[218,2510,235],{"class":228},[218,2512,1131],{"class":228},[218,2514,552],{"class":228},[218,2516,915],{"class":228},[218,2518,817],{"class":228},[218,2520,526],{"class":291},[218,2522,2458],{"class":228},[218,2524,533],{"class":532},[218,2526,536],{"class":291},[218,2528,2465],{"class":228},[218,2530,817],{"class":228},[218,2532,292],{"class":291},[218,2534,2472],{"class":418},[218,2536,301],{"class":291},[218,2538,2477],{"class":228},[218,2540,2480],{"class":228},[218,2542,2483],{"class":228},[218,2544,2545],{"class":228}," xzf",[218,2547,2489],{"class":228},[218,2549,2492],{"class":228},[218,2551,2552],{"class":228}," \u002Fdata\n",[218,2554,2555],{"class":220,"line":545},[218,2556,2557],{"class":484},"# 跨主机迁移卷\n",[218,2559,2560,2562,2564,2566,2568,2570,2572,2574,2576,2578,2580,2582,2584,2586,2588,2591,2593,2595,2597,2600,2603,2606,2609,2612],{"class":220,"line":570},[218,2561,225],{"class":224},[218,2563,235],{"class":228},[218,2565,1131],{"class":228},[218,2567,552],{"class":228},[218,2569,915],{"class":228},[218,2571,817],{"class":228},[218,2573,526],{"class":291},[218,2575,2458],{"class":228},[218,2577,533],{"class":532},[218,2579,536],{"class":291},[218,2581,2465],{"class":228},[218,2583,2480],{"class":228},[218,2585,2483],{"class":228},[218,2587,2486],{"class":228},[218,2589,2590],{"class":228}," -",[218,2592,2492],{"class":228},[218,2594,2495],{"class":228},[218,2596,1847],{"class":228},[218,2598,2599],{"class":291}," |",[218,2601,2602],{"class":224}," ssh",[218,2604,2605],{"class":228}," user@host",[218,2607,2608],{"class":291}," \"",[218,2610,2611],{"class":228},"docker container run --rm -i -v \u003Cvolume>:\u002Fdata alpine tar xzf - -C \u002Fdata",[218,2613,2614],{"class":291},"\"\n",[195,2616,2618],{"id":2617},"colima-常用命令","Colima 常用命令",[208,2620,2622],{"className":210,"code":2621,"language":212,"meta":213,"style":213},"$ colima status                                        # 查看状态\n$ colima start                                         # 启动\n$ colima stop                                          # 停止\n$ colima ssh                                           # SSH 进入虚拟机，exit 或 Ctrl-D 退出\n$ colima list                                          # 列出实例\n$ colima delete                                        # 删除虚拟机\n$ colima version                                       # 查看版本\n$ colima nerdctl install                               # 安装 nerdctl 别名\n",[215,2623,2624,2637,2648,2659,2670,2682,2694,2705],{"__ignoreMap":213},[218,2625,2626,2628,2631,2634],{"class":220,"line":221},[218,2627,225],{"class":224},[218,2629,2630],{"class":228}," colima",[218,2632,2633],{"class":228}," status",[218,2635,2636],{"class":484},"                                        # 查看状态\n",[218,2638,2639,2641,2643,2645],{"class":220,"line":244},[218,2640,225],{"class":224},[218,2642,2630],{"class":228},[218,2644,254],{"class":228},[218,2646,2647],{"class":484},"                                         # 启动\n",[218,2649,2650,2652,2654,2656],{"class":220,"line":503},[218,2651,225],{"class":224},[218,2653,2630],{"class":228},[218,2655,1013],{"class":228},[218,2657,2658],{"class":484},"                                          # 停止\n",[218,2660,2661,2663,2665,2667],{"class":220,"line":516},[218,2662,225],{"class":224},[218,2664,2630],{"class":228},[218,2666,2602],{"class":228},[218,2668,2669],{"class":484},"                                           # SSH 进入虚拟机，exit 或 Ctrl-D 退出\n",[218,2671,2672,2674,2676,2679],{"class":220,"line":545},[218,2673,225],{"class":224},[218,2675,2630],{"class":228},[218,2677,2678],{"class":228}," list",[218,2680,2681],{"class":484},"                                          # 列出实例\n",[218,2683,2684,2686,2688,2691],{"class":220,"line":570},[218,2685,225],{"class":224},[218,2687,2630],{"class":228},[218,2689,2690],{"class":228}," delete",[218,2692,2693],{"class":484},"                                        # 删除虚拟机\n",[218,2695,2696,2698,2700,2702],{"class":220,"line":606},[218,2697,225],{"class":224},[218,2699,2630],{"class":228},[218,2701,2212],{"class":228},[218,2703,2704],{"class":484},"                                       # 查看版本\n",[218,2706,2707,2709,2711,2714,2716],{"class":220,"line":468},[218,2708,225],{"class":224},[218,2710,2630],{"class":228},[218,2712,2713],{"class":228}," nerdctl",[218,2715,232],{"class":228},[218,2717,2718],{"class":484},"                               # 安装 nerdctl 别名\n",[642,2720,2721],{},[339,2722,2723,2724,2727],{},"Colima 的 CPU、内存、磁盘等配置通过 ",[215,2725,2726],{},"~\u002F.colima\u002Fdefault\u002Fcolima.yaml"," 管理。",[2729,2730,2731],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":213,"searchDepth":244,"depth":244,"links":2733},[2734,2735,2746],{"id":197,"depth":244,"text":197},{"id":453,"depth":244,"text":454,"children":2736},[2737,2738,2739,2740,2741,2742,2743,2744,2745],{"id":463,"depth":503,"text":463},{"id":672,"depth":503,"text":673},{"id":734,"depth":503,"text":361},{"id":1110,"depth":503,"text":1111},{"id":1727,"depth":503,"text":1728},{"id":2039,"depth":503,"text":2040},{"id":2191,"depth":503,"text":2192},{"id":2324,"depth":503,"text":2325},{"id":2427,"depth":503,"text":2427},{"id":2617,"depth":244,"text":2618},"md",null,{},{"icon":127},{"title":124,"description":213},"mIEB2rF6UWcL0E7Q4c1X7bi-pS2KOM_4w9WEg7qQaCo",[2754,2755],{"title":119,"path":120,"stem":121,"description":213,"icon":122,"children":-1},{"title":129,"path":130,"stem":131,"description":213,"icon":132,"children":-1},1789315520047]