[{"data":1,"prerenderedAt":873},["ShallowReactive",2],{"navigation_docs":3,"-docker-images":204,"-docker-images-surround":868},[4,40,69,82,91,116,129,146,167],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fgetting-started","1.getting-started",[10,15,20,25,30,35],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Quick Start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start","i-lucide-rocket",{"title":26,"path":27,"stem":28,"icon":29},"Project Structure","\u002Fgetting-started\u002Fproject-structure","1.getting-started\u002F4.project-structure","i-lucide-folder-tree",{"title":31,"path":32,"stem":33,"icon":34},"First Deployment","\u002Fgetting-started\u002Ffirst-deployment","1.getting-started\u002F5.first-deployment","i-lucide-upload-cloud",{"title":36,"path":37,"stem":38,"icon":39},"Troubleshooting","\u002Fgetting-started\u002Ftroubleshooting","1.getting-started\u002F6.troubleshooting","i-lucide-wrench",{"title":41,"children":42,"path":67,"stem":68,"page":6},"Platform",[43,47,51,55,59,63],{"title":44,"path":45,"stem":46},"Dashboard","\u002Fplatform\u002Fdashboard","2.platform\u002F1.dashboard",{"title":48,"path":49,"stem":50},"Marketplace","\u002Fplatform\u002Fmarketplace","2.platform\u002F2.marketplace",{"title":52,"path":53,"stem":54},"Monitoring & Metrics","\u002Fplatform\u002Fmonitoring","2.platform\u002F3.monitoring",{"title":56,"path":57,"stem":58},"Projects","\u002Fplatform\u002Fprojects","2.platform\u002F4.projects",{"title":60,"path":61,"stem":62},"Services","\u002Fplatform\u002Fservices","2.platform\u002F5.services",{"title":64,"path":65,"stem":66},"Logs","\u002Fplatform\u002Flogs","2.platform\u002F6.logs","\u002Fplatform","2.platform",{"title":70,"children":71,"path":80,"stem":81,"page":6},"CLI",[72,76],{"title":73,"path":74,"stem":75},"CLI Installation","\u002Fcli\u002Finstallation","3.cli\u002F1.installation",{"title":77,"path":78,"stem":79},"Commands Reference","\u002Fcli\u002Fcommands","3.cli\u002F2.commands","\u002Fcli","3.cli",{"title":83,"children":84,"path":89,"stem":90,"page":6},"TUI",[85],{"title":86,"path":87,"stem":88},"TUI Overview","\u002Ftui\u002Foverview","4.tui\u002F1.overview","\u002Ftui","4.tui",{"title":92,"children":93,"path":114,"stem":115,"page":6},"Docker",[94,98,102,106,110],{"title":95,"path":96,"stem":97},"Docker Containers","\u002Fdocker\u002Fcontainers","5.docker\u002F1.containers",{"title":99,"path":100,"stem":101},"Docker Images","\u002Fdocker\u002Fimages","5.docker\u002F2.images",{"title":103,"path":104,"stem":105},"Docker Compose","\u002Fdocker\u002Fcompose","5.docker\u002F3.compose",{"title":107,"path":108,"stem":109},"Docker Volumes","\u002Fdocker\u002Fvolumes","5.docker\u002F4.volumes",{"title":111,"path":112,"stem":113},"Docker Networks","\u002Fdocker\u002Fnetworks","5.docker\u002F5.networks","\u002Fdocker","5.docker",{"title":117,"children":118,"path":127,"stem":128,"page":6},"PM2",[119,123],{"title":120,"path":121,"stem":122},"Process Management","\u002Fpm2\u002Fprocess-management","6.pm2\u002F1.process-management",{"title":124,"path":125,"stem":126},"Zero-Downtime Deployments","\u002Fpm2\u002Fzero-downtime","6.pm2\u002F2.zero-downtime","\u002Fpm2","6.pm2",{"title":130,"children":131,"path":144,"stem":145,"page":6},"VPS",[132,136,140],{"title":133,"path":134,"stem":135},"VPS Management","\u002Fvps\u002Fssh-management","7.vps\u002F1.ssh-management",{"title":137,"path":138,"stem":139},"SSH Access","\u002Fvps\u002Fssh","7.vps\u002F2.ssh",{"title":141,"path":142,"stem":143},"Firewall","\u002Fvps\u002Ffirewall","7.vps\u002F3.firewall","\u002Fvps","7.vps",{"title":147,"children":148,"path":165,"stem":166,"page":6},"Deployment",[149,153,157,161],{"title":150,"path":151,"stem":152},"Production Setup","\u002Fdeployment\u002Fproduction-setup","8.deployment\u002F1.production-setup",{"title":154,"path":155,"stem":156},"Scaling","\u002Fdeployment\u002Fscaling","8.deployment\u002F2.scaling",{"title":158,"path":159,"stem":160},"GitHub Actions CI\u002FCD","\u002Fdeployment\u002Fgithub-actions","8.deployment\u002F3.github-actions",{"title":162,"path":163,"stem":164},"Security","\u002Fdeployment\u002Fsecurity","8.deployment\u002F4.security","\u002Fdeployment","8.deployment",{"title":168,"children":169,"path":202,"stem":203,"page":6},"Reference",[170,174,178,182,186,190,194,198],{"title":171,"path":172,"stem":173},"Architecture","\u002Freference\u002Farchitecture","9.reference\u002F1.architecture",{"title":175,"path":176,"stem":177},"CLI Reference","\u002Freference\u002Fcli-reference","9.reference\u002F2.cli-reference",{"title":179,"path":180,"stem":181},"Environment Variables","\u002Freference\u002Fenvironment-variables","9.reference\u002F3.environment-variables",{"title":183,"path":184,"stem":185},"API Reference","\u002Freference\u002Fapi-reference","9.reference\u002F4.api-reference",{"title":187,"path":188,"stem":189},"Webhooks","\u002Freference\u002Fwebhooks","9.reference\u002F5.webhooks",{"title":191,"path":192,"stem":193},"Authentication","\u002Freference\u002Fauthentication","9.reference\u002F6.authentication",{"title":195,"path":196,"stem":197},"Configuration","\u002Freference\u002Fconfiguration","9.reference\u002F7.configuration",{"title":199,"path":200,"stem":201},"API Overview","\u002Freference\u002Fapi","9.reference\u002F8.api","\u002Freference","9.reference",{"id":205,"title":99,"body":206,"description":862,"extension":863,"links":864,"meta":865,"navigation":261,"path":100,"seo":866,"stem":101,"__hash__":867},"docs\u002F5.docker\u002F2.images.md",{"type":207,"value":208,"toc":849},"minimark",[209,214,218,223,309,313,318,380,384,388,567,571,635,639,703,707,802,806,829,832,845],[210,211,213],"h1",{"id":212},"docker-image-management","Docker Image Management",[215,216,217],"p",{},"Manage Docker images - building, pulling, pushing, and maintaining images.",[219,220,222],"h2",{"id":221},"listing-images","Listing Images",[224,225,230],"pre",{"className":226,"code":227,"language":228,"meta":229,"style":229},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# List local images\nskyport docker images\n\n# List with size information\nskyport docker images --format table\n\n# Search Docker Hub\nskyport docker search nginx\n","bash","",[231,232,233,242,256,263,269,285,290,296],"code",{"__ignoreMap":229},[234,235,238],"span",{"class":236,"line":237},"line",1,[234,239,241],{"class":240},"sHwdD","# List local images\n",[234,243,245,249,253],{"class":236,"line":244},2,[234,246,248],{"class":247},"sBMFI","skyport",[234,250,252],{"class":251},"sfazB"," docker",[234,254,255],{"class":251}," images\n",[234,257,259],{"class":236,"line":258},3,[234,260,262],{"emptyLinePlaceholder":261},true,"\n",[234,264,266],{"class":236,"line":265},4,[234,267,268],{"class":240},"# List with size information\n",[234,270,272,274,276,279,282],{"class":236,"line":271},5,[234,273,248],{"class":247},[234,275,252],{"class":251},[234,277,278],{"class":251}," images",[234,280,281],{"class":251}," --format",[234,283,284],{"class":251}," table\n",[234,286,288],{"class":236,"line":287},6,[234,289,262],{"emptyLinePlaceholder":261},[234,291,293],{"class":236,"line":292},7,[234,294,295],{"class":240},"# Search Docker Hub\n",[234,297,299,301,303,306],{"class":236,"line":298},8,[234,300,248],{"class":247},[234,302,252],{"class":251},[234,304,305],{"class":251}," search",[234,307,308],{"class":251}," nginx\n",[219,310,312],{"id":311},"pulling-images","Pulling Images",[314,315,317],"h3",{"id":316},"from-docker-hub","From Docker Hub",[224,319,321],{"className":226,"code":320,"language":228,"meta":229,"style":229},"# Pull latest version\nskyport docker pull nginx:latest\n\n# Pull specific version\nskyport docker pull postgres:15\n\n# Pull from specific registry\nskyport docker pull registry.example.com\u002Fapp:1.0.0\n",[231,322,323,328,340,344,349,360,364,369],{"__ignoreMap":229},[234,324,325],{"class":236,"line":237},[234,326,327],{"class":240},"# Pull latest version\n",[234,329,330,332,334,337],{"class":236,"line":244},[234,331,248],{"class":247},[234,333,252],{"class":251},[234,335,336],{"class":251}," pull",[234,338,339],{"class":251}," nginx:latest\n",[234,341,342],{"class":236,"line":258},[234,343,262],{"emptyLinePlaceholder":261},[234,345,346],{"class":236,"line":265},[234,347,348],{"class":240},"# Pull specific version\n",[234,350,351,353,355,357],{"class":236,"line":271},[234,352,248],{"class":247},[234,354,252],{"class":251},[234,356,336],{"class":251},[234,358,359],{"class":251}," postgres:15\n",[234,361,362],{"class":236,"line":287},[234,363,262],{"emptyLinePlaceholder":261},[234,365,366],{"class":236,"line":292},[234,367,368],{"class":240},"# Pull from specific registry\n",[234,370,371,373,375,377],{"class":236,"line":298},[234,372,248],{"class":247},[234,374,252],{"class":251},[234,376,336],{"class":251},[234,378,379],{"class":251}," registry.example.com\u002Fapp:1.0.0\n",[219,381,383],{"id":382},"building-images","Building Images",[314,385,387],{"id":386},"from-dockerfile","From Dockerfile",[224,389,391],{"className":226,"code":390,"language":228,"meta":229,"style":229},"# Build in current directory\nskyport docker build -t my-app:1.0.0 .\n\n# Build from specific file\nskyport docker build -f Dockerfile.prod -t my-app:prod .\n\n# Build with build arguments\nskyport docker build \\\n  -t my-app:1.0.0 \\\n  --build-arg VERSION=1.0.0 \\\n  --build-arg NODE_ENV=production \\\n  .\n\n# Build with labels\nskyport docker build \\\n  -t my-app:1.0.0 \\\n  --label version=1.0.0 \\\n  --label maintainer=team@example.com \\\n  .\n",[231,392,393,398,416,420,425,446,450,455,467,477,492,502,508,513,519,530,539,552,562],{"__ignoreMap":229},[234,394,395],{"class":236,"line":237},[234,396,397],{"class":240},"# Build in current directory\n",[234,399,400,402,404,407,410,413],{"class":236,"line":244},[234,401,248],{"class":247},[234,403,252],{"class":251},[234,405,406],{"class":251}," build",[234,408,409],{"class":251}," -t",[234,411,412],{"class":251}," my-app:1.0.0",[234,414,415],{"class":251}," .\n",[234,417,418],{"class":236,"line":258},[234,419,262],{"emptyLinePlaceholder":261},[234,421,422],{"class":236,"line":265},[234,423,424],{"class":240},"# Build from specific file\n",[234,426,427,429,431,433,436,439,441,444],{"class":236,"line":271},[234,428,248],{"class":247},[234,430,252],{"class":251},[234,432,406],{"class":251},[234,434,435],{"class":251}," -f",[234,437,438],{"class":251}," Dockerfile.prod",[234,440,409],{"class":251},[234,442,443],{"class":251}," my-app:prod",[234,445,415],{"class":251},[234,447,448],{"class":236,"line":287},[234,449,262],{"emptyLinePlaceholder":261},[234,451,452],{"class":236,"line":292},[234,453,454],{"class":240},"# Build with build arguments\n",[234,456,457,459,461,463],{"class":236,"line":298},[234,458,248],{"class":247},[234,460,252],{"class":251},[234,462,406],{"class":251},[234,464,466],{"class":465},"sTEyZ"," \\\n",[234,468,470,473,475],{"class":236,"line":469},9,[234,471,472],{"class":251},"  -t",[234,474,412],{"class":251},[234,476,466],{"class":465},[234,478,480,483,486,490],{"class":236,"line":479},10,[234,481,482],{"class":251},"  --build-arg",[234,484,485],{"class":251}," VERSION=",[234,487,489],{"class":488},"sbssI","1.0.0",[234,491,466],{"class":465},[234,493,495,497,500],{"class":236,"line":494},11,[234,496,482],{"class":251},[234,498,499],{"class":251}," NODE_ENV=production",[234,501,466],{"class":465},[234,503,505],{"class":236,"line":504},12,[234,506,507],{"class":251},"  .\n",[234,509,511],{"class":236,"line":510},13,[234,512,262],{"emptyLinePlaceholder":261},[234,514,516],{"class":236,"line":515},14,[234,517,518],{"class":240},"# Build with labels\n",[234,520,522,524,526,528],{"class":236,"line":521},15,[234,523,248],{"class":247},[234,525,252],{"class":251},[234,527,406],{"class":251},[234,529,466],{"class":465},[234,531,533,535,537],{"class":236,"line":532},16,[234,534,472],{"class":251},[234,536,412],{"class":251},[234,538,466],{"class":465},[234,540,542,545,548,550],{"class":236,"line":541},17,[234,543,544],{"class":251},"  --label",[234,546,547],{"class":251}," version=",[234,549,489],{"class":488},[234,551,466],{"class":465},[234,553,555,557,560],{"class":236,"line":554},18,[234,556,544],{"class":251},[234,558,559],{"class":251}," maintainer=team@example.com",[234,561,466],{"class":465},[234,563,565],{"class":236,"line":564},19,[234,566,507],{"class":251},[219,568,570],{"id":569},"pushing-images","Pushing Images",[224,572,574],{"className":226,"code":573,"language":228,"meta":229,"style":229},"# Tag image for registry\nskyport docker tag my-app:1.0.0 registry.example.com\u002Fmy-app:1.0.0\n\n# Push to Docker Hub\nskyport docker push my-app:1.0.0\n\n# Push to private registry\nskyport docker push registry.example.com\u002Fmy-app:1.0.0\n",[231,575,576,581,595,599,604,616,620,625],{"__ignoreMap":229},[234,577,578],{"class":236,"line":237},[234,579,580],{"class":240},"# Tag image for registry\n",[234,582,583,585,587,590,592],{"class":236,"line":244},[234,584,248],{"class":247},[234,586,252],{"class":251},[234,588,589],{"class":251}," tag",[234,591,412],{"class":251},[234,593,594],{"class":251}," registry.example.com\u002Fmy-app:1.0.0\n",[234,596,597],{"class":236,"line":258},[234,598,262],{"emptyLinePlaceholder":261},[234,600,601],{"class":236,"line":265},[234,602,603],{"class":240},"# Push to Docker Hub\n",[234,605,606,608,610,613],{"class":236,"line":271},[234,607,248],{"class":247},[234,609,252],{"class":251},[234,611,612],{"class":251}," push",[234,614,615],{"class":251}," my-app:1.0.0\n",[234,617,618],{"class":236,"line":287},[234,619,262],{"emptyLinePlaceholder":261},[234,621,622],{"class":236,"line":292},[234,623,624],{"class":240},"# Push to private registry\n",[234,626,627,629,631,633],{"class":236,"line":298},[234,628,248],{"class":247},[234,630,252],{"class":251},[234,632,612],{"class":251},[234,634,594],{"class":251},[219,636,638],{"id":637},"image-inspection","Image Inspection",[224,640,642],{"className":226,"code":641,"language":228,"meta":229,"style":229},"# View image details\nskyport docker inspect image-name\n\n# View image history\nskyport docker history image-name\n\n# View image layers\nskyport docker image inspect image-name\n",[231,643,644,649,661,665,670,681,685,690],{"__ignoreMap":229},[234,645,646],{"class":236,"line":237},[234,647,648],{"class":240},"# View image details\n",[234,650,651,653,655,658],{"class":236,"line":244},[234,652,248],{"class":247},[234,654,252],{"class":251},[234,656,657],{"class":251}," inspect",[234,659,660],{"class":251}," image-name\n",[234,662,663],{"class":236,"line":258},[234,664,262],{"emptyLinePlaceholder":261},[234,666,667],{"class":236,"line":265},[234,668,669],{"class":240},"# View image history\n",[234,671,672,674,676,679],{"class":236,"line":271},[234,673,248],{"class":247},[234,675,252],{"class":251},[234,677,678],{"class":251}," history",[234,680,660],{"class":251},[234,682,683],{"class":236,"line":287},[234,684,262],{"emptyLinePlaceholder":261},[234,686,687],{"class":236,"line":292},[234,688,689],{"class":240},"# View image layers\n",[234,691,692,694,696,699,701],{"class":236,"line":298},[234,693,248],{"class":247},[234,695,252],{"class":251},[234,697,698],{"class":251}," image",[234,700,657],{"class":251},[234,702,660],{"class":251},[219,704,706],{"id":705},"image-management","Image Management",[224,708,710],{"className":226,"code":709,"language":228,"meta":229,"style":229},"# Remove image\nskyport docker rmi image-name:tag\n\n# Remove unused images\nskyport docker image prune\n\n# Remove all images\nskyport docker rmi -a\n\n# Remove dangling images\nskyport docker image prune --filter \"dangling=true\"\n",[231,711,712,717,729,733,738,749,753,758,769,773,778],{"__ignoreMap":229},[234,713,714],{"class":236,"line":237},[234,715,716],{"class":240},"# Remove image\n",[234,718,719,721,723,726],{"class":236,"line":244},[234,720,248],{"class":247},[234,722,252],{"class":251},[234,724,725],{"class":251}," rmi",[234,727,728],{"class":251}," image-name:tag\n",[234,730,731],{"class":236,"line":258},[234,732,262],{"emptyLinePlaceholder":261},[234,734,735],{"class":236,"line":265},[234,736,737],{"class":240},"# Remove unused images\n",[234,739,740,742,744,746],{"class":236,"line":271},[234,741,248],{"class":247},[234,743,252],{"class":251},[234,745,698],{"class":251},[234,747,748],{"class":251}," prune\n",[234,750,751],{"class":236,"line":287},[234,752,262],{"emptyLinePlaceholder":261},[234,754,755],{"class":236,"line":292},[234,756,757],{"class":240},"# Remove all images\n",[234,759,760,762,764,766],{"class":236,"line":298},[234,761,248],{"class":247},[234,763,252],{"class":251},[234,765,725],{"class":251},[234,767,768],{"class":251}," -a\n",[234,770,771],{"class":236,"line":469},[234,772,262],{"emptyLinePlaceholder":261},[234,774,775],{"class":236,"line":479},[234,776,777],{"class":240},"# Remove dangling images\n",[234,779,780,782,784,786,789,792,796,799],{"class":236,"line":494},[234,781,248],{"class":247},[234,783,252],{"class":251},[234,785,698],{"class":251},[234,787,788],{"class":251}," prune",[234,790,791],{"class":251}," --filter",[234,793,795],{"class":794},"sMK4o"," \"",[234,797,798],{"class":251},"dangling=true",[234,800,801],{"class":794},"\"\n",[219,803,805],{"id":804},"best-practices","Best Practices",[807,808,809,817,820,823,826],"ul",{},[810,811,812,813,816],"li",{},"Use specific version tags (not ",[231,814,815],{},"latest",")",[810,818,819],{},"Minimize image layers",[810,821,822],{},"Use multi-stage builds",[810,824,825],{},"Keep images small",[810,827,828],{},"Scan images for vulnerabilities",[830,831],"hr",{},[215,833,834,838,839,842,843],{},[835,836,837],"strong",{},"Next",": ",[840,841,107],"a",{"href":108}," | ",[840,844,111],{"href":112},[846,847,848],"style",{},"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 .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 .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}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}",{"title":229,"searchDepth":244,"depth":244,"links":850},[851,852,855,858,859,860,861],{"id":221,"depth":244,"text":222},{"id":311,"depth":244,"text":312,"children":853},[854],{"id":316,"depth":258,"text":317},{"id":382,"depth":244,"text":383,"children":856},[857],{"id":386,"depth":258,"text":387},{"id":569,"depth":244,"text":570},{"id":637,"depth":244,"text":638},{"id":705,"depth":244,"text":706},{"id":804,"depth":244,"text":805},"Manage Docker images with SkyPort","md",null,{},{"title":99,"description":862},"9tjX1ldo0LKTgsjI623X13VRaYqScMh0F7l0Q7iNtr8",[869,871],{"title":95,"path":96,"stem":97,"description":870,"children":-1},"Manage Docker containers with SkyPort",{"title":103,"path":104,"stem":105,"description":872,"children":-1},"Docker Compose integration with SkyPort",1778858460547]