CINXE.COM
Multi-platform | Docker Docs
<!doctype html><html lang=en><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><script type=module> const pagefind = await import("/pagefind/pagefind.js"); await pagefind.options({ ranking: { termFrequency: 0.2, pageLength: 0.75, termSaturation: 1.4, termSimilarity: 6.0, }, }); </script><title>Multi-platform | Docker Docs</title><meta name=description content="Introduction to what multi-platform builds are and how to execute them using Docker Buildx."><meta name=keywords content="build,buildx,buildkit,multi-platform,cross-platform,cross-compilation,emulation,QEMU,ARM,x86,Windows,Linux,macOS"><link rel=canonical href=https://docs.docker.com/build/building/multi-platform/><link rel=icon type=image/x-icon href=https://docs.docker.com/favicons/docs@2x.ico sizes=129x128><link rel=apple-touch-icon type=image/x-icon href=https://docs.docker.com/favicons/docs@2x.ico sizes=129x128><meta name=msapplication-TileImage content="https://docs.docker.com/favicons/docs@2x.ico"><meta name=theme-color content="#2496ed"><meta name=twitter:title itemprop="title name" content="Multi-platform"><meta name=twitter:description property="og:description" itemprop=description content="Introduction to what multi-platform builds are and how to execute them using Docker Buildx."><meta name=twitter:card content="summary_large_image"><meta name=twitter:domain content="https://docs.docker.com/"><meta name=twitter:site content="@docker_docs"><meta name=twitter:url content="https://twitter.com/docker_docs"><meta name=twitter:image:src content="https://docs.docker.com/images/thumbnail.webp"><meta name=twitter:image:alt content="Docker Documentation"><meta property="og:title" content="Multi-platform"><meta property="og:description" content="Introduction to what multi-platform builds are and how to execute them using Docker Buildx."><meta property="og:type" content="website"><meta property="og:updated_time" itemprop=dateUpdated content="2024-11-17 21:50:15 -0600 -0600"><meta property="og:image" itemprop="image primaryImageOfPage" content="https://docs.docker.com/images/thumbnail.webp"><meta property="og:locale" content="en_US"><meta property="og:url" content="https://docs.docker.com/build/building/multi-platform/"><meta property="og:site_name" content="Docker Documentation"><meta property="article:published_time" itemprop=datePublished content="2024-11-17 21:50:15 -0600 -0600"><script type=application/ld+json>{"@context":"https://schema.org","@type":"WebPage","headline":"\"Multi-platform\"","description":"\"Introduction to what multi-platform builds are and how to execute them using Docker Buildx.\"","url":"https:\/\/docs.docker.com\/build\/building\/multi-platform\/"}</script><script src=https://cdn.cookielaw.org/scripttemplates/otSDKStub.js type=text/javascript data-domain-script=65425fb0-7b36-4317-9f10-7b3e08039af0></script><script type=text/javascript>function OptanonWrapper(){}</script><script>(function(e,t,n,s,o){e[s]=e[s]||[],e[s].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var a=t.getElementsByTagName(n)[0],i=t.createElement(n),r=s!="dataLayer"?"&l="+s:"";i.async=!0,i.src="https://www.googletagmanager.com/gtm.js?id="+o+r,a.parentNode.insertBefore(i,a)})(window,document,"script","dataLayer","GTM-WL2QLG5")</script><script>(function(e,t,n,s,o,i){e.hj=e.hj||function(){(e.hj.q=e.hj.q||[]).push(arguments)},e._hjSettings={hjid:3169877,hjsv:6},o=t.getElementsByTagName("head")[0],i=t.createElement("script"),i.async=1,i.src=n+e._hjSettings.hjid+s+e._hjSettings.hjsv,o.appendChild(i)})(window,document,"https://static.hotjar.com/c/hotjar-",".js?sv=")</script><script async src=https://widget.kapa.ai/kapa-widget.bundle.js data-button-hide=true data-font-family="Roboto Flex,sans-serif" data-modal-close-button-hide=true data-modal-disclaimer-bg-color=#e5f2fc data-modal-disclaimer-text-color=#086dd7 data-modal-disclaimer="This is a custom LLM for answering questions about Docker. Answers are based on the contents of the documentation. Rate the answers to let us know what you think!" data-kapa-branding-text="powered by [kapa.ai](https://www.kapa.ai) and Docker" data-modal-header-bg-color=#1d63ed data-modal-image-height=25px data-modal-image-width=181px data-modal-title= data-modal-override-open-class=open-kapa-widget data-modal-ask-ai-input-placeholder="Ask me a question about Docker…" data-modal-title-color=#fff data-project-color=#1d63ed data-project-logo=/assets/images/logo-icon-white.svg data-project-name=Docker data-user-analytics-fingerprint-enabled=true data-website-id=ba5c2cbc-6535-4334-a72e-050f7a681c8a></script><link href=/assets/fonts/RobotoFlex.woff2 rel=preload as=font type=font/woff2 crossorigin><style>body>img{display:none}</style><link href="https://docs.docker.com/css/styles.min.29daba51a1fd1c73e33e22df5e12e4e2e2936f824b2afab9ea588015140ba576.css" rel=stylesheet><script>(()=>{function t(){let e=localStorage.getItem("theme-preference");return e||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")}var e=t();document.firstElementChild.className=e==="dark"?"dark":"light",localStorage.setItem("theme-preference",e)})()</script><script defer src=https://docs.docker.com/scripts.js></script></head><body class="flex flex-col items-center bg-gradient-to-r from-background-light from-20% to-white to-30% text-base dark:from-gray-dark-100 dark:to-background-dark dark:text-white"><header class="w-full sticky top-0 z-20 h-16 px-6 text-white bg-gradient-to-r from-blue-light-600 to-blue-light dark:from-blue-dark-200 to-50% dark:to-blue-dark-100"><div class="max-w-[1920px] mx-auto flex lg:gap-8 gap-2 h-full items-center justify-between"><div class="flex h-full items-center lg:gap-8 gap-2"><button x-data @click="$store.showSidebar = true" class="icon-svg block px-4 md:hidden h-full" aria-label=Menu> <svg width="48" height="48" viewBox="0 -960 960 960"><path d="M150-240q-12.75.0-21.37-8.68-8.63-8.67-8.63-21.5.0-12.82 8.63-21.32 8.62-8.5 21.37-8.5h660q12.75.0 21.38 8.68 8.62 8.67 8.62 21.5.0 12.82-8.62 21.32-8.63 8.5-21.38 8.5H150zm0-210q-12.75.0-21.37-8.68-8.63-8.67-8.63-21.5.0-12.82 8.63-21.32 8.62-8.5 21.37-8.5h660q12.75.0 21.38 8.68 8.62 8.67 8.62 21.5.0 12.82-8.62 21.32-8.63 8.5-21.38 8.5H150zm0-210q-12.75.0-21.37-8.68-8.63-8.67-8.63-21.5.0-12.82 8.63-21.32 8.62-8.5 21.37-8.5h660q12.75.0 21.38 8.68 8.62 8.67 8.62 21.5.0 12.82-8.62 21.32-8.63 8.5-21.38 8.5H150z"/></svg></button><div><a title="Docker Docs home page" href=https://docs.docker.com/><div class="hidden sm:block"><svg width="160" height="24" viewBox="0 0 160 24" fill="none"><path d="M23.6087 10.3866C23.0202 9.98965 21.4744 9.81999 20.3501 10.1235 20.2896 9.00129 19.7119 8.05574 18.656 7.23081L18.2647 6.96776 18.0038 7.36233C17.4914 8.14134 17.2763 9.17951 17.3524 10.1235 17.413 10.7048 17.6148 11.3586 18.0038 11.8333c-1.4627.8506-2.8113.6576-8.78345.6576H.00209363C-.0250805 13.8427.192313 16.4428 1.8414 18.5588 2.02385 18.7923 2.22339 19.0187 2.44001 19.2366c1.34085 1.3464 3.36726 2.3332 6.39757 2.3363C13.4603 21.5768 17.4207 19.0724 19.8299 13.017 20.6226 13.0302 22.715 13.1594 23.7391 11.1757 23.764 11.1422 24 10.6496 24 10.6496L23.6087 10.3866zM6.01846 8.99195H3.42604V11.5905H6.01846V8.99195zm3.34941.0H6.77545V11.5905H9.36787V8.99195zm3.34943.0H10.1249V11.5905h2.5924V8.99195zm3.3494.0H13.4743V11.5905h2.5924V8.99195zm-13.39843.0H.0766285V11.5905H2.66905L2.66827 8.99195zM6.01768 5.70936H3.42526V8.30788H6.01768V5.70936zm3.34941.0H6.77468V8.30788H9.36709V5.70936zm3.34941.0H10.1241V8.30788h2.5924V5.70936zm0-3.2826H10.1241V5.02529h2.5924V2.42676z" fill="#fff"/><path d="M35.774 21.092C34.578 21.092 33.497 20.816 32.531 20.264 31.5803 19.6967 30.8213 18.93 30.254 17.964 29.702 16.998 29.426 15.9093 29.426 14.698s.253-2.2923.759-3.243C30.7063 10.489 31.4117 9.73 32.301 9.178 33.1903 8.61067 34.1947 8.327 35.314 8.327 36.2187 8.327 37.0543 8.51867 37.821 8.902 38.5877 9.27 39.2317 9.776 39.753 10.42V4.21C39.753 3.85733 39.8603 3.57367 40.075 3.359 40.305 3.14433 40.5887 3.037 40.926 3.037 41.2787 3.037 41.5623 3.14433 41.777 3.359S42.099 3.85733 42.099 4.21V14.698C42.099 15.9093 41.8153 16.998 41.248 17.964 40.696 18.93 39.9447 19.6967 38.994 20.264 38.0433 20.816 36.97 21.092 35.774 21.092zm0-2.07C36.556 19.022 37.2537 18.838 37.867 18.47 38.4803 18.0867 38.9633 17.5653 39.316 16.906 39.6687 16.2467 39.845 15.5107 39.845 14.698 39.845 13.87 39.6687 13.134 39.316 12.49 38.9633 11.846 38.4803 11.34 37.867 10.972 37.2537 10.5887 36.556 10.397 35.774 10.397 35.0073 10.397 34.3097 10.5887 33.681 10.972 33.0677 11.34 32.577 11.846 32.209 12.49 31.8563 13.134 31.68 13.87 31.68 14.698 31.68 15.5107 31.8563 16.2467 32.209 16.906 32.577 17.5653 33.0677 18.0867 33.681 18.47 34.3097 18.838 35.0073 19.022 35.774 19.022zm15.1719 2.07c-1.242.0-2.3384-.2683-3.289-.805C46.7062 19.735 45.9549 18.9837 45.4029 18.033 44.8662 17.067 44.5979 15.963 44.5979 14.721c0-1.2573.268299999999996-2.3613.805-3.312C45.9549 10.443 46.7062 9.69167 47.6569 9.155 48.6075 8.603 49.7039 8.327 50.9459 8.327 52.1725 8.327 53.2612 8.603 54.2119 9.155 55.1625 9.69167 55.9062 10.443 56.4429 11.409 56.9949 12.3597 57.2709 13.4637 57.2709 14.721c0 1.242-.2684 2.346-.805 3.312C55.9292 18.9837 55.1855 19.735 54.2349 20.287c-.950700000000005.5367-2.047.805-3.289.805zm0-2.07c.7973.0 1.5026-.183999999999998 2.116-.552C53.6752 18.102 54.1505 17.596 54.4879 16.952 54.8405 16.308 55.0169 15.5643 55.0169 14.721S54.8405 13.134 54.4879 12.49C54.1505 11.8307 53.6752 11.317 53.0619 10.949 52.4485 10.581 51.7432 10.397 50.9459 10.397 50.1485 10.397 49.4432 10.581 48.8299 10.949 48.2165 11.317 47.7335 11.8307 47.3809 12.49 47.0282 13.134 46.8519 13.8777 46.8519 14.721S47.0282 16.308 47.3809 16.952C47.7335 17.596 48.2165 18.102 48.8299 18.47 49.4432 18.838 50.1485 19.022 50.9459 19.022zm14.5205 2.07C64.2397 21.092 63.1434 20.816 62.1774 20.264 61.2267 19.6967 60.4754 18.9377 59.9234 17.987 59.3867 17.021 59.1184 15.9323 59.1184 14.721c0-1.242.268299999999996-2.346.805-3.312C60.46 10.443 61.196 9.69167 62.1314 9.155 63.0667 8.603 64.14 8.327 65.3514 8.327 66.256 8.327 67.084 8.50333 67.8354 8.856 68.5867 9.19333 69.2614 9.707 69.8594 10.397 70.0741 10.6423 70.1507 10.8953 70.0894 11.156S69.8594 11.6467 69.5834 11.846C69.3687 11.9993 69.1311 12.053 68.8704 12.007 68.6097 11.9457 68.372 11.8077 68.1574 11.593 67.406 10.7957 66.4707 10.397 65.3514 10.397 64.5694 10.397 63.8794 10.581 63.2814 10.949 62.6834 11.3017 62.2157 11.8 61.8784 12.444 61.541 13.088 61.3724 13.847 61.3724 14.721 61.3724 15.549 61.541 16.285 61.8784 16.929 62.231 17.573 62.714 18.0867 63.3274 18.47 63.9407 18.838 64.6537 19.022 65.4664 19.022 66.0031 19.022 66.4707 18.9607 66.8694 18.838 67.2834 18.7 67.6591 18.493 67.9964 18.217 68.2417 18.0177 68.4947 17.9103 68.7554 17.895 69.0161 17.8643 69.2461 17.9333 69.4454 18.102 69.706 18.3167 69.8517 18.562 69.8824 18.838 69.913 19.0987 69.821 19.3363 69.6064 19.551 68.5024 20.5783 67.1224 21.092 65.4664 21.092zM74.7839 16.4l-1.426-1.564L80.4189 8.534C80.6489 8.31933 80.9019 8.21967 81.1779 8.235 81.4692 8.25033 81.7145 8.373 81.9139 8.603 82.1285 8.833 82.2282 9.086 82.2129 9.362 82.1975 9.638 82.0749 9.88333 81.8449 10.098L74.7839 16.4zM73.7029 21C73.3655 21 73.0895 20.9003 72.8749 20.701 72.6755 20.4863 72.5759 20.2103 72.5759 19.873V4.164C72.5759 3.82667 72.6755 3.55833 72.8749 3.359 73.0895 3.14433 73.3655 3.037 73.7029 3.037 74.0402 3.037 74.3085 3.14433 74.5079 3.359 74.7225 3.55833 74.8299 3.82667 74.8299 4.164V19.873C74.8299 20.2103 74.7225 20.4863 74.5079 20.701 74.3085 20.9003 74.0402 21 73.7029 21zM81.9139 20.885C81.6685 21.0843 81.3925 21.1687 81.0859 21.138 80.7945 21.1227 80.5492 20.9923 80.3499 20.747L75.6809 14.974l1.61-1.518L82.0749 19.344C82.2742 19.5893 82.3585 19.8577 82.3279 20.149 82.3125 20.425 82.1745 20.6703 81.9139 20.885zM89.4361 21.092c-1.2727.0-2.4074-.2683-3.404-.805C85.0507 19.735 84.2764 18.9837 83.7091 18.033 83.1571 17.067 82.8811 15.963 82.8811 14.721 82.8811 13.4637 83.1417 12.3597 83.6631 11.409 84.1997 10.443 84.9357 9.69167 85.8711 9.155 86.8064 8.603 87.8797 8.327 89.0911 8.327 90.2871 8.327 91.3144 8.59533 92.1731 9.132 93.0317 9.65333 93.6834 10.3817 94.1281 11.317 94.5881 12.237 94.8181 13.3027 94.8181 14.514 94.8181 14.8053 94.7184 15.0507 94.5191 15.25 94.3197 15.434 94.0667 15.526 93.7601 15.526H84.4911v-1.84h9.2L92.7481 14.33C92.7327 13.5633 92.5794 12.881 92.2881 12.283 91.9967 11.6697 91.5827 11.1867 91.0461 10.834 90.5094 10.4813 89.8577 10.305 89.0911 10.305 88.2171 10.305 87.4657 10.4967 86.8371 10.88 86.2237 11.2633 85.7561 11.7923 85.4341 12.467 85.1121 13.1263 84.9511 13.8777 84.9511 14.721S85.1427 16.3157 85.5261 16.975C85.9094 17.6343 86.4384 18.1557 87.1131 18.539 87.7877 18.9223 88.5621 19.114 89.4361 19.114 89.9114 19.114 90.3944 19.0297 90.8851 18.861 91.3911 18.677 91.7974 18.47 92.1041 18.24 92.3341 18.0713 92.5794 17.987 92.8401 17.987 93.1161 17.9717 93.3537 18.0483 93.5531 18.217 93.8137 18.447 93.9517 18.7 93.9671 18.976 93.9824 19.252 93.8597 19.4897 93.5991 19.689 93.0777 20.103 92.4261 20.4403 91.6441 20.701 90.8774 20.9617 90.1414 21.092 89.4361 21.092zM97.9372 13.134C97.9372 12.214 98.1596 11.3937 98.6042 10.673 99.0642 9.937 99.6776 9.35433 100.444 8.925 101.211 8.49567 102.054 8.281 102.974 8.281S104.577 8.43433 105.021 8.741C105.481 9.03233 105.658 9.385 105.55 9.799 105.504 10.0137 105.412 10.1823 105.274 10.305 105.152 10.4123 105.006 10.4813 104.837 10.512 104.669 10.5427 104.485 10.535 104.285 10.489 103.304 10.2897 102.422 10.2743 101.64 10.443 100.858 10.6117 100.237 10.926 99.7772 11.386 99.3326 11.846 99.1102 12.4287 99.1102 13.134h-1.173zM97.9602 21C97.5922 21 97.3086 20.908 97.1092 20.724 96.9099 20.5247 96.8102 20.2333 96.8102 19.85V9.569C96.8102 9.201 96.9099 8.91733 97.1092 8.718 97.3086 8.51867 97.5922 8.419 97.9602 8.419 98.3436 8.419 98.6272 8.51867 98.8112 8.718 99.0106 8.902 99.1102 9.18567 99.1102 9.569V19.85C99.1102 20.218 99.0106 20.5017 98.8112 20.701 98.6272 20.9003 98.3436 21 97.9602 21z" fill="#fff"/><path d="M112.797 21.115C111.586 21.115 110.497 20.839 109.531 20.287 108.565 19.7197 107.798 18.953 107.231 17.987 106.679 17.021 106.403 15.9247 106.403 14.698 106.403 13.4867 106.671 12.398 107.208 11.432 107.76 10.466 108.504 9.707 109.439 9.155 110.374 8.58767 111.432 8.304 112.613 8.304c1.027.0 1.955.222329999999999 2.783.667C116.224 9.40033 116.891 9.97533 117.397 10.696V3.934c0-.276.083999999999989-.49067.253-.644C117.819 3.12133 118.033 3.037 118.294 3.037 118.555 3.037 118.769 3.12133 118.938 3.29c.168999999999997.15333.253.368.253.644V14.79C119.16 15.986 118.861 17.067 118.294 18.033 117.742 18.9837 116.983 19.735 116.017 20.287 115.066 20.839 113.993 21.115 112.797 21.115zm0-1.61C113.686 19.505 114.476 19.298 115.166 18.884 115.871 18.4547 116.423 17.8797 116.822 17.159 117.236 16.4383 117.443 15.618 117.443 14.698 117.443 13.7933 117.236 12.9807 116.822 12.26 116.423 11.524 115.871 10.949 115.166 10.535 114.476 10.121 113.686 9.914 112.797 9.914 111.923 9.914 111.133 10.121 110.428 10.535S109.163 11.524 108.749 12.26C108.335 12.9807 108.128 13.7933 108.128 14.698 108.128 15.618 108.335 16.4383 108.749 17.159 109.163 17.8797 109.723 18.4547 110.428 18.884 111.133 19.298 111.923 19.505 112.797 19.505zm15.262 1.61C126.832 21.115 125.736 20.839 124.77 20.287 123.804 19.735 123.045 18.976 122.493 18.01 121.941 17.044 121.665 15.9477 121.665 14.721 121.665 13.479 121.941 12.375 122.493 11.409 123.045 10.443 123.804 9.684 124.77 9.132 125.736 8.58 126.832 8.304 128.059 8.304 129.285 8.304 130.374 8.58 131.325 9.132 132.291 9.684 133.05 10.443 133.602 11.409 134.154 12.375 134.437 13.479 134.453 14.721 134.453 15.9477 134.169 17.044 133.602 18.01 133.05 18.976 132.291 19.735 131.325 20.287 130.374 20.839 129.285 21.115 128.059 21.115zm0-1.61C128.948 19.505 129.745 19.298 130.451 18.884 131.156 18.47 131.708 17.9027 132.107 17.182 132.505 16.4613 132.705 15.641 132.705 14.721S132.505 12.9807 132.107 12.26C131.708 11.524 131.156 10.949 130.451 10.535 129.745 10.121 128.948 9.914 128.059 9.914 127.169 9.914 126.372 10.121 125.667 10.535 124.961 10.949 124.402 11.524 123.988 12.26 123.589 12.9807 123.39 13.801 123.39 14.721S123.589 16.4613 123.988 17.182C124.402 17.9027 124.961 18.47 125.667 18.884 126.372 19.298 127.169 19.505 128.059 19.505zm14.45 1.61C141.298 21.115 140.217 20.839 139.266 20.287 138.331 19.7197 137.587 18.953 137.035 17.987 136.498 17.021 136.23 15.9323 136.23 14.721 136.23 13.4943 136.491 12.398 137.012 11.432 137.533 10.466 138.246 9.707 139.151 9.155 140.056 8.58767 141.098 8.304 142.279 8.304 143.214 8.304 144.073 8.488 144.855 8.856 145.652 9.224 146.35 9.776 146.948 10.512 147.117 10.696 147.178 10.8953 147.132 11.11 147.086 11.3093 146.956 11.4857 146.741 11.639 146.572 11.7617 146.381 11.8077 146.166 11.777 145.967 11.731 145.79 11.616 145.637 11.432 144.748 10.42 143.628 9.914 142.279 9.914 141.42 9.914 140.661 10.121 140.002 10.535 139.358 10.949 138.852 11.5163 138.484 12.237 138.131 12.9577 137.955 13.7857 137.955 14.721 137.955 15.641 138.147 16.4613 138.53 17.182 138.913 17.9027 139.45 18.47 140.14 18.884 140.83 19.298 141.62 19.505 142.509 19.505 143.107 19.505 143.651 19.4283 144.142 19.275 144.648 19.1063 145.093 18.8533 145.476 18.516 145.66 18.3627 145.852 18.2783 146.051 18.263 146.25 18.2477 146.434 18.309 146.603 18.447 146.787 18.6157 146.887 18.8073 146.902 19.022 146.933 19.2367 146.864 19.4207 146.695 19.574 145.576 20.6013 144.18 21.115 142.509 21.115zm11.46.0C153.064 21.115 152.167 20.9617 151.278 20.655 150.389 20.3483 149.668 19.8883 149.116 19.275 148.947 19.091 148.878 18.884 148.909 18.654S149.055 18.2247 149.254 18.056C149.469 17.9027 149.691 17.8413 149.921 17.872 150.151 17.9027 150.343 18.0023 150.496 18.171 150.864 18.6003 151.347 18.93 151.945 19.16 152.558 19.39 153.233 19.505 153.969 19.505 155.104 19.505 155.924 19.3133 156.43 18.93 156.936 18.5313 157.197 18.056 157.212 17.504 157.212 16.952 156.951 16.4997 156.43 16.147 155.909 15.779 155.05 15.4953 153.854 15.296 152.305 15.0507 151.171 14.6213 150.45 14.008 149.729 13.3947 149.369 12.6663 149.369 11.823 149.369 11.041 149.576 10.3893 149.99 9.868 150.404 9.34667 150.956 8.95567 151.646 8.695 152.336 8.43433 153.095 8.304 153.923 8.304 154.95 8.304 155.832 8.48033 156.568 8.833 157.319 9.18567 157.925 9.661 158.385 10.259 158.538 10.4583 158.6 10.6653 158.569 10.88 158.538 11.0947 158.416 11.271 158.201 11.409 158.017 11.5163 157.802 11.5547 157.557 11.524 157.327 11.478 157.128 11.363 156.959 11.179 156.576 10.7343 156.131 10.4123 155.625 10.213 155.119 9.99833 154.536 9.891 153.877 9.891 153.034 9.891 152.359 10.0673 151.853 10.42 151.347 10.7573 151.094 11.1867 151.094 11.708 151.094 12.0607 151.186 12.3673 151.37 12.628 151.569 12.8887 151.899 13.1187 152.359 13.318 152.834 13.5173 153.494 13.686 154.337 13.824 155.487 14.008 156.392 14.284 157.051 14.652 157.726 15.0047 158.201 15.4263 158.477 15.917 158.768 16.3923 158.914 16.9137 158.914 17.481 158.914 18.2017 158.699 18.838 158.27 19.39 157.856 19.9267 157.273 20.3483 156.522 20.655 155.786 20.9617 154.935 21.115 153.969 21.115z" fill="#fff"/></svg></div><div class="block sm:hidden"><svg width="84" height="25" viewBox="0 0 84 25" fill="none"><path d="M23.6087 10.9342C23.0202 10.5373 21.4744 10.3676 20.3501 10.6711 20.2896 9.5489 19.7119 8.60334 18.656 7.77841L18.2647 7.51537 18.0038 7.90993C17.4914 8.68895 17.2763 9.72711 17.3524 10.6711 17.413 11.2525 17.6148 11.9062 18.0038 12.3809c-1.4627.8506-2.8113.6576-8.78345.6576H.00209363C-.0250805 14.3903.192313 16.9904 1.8414 19.1064 2.02385 19.3399 2.22339 19.5663 2.44001 19.7843c1.34085 1.3463 3.36726 2.3331 6.39757 2.3362C13.4603 22.1244 17.4207 19.62 19.8299 13.5646 20.6226 13.5778 22.715 13.707 23.7391 11.7233 23.764 11.6898 24 11.1972 24 11.1972L23.6087 10.9342zM6.01846 9.53956H3.42604V12.1381H6.01846V9.53956zm3.34941.0H6.77545V12.1381H9.36787V9.53956zm3.34943.0H10.1249V12.1381h2.5924V9.53956zm3.3494.0H13.4743V12.1381h2.5924V9.53956zm-13.39843.0H.0766285V12.1381H2.66905L2.66827 9.53956zm3.34941-3.2826H3.42526V8.85549H6.01768V6.25696zm3.34941.0H6.77468V8.85549H9.36709V6.25696zm3.34941.0H10.1241V8.85549h2.5924V6.25696zm0-3.28259H10.1241V5.57289h2.5924V2.97437z" fill="#fff"/><path d="M36.774 21.6394c-1.196.0-2.277-.276-3.243-.827999999999999C32.5803 20.244 31.8213 19.4774 31.254 18.5114 30.702 17.5454 30.426 16.4567 30.426 15.2454c0-1.2114.253-2.2924.759-3.243C31.7063 11.0364 32.4117 10.2774 33.301 9.72536 34.1903 9.15803 35.1947 8.87436 36.314 8.87436 37.2187 8.87436 38.0543 9.06603 38.821 9.44936 39.5877 9.81736 40.2317 10.3234 40.753 10.9674V4.75736C40.753 4.4047 40.8603 4.12103 41.075 3.90636 41.305 3.6917 41.5887 3.58436 41.926 3.58436 42.2787 3.58436 42.5623 3.6917 42.777 3.90636 42.9917 4.12103 43.099 4.4047 43.099 4.75736V15.2454C43.099 16.4567 42.8153 17.5454 42.248 18.5114 41.696 19.4774 40.9447 20.244 39.994 20.8114 39.0433 21.3634 37.97 21.6394 36.774 21.6394zm0-2.07C37.556 19.5694 38.2537 19.3854 38.867 19.0174 39.4803 18.634 39.9633 18.1127 40.316 17.4534 40.6687 16.794 40.845 16.058 40.845 15.2454 40.845 14.4174 40.6687 13.6814 40.316 13.0374 39.9633 12.3934 39.4803 11.8874 38.867 11.5194 38.2537 11.136 37.556 10.9444 36.774 10.9444 36.0073 10.9444 35.3097 11.136 34.681 11.5194 34.0677 11.8874 33.577 12.3934 33.209 13.0374 32.8563 13.6814 32.68 14.4174 32.68 15.2454 32.68 16.058 32.8563 16.794 33.209 17.4534 33.577 18.1127 34.0677 18.634 34.681 19.0174 35.3097 19.3854 36.0073 19.5694 36.774 19.5694zm15.1719 2.07c-1.242.0-2.3384-.2684-3.289-.805C47.7062 20.2824 46.9549 19.531 46.4029 18.5804 45.8662 17.6144 45.5979 16.5104 45.5979 15.2684c0-1.2574.268299999999996-2.3614.805-3.312C46.9549 10.9904 47.7062 10.239 48.6569 9.70236 49.6075 9.15036 50.7039 8.87436 51.9459 8.87436c1.2266.0 2.3153.276 3.266.828000000000001C56.1625 10.239 56.9062 10.9904 57.4429 11.9564 57.9949 12.907 58.2709 14.011 58.2709 15.2684c0 1.242-.2684 2.346-.805 3.312C56.9292 19.531 56.1855 20.2824 55.2349 20.8344c-.950700000000005.5366-2.047.805-3.289.805zm0-2.07C52.7432 19.5694 53.4485 19.3854 54.0619 19.0174 54.6752 18.6494 55.1505 18.1434 55.4879 17.4994 55.8405 16.8554 56.0169 16.1117 56.0169 15.2684 56.0169 14.425 55.8405 13.6814 55.4879 13.0374 55.1505 12.378 54.6752 11.8644 54.0619 11.4964c-.613399999999999-.368-1.3187-.552-2.116-.552C51.1485 10.9444 50.4432 11.1284 49.8299 11.4964 49.2165 11.8644 48.7335 12.378 48.3809 13.0374 48.0282 13.6814 47.8519 14.425 47.8519 15.2684 47.8519 16.1117 48.0282 16.8554 48.3809 17.4994 48.7335 18.1434 49.2165 18.6494 49.8299 19.0174 50.4432 19.3854 51.1485 19.5694 51.9459 19.5694zm14.5205 2.07C65.2397 21.6394 64.1434 21.3634 63.1774 20.8114 62.2267 20.244 61.4754 19.485 60.9234 18.5344 60.3867 17.5684 60.1184 16.4797 60.1184 15.2684c0-1.242.268299999999996-2.346.805-3.312C61.46 10.9904 62.196 10.239 63.1314 9.70236 64.0667 9.15036 65.14 8.87436 66.3514 8.87436 67.256 8.87436 68.084 9.0507 68.8354 9.40336 69.5867 9.7407 70.2614 10.2544 70.8594 10.9444 71.0741 11.1897 71.1507 11.4427 71.0894 11.7034 71.0281 11.964 70.8594 12.194 70.5834 12.3934 70.3687 12.5467 70.1311 12.6004 69.8704 12.5544 69.6097 12.493 69.372 12.355 69.1574 12.1404 68.406 11.343 67.4707 10.9444 66.3514 10.9444 65.5694 10.9444 64.8794 11.1284 64.2814 11.4964 63.6834 11.849 63.2157 12.3474 62.8784 12.9914c-.337400000000002.644-.506 1.403-.506 2.277C62.3724 16.0964 62.541 16.8324 62.8784 17.4764 63.231 18.1204 63.714 18.634 64.3274 19.0174 64.9407 19.3854 65.6537 19.5694 66.4664 19.5694 67.0031 19.5694 67.4707 19.508 67.8694 19.3854 68.2834 19.2474 68.6591 19.0404 68.9964 18.7644 69.2417 18.565 69.4947 18.4577 69.7554 18.4424 70.0161 18.4117 70.2461 18.4807 70.4454 18.6494 70.706 18.864 70.8517 19.1094 70.8824 19.3854 70.913 19.646 70.821 19.8837 70.6064 20.0984 69.5024 21.1257 68.1224 21.6394 66.4664 21.6394zm11.6865.0C77.0795 21.6394 76.0829 21.4784 75.1629 21.1564 74.2582 20.819 73.5529 20.3974 73.0469 19.8914 72.8169 19.646 72.7172 19.37 72.7479 19.0634 72.7939 18.7414 72.9472 18.4807 73.2079 18.2814 73.5145 18.036 73.8135 17.9364 74.1049 17.9824 74.4115 18.013 74.6722 18.1434 74.8869 18.3734 75.1475 18.6647 75.5615 18.9407 76.1289 19.2014 76.7115 19.4467 77.3555 19.5694 78.0609 19.5694 78.9502 19.5694 79.6249 19.4237 80.0849 19.1324 80.5602 18.841 80.8055 18.4654 80.8209 18.0054 80.8362 17.5454 80.6139 17.1467 80.1539 16.8094 79.7092 16.472 78.8889 16.196 77.6929 15.9814 76.1442 15.6747 75.0172 15.2147 74.3119 14.6014 73.6219 13.988 73.2769 13.2367 73.2769 12.3474 73.2769 11.5654 73.5069 10.9214 73.9669 10.4154 74.4269 9.89403 75.0172 9.5107 75.7379 9.26536 76.4585 9.0047 77.2099 8.87436 77.9919 8.87436 79.0039 8.87436 79.9009 9.03536 80.6829 9.35736 81.4649 9.67936 82.0859 10.124 82.5459 10.6914 82.7605 10.9367 82.8602 11.1974 82.8449 11.4734 82.8295 11.734 82.6992 11.9564 82.4539 12.1404 82.2085 12.309 81.9172 12.3627 81.5799 12.3014 81.2425 12.24 80.9589 12.102 80.7289 11.8874 80.3455 11.5194 79.9315 11.2664 79.4869 11.1284 79.0422 10.9904 78.5285 10.9214 77.9459 10.9214 77.2712 10.9214 76.6962 11.0364 76.2209 11.2664 75.7609 11.4964 75.5309 11.8337 75.5309 12.2784 75.5309 12.5544 75.5999 12.8074 75.7379 13.0374 75.8912 13.252 76.1825 13.4514 76.6119 13.6354 77.0412 13.804 77.6699 13.9727 78.4979 14.1414 79.6479 14.3714 80.5525 14.6627 81.2119 15.0154 81.8865 15.368 82.3695 15.782 82.6609 16.2574 82.9522 16.7174 83.0979 17.254 83.0979 17.8674 83.0979 18.5727 82.9062 19.209 82.5229 19.7764 82.1549 20.3437 81.6029 20.796 80.8669 21.1334 80.1462 21.4707 79.2415 21.6394 78.1529 21.6394z" fill="#fff"/></svg></div></a></div><nav class="mt-1 hidden md:block"><ul class="flex text-sm md:text-base lg:gap-4"><li class="border-b-4 border-transparent hover:border-white/20"><a class="block px-2 py-1 whitespace-nowrap" href=/get-started/>Get started</a></li><li class="border-b-4 border-transparent hover:border-white/20"><a class="block px-2 py-1 whitespace-nowrap" href=/guides/>Guides</a></li><li class=border-b-4><a class="block px-2 py-1 whitespace-nowrap" href=/manuals/>Manuals</a></li><li class="border-b-4 border-transparent hover:border-white/20"><a class="block px-2 py-1 whitespace-nowrap" href=/reference/>Reference</a></li></ul></nav></div><div class="flex min-w-0 items-center gap-4 flex-grow justify-end"><a href=/search class=sm:hidden><span class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M378-329q-108.16.0-183.08-75Q120-479 120-585t75-181 181.5-75 181 75T632-584.85Q632-542 618-502t-42 75l242 240q9 8.56 9 21.78T818-143t-22.22 9-21.78-9L533-384q-30 26-69.96 40.5Q423.08-329 378-329zm-1-60q81.25.0 138.13-57.5Q572-504 572-585t-56.87-138.5Q458.25-781 377-781q-82.08.0-139.54 57.5T180-585t57.46 138.5T377-389z"/></svg></span></a><div x-ref=searchBarRef x-data="{ open: false }" @click.outside="open = false;" @keyup.escape.window="open = false" id=search-bar class="hidden min-w-0 sm:flex relative bg-white/10 rounded items-center p-2 sm:w-full xl:w-[400px]"><svg width="25" height="25" viewBox="0 0 25 25" fill="none"><mask id="mask0_200_9677" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="2" y="0" width="21" height="23"><path d="M21.2461 21.4956l-4.35-4.35m2.35-5.65c0 4.4183-3.5817 8-8 8-4.41828.0-8.00001-3.5817-8.00001-8 0-4.41827 3.58173-7.99999 8.00001-7.99999" stroke="#677285" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M16.7461 1.84082 17.5306 3.40974C17.796 3.94072 17.9288 4.2062 18.1061 4.43627 18.2635 4.64041 18.4465 4.82343 18.6506 4.98079c.2301.17734.4956.31008 1.0266.57557l1.5689.78446-1.5689.78446C19.1462 7.39077 18.8807 7.52351 18.6506 7.70085 18.4465 7.85821 18.2635 8.04123 18.1061 8.24537 17.9288 8.47544 17.796 8.74093 17.5306 9.2719L16.7461 10.8408 15.9616 9.2719C15.6961 8.74092 15.5634 8.47544 15.3861 8.24537 15.2287 8.04123 15.0457 7.85821 14.8415 7.70085c-.23-.17734-.4955-.31008-1.0265-.57557l-1.5689-.78446 1.5689-.78446C14.346 5.29087 14.6115 5.15813 14.8415 4.98079 15.0457 4.82343 15.2287 4.64041 15.3861 4.43627 15.5634 4.2062 15.6961 3.94072 15.9616 3.40974L16.7461 1.84082z" stroke="#677285" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></mask><g mask="url(#mask0_200_9677)"><rect x=".426636" y=".495605" width="24" height="24" fill="#fff"/></g></svg> <input x-ref=searchBarInput type=search id=search-bar-input @focus="open = true;" @keyup.enter.prevent="window.location.href = '/search/?q=' + $event.target.value;" @keyup.escape.prevent="open = false;" @keydown.window="(e) => { switch(e.key) { case 'k': if (e.metaKey || e.ctrlKey) { e.preventDefault(); $el.focus(); } break; } }" class="flex-grow px-2 bg-transparent min-w-0 text-white placeholder:text-white outline-none" placeholder=Search tabindex=0><div x-cloak :class="open && 'hidden'" class="hidden lg:flex border px-1 text-sm border-white rounded items-center"><div class=-mt-0.5><span x-show="navigator.platform == 'MacIntel'" class="icon-svg icon-sm"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M249.9-120q-53.9.0-91.9-38.1t-38-92 38.07-91.9T250-380h70v-2e2h-70q-53.86.0-91.93-38.1t-38.07-92 38.1-91.9 92-38 91.9 38.07T380-710v70h2e2v-70q0-53.86 38.1-91.93t92-38.07 91.9 38.1 38 92T801.93-618q-38.07 38-91.93 38h-70v2e2h70q53.86.0 91.93 38.1t38.07 92T801.9-158q-38.1 38-92 38T618-158.07 580-250v-70H380v70q0 53.86-38.1 91.93t-92 38.07zm-.02-60q29.12.0 49.62-20.42Q320-220.83 320-250v-70h-70q-29.17.0-49.58 20.38Q180-279.24 180-250.12t20.38 49.62 49.5 20.5zm460 0q29.12.0 49.62-20.38t20.5-49.5-20.42-49.62Q739.17-320 710-320h-70v70q0 29.17 20.38 49.58Q680.76-180 709.88-180zM380-380h2e2v-2e2H380v2e2zM250-640h70v-70q0-29.17-20.38-49.58Q279.24-780 250.12-780t-49.62 20.38-20.5 49.5 20.42 49.62Q220.83-640 250-640zm390 0h70q29.17.0 49.58-20.38Q780-680.76 780-709.88t-20.38-49.62-49.5-20.5-49.62 20.42Q640-739.17 640-710v70z"/></svg></span> <span x-show="navigator.platform != 'MacIntel'" class="icon-svg icon-sm"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M480-675 263-459q-9 9-21 9t-21-9-9-21 9-21l238-238q9-9 21-9t21 9l238 238q9 9 9 21t-9 21-21 9-21-9L480-675z"/></svg></span></div><span>K</span></div><div x-cloak :class="open || 'hidden'"><button @click="$refs.searchBarInput.value = ''; open = false" class="text-white hover:text-white"> <span class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M480-438 270-228q-9 9-21 9t-21-9-9-21 9-21l210-210-210-210q-9-9-9-21t9-21 21-9 21 9l210 210 210-210q9-9 21-9t21 9 9 21-9 21L522-480l210 210q9 9 9 21t-9 21-21 9-21-9L480-438z"/></svg></span></button></div><div x-show=open x-cloak class="absolute px-6 py-4 right-0 w-screen max-w-xl top-full bg-background-light dark:bg-background-dark rounded shadow-lg z-50"><div id=search-bar-results><div class="p-2 text-gray-light dark:text-gray-dark">Start typing to search… or try <button @click="open=false" class="open-kapa-widget link">Ask AI</button></div></div></div><script type=module> window.addEventListener("load", async function () { const pagefind = await import("/pagefind/pagefind.js"); const searchBarInput = document.querySelector("#search-bar-input"); const searchBarResults = document.querySelector( "#search-bar-results", ); async function search(e) { const query = e.target.value; if (query === "") { searchBarResults.innerHTML = `\u003cdiv class=\u0022p-2 text-gray-light dark:text-gray-dark\u0022\u003eStart typing to search… or try \u003cbutton @click=\u0022open=false\u0022 class=\u0022open-kapa-widget link\u0022\u003eAsk AI\u003c\/button\u003e\u003c\/div\u003e`; return; } const search = await pagefind.debouncedSearch(query); if (search === null) { return; } else { const resultsLength = search.results.length const resultsData = await Promise.all(search.results.slice(0, 5).map(r => r.data())); const results = resultsData.map((item, index) => ({...item, index: index + 1})); if (query) { searchBarResults.classList.remove("hidden"); } else { searchBarResults.classList.add("hidden"); } let resultsHTML = `<div class="p-2 text-gray-light dark:text-gray-dark">${resultsLength} results</div>`; resultsHTML += results .map((item) => { return `<div class="p-2"> <div class="flex flex-col"> <a class="link" href="${item.url}" data-query="${query}" data-index="${item.index}">${item.meta.title}</a> <p class="text-black dark:text-white overflow-hidden">…${item.excerpt}…</p> </div> </div>`; }) .join(""); if (resultsLength > 5) { resultsHTML += `<div class="w-fit ml-auto px-4 py-2"><a href="/search/?q=${query}" class="link">Show all results</a></div>`; } searchBarResults.innerHTML = resultsHTML; } } searchBarInput.addEventListener("input", search); if (window.heap !== undefined) { searchBarResults.addEventListener('click', function (event) { if (event.target.tagName === 'A' && event.target.closest('.link')) { const searchQuery = event.target.getAttribute('data-query'); const resultIndex = event.target.getAttribute('data-index'); const url = new URL(event.target.href); const properties = { docs_search_target_path: url.pathname, docs_search_target_title: event.target.textContent, docs_search_query_text: searchQuery, docs_search_target_index: resultIndex, docs_search_source_path: window.location.pathname, docs_search_source_title: document.title, }; heap.track("Docs - Search - Click - Result Link", properties); } }); } }); </script></div><button @click="open = false" class="dark:text-white py-1 px-2 rounded open-kapa-widget flex gap-1 items-center hover:bg-white/20 transition"> <span>Ask AI</span> <img src=https://docs.docker.com/images/ai-stars.svg alt="AI Stars"></button></div></div></header><main class="relative flex w-full max-w-[1920px]"><div style=scroll-behavior:smooth x-data x-init="$nextTick(() => { const container = $el; // The div with overflow const item = document.getElementById('sidebar-current-page') if (item) { const containerTop = container.scrollTop; const containerBottom = containerTop + container.clientHeight; const itemTop = item.offsetTop - container.offsetTop; const itemBottom = itemTop + item.offsetHeight; // Scroll only if the item is out of view if (itemBottom > containerBottom - 200) { container.scrollTop = itemTop - (container.clientHeight / 2 - item.offsetHeight / 2); } } })" class="md:h-[calc(100vh-64px)] fixed md:sticky top-0 md:top-16 z-40 hidden h-screen flex-none overflow-y-auto overflow-x-hidden bg-background-light dark:bg-gray-dark-100 w-full md:z-auto md:block md:w-[300px]" :class="{ 'hidden': ! $store.showSidebar }"><div class="fixed bg-black/50 md:hidden" x-show=$store.showSidebar @click="openSidebar = false" x-transition.opacity></div><div class="z-50 w-full bg-background-light p-4 dark:bg-gray-dark-100 md:block md:w-[300px]"><button class="my-4 md:hidden" @click="$store.showSidebar = false"> <span class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m275-450 147 147q9 9 8.5 21t-9.5 21-21 9-21-9L181-459q-9-9-9-21t9-21l199-199q9-9 21-9t21 9 9 21.5-9 21.5L275-510h496q13 0 21.5 8.5T801-480t-8.5 21.5T771-450H275z"/></svg></span> Back</button><div class="py-2 px-4" x-data="{ expanded: false }"><div class="flex w-full items-center justify-between"><a class="hover:text-blue-light dark:hover:text-blue-dark" href=https://docs.docker.com/manuals/><span class="pr-2 icon-sm icon-svg"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M349-250h262q12.75.0 21.38-8.68 8.62-8.67 8.62-21.5.0-12.82-8.62-21.32-8.63-8.5-21.38-8.5H349q-12.75.0-21.37 8.68-8.63 8.67-8.63 21.5.0 12.82 8.63 21.32 8.62 8.5 21.37 8.5zm0-170h262q12.75.0 21.38-8.68 8.62-8.67 8.62-21.5.0-12.82-8.62-21.32-8.63-8.5-21.38-8.5H349q-12.75.0-21.37 8.68-8.63 8.67-8.63 21.5.0 12.82 8.63 21.32 8.62 8.5 21.37 8.5zM220-80q-24 0-42-18t-18-42v-680q0-24 18-42t42-18h336q12.44.0 23.72 5T599-862l183 183q8 8 13 19.28t5 23.72v496q0 24-18 42t-42 18H220zm331-584q0 12.75 8.63 21.37Q568.25-634 581-634h159L551-820v156z"/></svg></span>Manuals</a> <button @click="expanded = !expanded" class="rounded hover:bg-gray-light-300 hover:dark:bg-gray-dark-300"> <span x-show="! expanded" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span x-cloak x-show=expanded class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul x-cloak x-show=expanded class="pt-4 space-y-4"><li><a class="hover:text-blue-light dark:hover:text-blue-dark" href=/get-started/><span class="pr-2 icon-sm icon-svg"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M479.87-325q-5.87.0-10.87-2t-10-7L308-485q-9-9.27-8.5-21.64.5-12.36 9.11-21.36 9.39-9 21.89-9t21.5 9l98 99v-341q0-12.75 8.68-21.38 8.67-8.62 21.5-8.62 12.82.0 21.32 8.62 8.5 8.63 8.5 21.38v341l99-99q8.8-9 20.9-8.5t21.49 9.5q8.61 9 8.61 21.5t-9 21.5L501-334q-5 5-10.13 7-5.14 2-11 2zM220-160q-24 0-42-18t-18-42v-113q0-12.75 8.68-21.38 8.67-8.62 21.5-8.62 12.82.0 21.32 8.62 8.5 8.63 8.5 21.38v113h520v-113q0-12.75 8.68-21.38 8.67-8.62 21.5-8.62 12.82.0 21.32 8.62 8.5 8.63 8.5 21.38v113q0 24-18 42t-42 18H220z"/></svg></span>Get started</a></li><li><a class="hover:text-blue-light dark:hover:text-blue-dark" href=/guides/><span class="pr-2 icon-sm icon-svg"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M180-120q-24 0-42-18t-18-42v-6e2q0-24 18-42t42-18h6e2q24 0 42 18t18 42v6e2q0 24-18 42t-42 18H180zm3e2-660v252q0 9 7.5 13.5t15.5-.5l60-36q8-5 15-5t15 5l60 36q8 5 15.5.5T676-528v-252H480z"/></svg></span>Guides</a></li><li><a class="hover:text-blue-light dark:hover:text-blue-dark" href=/reference/><span class="pr-2 icon-sm icon-svg"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M140-160q-24 0-42-18t-18-42v-520q0-24 18-42t42-18h680q24 0 42 18t18 42v520q0 24-18 42t-42 18H140zm0-60h680v-436H140v436zm221-218-83-83q-9-9-8.5-21t9.5-21 21-9 21 9l104 104q9 9 9 21t-9 21L321-313q-9 9-21 9t-21-9-9-21 9-21l82-83zm159 150q-13 0-21.5-8.5T490-318t8.5-21.5T520-348h160q13 0 21.5 8.5T710-318t-8.5 21.5T680-288H520z"/></svg></span>Reference</a></li></ul></div><hr class="m-2 text-gray-light-200 dark:text-gray-dark-300"><nav class="md:text-sm flex flex-col"><div class="block py-4 md:hidden text-gray-light dark:text-gray-dark">This section</div><ul><li x-data="{ expanded: true }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/build/>Docker Build</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class=ml-3><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Core concepts</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/concepts/overview/ title="Docker Build Overview">Docker Build Overview</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/concepts/dockerfile/ title="Dockerfile overview">Dockerfile overview</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/concepts/context/ title="Build context">Build context</a></li></ul></li><li x-data="{ expanded: true }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Building</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class=ml-3><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/building/multi-stage/ title=Multi-stage>Multi-stage</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/building/variables/ title=Variables>Variables</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/building/secrets/ title=Secrets>Secrets</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark bg-gray-light-200 dark:bg-gray-dark-200"><a aria-current=page id=sidebar-current-page class="py-2 w-full truncate block" href=https://docs.docker.com/build/building/multi-platform/ title=Multi-platform>Multi-platform</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/building/export/ title="Export binaries">Export binaries</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/building/best-practices/ title="Best practices">Best practices</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/building/base-images/ title="Base images">Base images</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/checks/ title="Build checks">Build checks <span><span class="not-prose px-1 rounded-sm bg-green-light dark:bg-green-dark text-white text-xs">New</span></span></a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/build/builders/>Builders</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/build/builders/drivers/>Build drivers</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/builders/drivers/docker-container/ title="Docker container build driver">Docker container build driver</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/builders/drivers/docker/ title="Docker driver">Docker driver</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/builders/drivers/kubernetes/ title="Kubernetes driver">Kubernetes driver</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/builders/drivers/remote/ title="Remote driver">Remote driver</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/builders/manage/ title="Manage builders">Manage builders</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/build/bake/>Bake</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/bake/introduction/ title=Introduction>Introduction</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/bake/targets/ title=Targets>Targets</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/bake/inheritance/ title=Inheritance>Inheritance</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/bake/variables/ title=Variables>Variables</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/bake/expressions/ title=Expressions>Expressions</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/bake/funcs/ title=Functions>Functions</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/bake/matrices/ title="Matrix targets">Matrix targets</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/bake/contexts/ title=Contexts>Contexts</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/bake/reference/ title="Bake file reference">Bake file reference</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/bake/compose-file/ title="Building with Bake from a Compose file">Building with Bake from a Compose file</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/bake/overrides/ title="Overriding configurations">Overriding configurations</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/bake/remote-definition/ title="Remote Bake file definition">Remote Bake file definition</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/build/cache/>Cache</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/cache/invalidation/ title="Build cache invalidation">Build cache invalidation</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/cache/garbage-collection/ title="Build garbage collection">Build garbage collection</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/build/cache/backends/>Cache storage backends</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/cache/backends/s3/ title="Amazon S3 cache">Amazon S3 cache</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/cache/backends/azblob/ title="Azure Blob Storage cache">Azure Blob Storage cache</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/cache/backends/gha/ title="GitHub Actions cache">GitHub Actions cache</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/cache/backends/inline/ title="Inline cache">Inline cache</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/cache/backends/local/ title="Local cache">Local cache</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/cache/backends/registry/ title="Registry cache">Registry cache</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/cache/optimize/ title="Optimize cache usage in builds">Optimize cache usage in builds</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/build/ci/>CI</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/build/ci/github-actions/>GitHub Actions</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/ci/github-actions/annotations/ title=Annotations>Annotations</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/ci/github-actions/attestations/ title=Attestations>Attestations</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/ci/github-actions/secrets/ title="Build secrets">Build secrets</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/ci/github-actions/build-summary/ title="Build summary">Build summary</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/ci/github-actions/configure-builder/ title="BuildKit configuration">BuildKit configuration</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/ci/github-actions/cache/ title="Cache management">Cache management</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/ci/github-actions/copy-image-registries/ title="Copy image between registries">Copy image between registries</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/ci/github-actions/export-docker/ title="Export to Docker">Export to Docker</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/ci/github-actions/local-registry/ title="Local registry">Local registry</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/ci/github-actions/multi-platform/ title="Multi-platform image">Multi-platform image</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/ci/github-actions/named-contexts/ title="Named contexts">Named contexts</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/ci/github-actions/push-multi-registries/ title="Push to multiple registries">Push to multiple registries</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/ci/github-actions/reproducible-builds/ title="Reproducible builds">Reproducible builds</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/ci/github-actions/share-image-jobs/ title="Share image between jobs">Share image between jobs</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/ci/github-actions/manage-tags-labels/ title="Tags and labels">Tags and labels</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/ci/github-actions/test-before-push/ title="Test before push">Test before push</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/ci/github-actions/update-dockerhub-desc/ title="Update Docker Hub description">Update Docker Hub description</a></li></ul></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Metadata</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/metadata/annotations/ title=Annotations>Annotations</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/build/metadata/attestations/>Build attestations</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/metadata/attestations/attestation-storage/ title="Image attestation storage">Image attestation storage</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/metadata/attestations/slsa-provenance/ title="Provenance attestations">Provenance attestations</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/metadata/attestations/sbom/ title="SBOM attestations">SBOM attestations</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/metadata/attestations/slsa-definitions/ title="SLSA definitions">SLSA definitions</a></li></ul></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/build/exporters/>Exporters</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/exporters/image-registry/ title="Image and registry exporters">Image and registry exporters</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/exporters/local-tar/ title="Local and tar exporters">Local and tar exporters</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/exporters/oci-docker/ title="OCI and Docker exporters">OCI and Docker exporters</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/build/buildkit/>BuildKit</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/buildkit/toml-configuration/ title=buildkitd.toml>buildkitd.toml</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/buildkit/configure/ title="Configure BuildKit">Configure BuildKit</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/buildkit/frontend/ title="Custom Dockerfile syntax">Custom Dockerfile syntax</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/buildkit/dockerfile-release-notes/ title="Dockerfile release notes">Dockerfile release notes</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Debugging</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/debug/opentelemetry/ title="OpenTelemetry support">OpenTelemetry support</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build/release-notes/ title="Build release notes">Build release notes</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/build-cloud/>Docker Build Cloud</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build-cloud/setup/ title=Setup>Setup</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build-cloud/usage/ title=Usage>Usage</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build-cloud/ci/ title="Continuous integration">Continuous integration</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/build-cloud/optimization/ title=Optimization>Optimization</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/compose/>Docker Compose</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Introduction to Compose</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/intro/compose-application-model/ title="How Compose works">How Compose works</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/intro/features-uses/ title="Why use Compose?">Why use Compose?</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/intro/history/ title="History and development">History and development</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/compose/install/>Install</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/install/standalone/ title="Install Compose standalone">Install Compose standalone</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/install/linux/ title="Install the Compose plugin">Install the Compose plugin</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/install/uninstall/ title="Uninstall Docker Compose">Uninstall Docker Compose</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/gettingstarted/ title=Quickstart>Quickstart</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> How-tos</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/how-tos/project-name/ title="Specify a project name">Specify a project name</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/how-tos/lifecycle/ title="Use lifecycle hooks">Use lifecycle hooks</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/how-tos/profiles/ title="Use service profiles">Use service profiles</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/how-tos/startup-order/ title="Control startup order">Control startup order</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/compose/how-tos/environment-variables/>Use environment variables</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/how-tos/environment-variables/set-environment-variables/ title="Set environment variables">Set environment variables</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/how-tos/environment-variables/envvars-precedence/ title="Environment variables precedence">Environment variables precedence</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/how-tos/environment-variables/envvars/ title="Pre-defined environment variables">Pre-defined environment variables</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/how-tos/environment-variables/variable-interpolation/ title=Interpolation>Interpolation</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/how-tos/environment-variables/best-practices/ title="Best practices">Best practices</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/how-tos/file-watch/ title="Use Compose Watch">Use Compose Watch</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/how-tos/use-secrets/ title="Secrets in Compose">Secrets in Compose</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/how-tos/networking/ title=Networking>Networking</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/compose/how-tos/multiple-compose-files/>Use multiple Compose files</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/how-tos/multiple-compose-files/merge/ title=Merge>Merge</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/how-tos/multiple-compose-files/extends/ title=Extend>Extend</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/how-tos/multiple-compose-files/include/ title=Include>Include</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/how-tos/gpu-support/ title="Enable GPU support">Enable GPU support</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/how-tos/production/ title="Use Compose in production">Use Compose in production</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/compose/bridge/>Compose Bridge</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/bridge/usage/ title=Usage>Usage</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/bridge/customize/ title=Customize>Customize</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/bridge/advanced-integration/ title=Advanced>Advanced</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Support and feedback</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/support-and-feedback/faq/ title=FAQs>FAQs</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/support-and-feedback/feedback/ title="Give feedback">Give feedback</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/support-and-feedback/samples-for-compose/ title="Sample apps">Sample apps</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Releases</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/releases/release-notes/ title="Release notes">Release notes</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/compose/releases/migrate/ title="Migrate to Compose V2">Migrate to Compose V2</a></li></ul></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/desktop/>Docker Desktop</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Setup</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Install</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/setup/install/mac-install/ title=Mac>Mac</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/setup/install/mac-permission-requirements/ title="Understand permission requirements for Docker Desktop on Mac">Understand permission requirements for Docker Desktop on Mac</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/setup/install/windows-install/ title=Windows>Windows</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/setup/install/windows-permission-requirements/ title="Understand permission requirements for Windows">Understand permission requirements for Windows</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Enterprise deployment</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/setup/install/enterprise-deployment/msi-install-and-configure/ title="Use the MSI installer">Use the MSI installer</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/setup/install/enterprise-deployment/pkg-install-and-configure/ title="Use the PKG installer">Use the PKG installer <span><span class="not-prose px-1 rounded-sm bg-violet-light dark:bg-violet-dark text-white text-xs">EA</span></span></a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/setup/install/enterprise-deployment/use-intune/ title="Use Intune">Use Intune</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/setup/install/enterprise-deployment/use-jamf-pro/ title="Use Jamf Pro">Use Jamf Pro</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/setup/install/enterprise-deployment/faq/ title=FAQs>FAQs</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/desktop/setup/install/linux/>Linux</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/setup/install/linux/ubuntu/ title=Ubuntu>Ubuntu</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/setup/install/linux/debian/ title=Debian>Debian</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/setup/install/linux/fedora/ title=Fedora>Fedora</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/setup/install/linux/archlinux/ title=Arch>Arch</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/setup/install/linux/rhel/ title=RHEL>RHEL <span><span class="not-prose px-1 rounded-sm bg-green-light dark:bg-green-dark text-white text-xs">New</span></span></a></li></ul></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/setup/vm-vdi/ title="Run Docker Desktop for Windows in a VM or VDI environment">Run Docker Desktop for Windows in a VM or VDI environment</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/setup/sign-in/ title="Sign in">Sign in</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/setup/allow-list/ title=Allowlist>Allowlist</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/desktop/use-desktop/>Explore Docker Desktop</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/use-desktop/container/ title=Containers>Containers</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/use-desktop/images/ title=Images>Images</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/use-desktop/volumes/ title=Volumes>Volumes</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/use-desktop/builds/ title=Builds>Builds</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/use-desktop/resource-saver/ title="Resource Saver mode">Resource Saver mode</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/use-desktop/pause/ title="Pause Docker Desktop">Pause Docker Desktop</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Features and capabilities</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/features/containerd/ title="containerd image store">containerd image store</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/features/wasm/ title="Wasm workloads (Beta)">Wasm workloads (Beta)</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/features/synchronized-file-sharing/ title="Synchronized file shares">Synchronized file shares</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/desktop/features/dev-environments/>Dev Environments (Beta)</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/features/dev-environments/create-dev-env/ title="Launch a dev environment">Launch a dev environment</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/features/dev-environments/set-up/ title="Set up a dev environment">Set up a dev environment</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/features/dev-environments/share/ title="Distribute your dev environment">Distribute your dev environment</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/features/dev-environments/dev-cli/ title="Use the docker dev CLI plugin">Use the docker dev CLI plugin</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/features/networking/ title="Explore networking features on Docker Desktop">Explore networking features on Docker Desktop</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/features/kubernetes/ title="Deploy on Kubernetes with Docker Desktop">Deploy on Kubernetes with Docker Desktop</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/features/gpu/ title="GPU support">GPU support</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/features/vmm/ title="Virtual Machine Manager">Virtual Machine Manager <span><span class="not-prose px-1 rounded-sm bg-green-light dark:bg-green-dark text-white text-xs">New</span></span></a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/desktop/features/wsl/>WSL</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/features/wsl/best-practices/ title="Best practices">Best practices</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/features/wsl/use-wsl/ title="Use WSL">Use WSL</a></li></ul></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Settings and maintenance</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/settings-and-maintenance/settings/ title="Change settings">Change settings</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/settings-and-maintenance/backup-and-restore/ title="How to back up and restore your Docker Desktop data">How to back up and restore your Docker Desktop data</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Troubleshoot and support</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/desktop/troubleshoot-and-support/troubleshoot/>Troubleshoot and diagnose</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/troubleshoot-and-support/troubleshoot/topics/ title="Common topics">Common topics</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/troubleshoot-and-support/troubleshoot/workarounds/ title="Workarounds for common problems">Workarounds for common problems</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/troubleshoot-and-support/troubleshoot/known-issues/ title="Known issues">Known issues</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/troubleshoot-and-support/support/ title="Get support">Get support</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> FAQs</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/troubleshoot-and-support/faqs/general/ title=General>General</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/troubleshoot-and-support/faqs/macfaqs/ title=Mac>Mac</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/troubleshoot-and-support/faqs/windowsfaqs/ title=Windows>Windows</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/troubleshoot-and-support/faqs/linuxfaqs/ title=Linux>Linux</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/troubleshoot-and-support/faqs/releases/ title=Releases>Releases</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/troubleshoot-and-support/feedback/ title="Give feedback">Give feedback</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/uninstall/ title=Uninstall>Uninstall</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/desktop/release-notes/ title="Release notes">Release notes</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/engine/>Docker Engine</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/engine/install/>Install</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/install/ubuntu/ title=Ubuntu>Ubuntu</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/install/debian/ title=Debian>Debian</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/install/rhel/ title=RHEL>RHEL</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/install/fedora/ title=Fedora>Fedora</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/install/raspberry-pi-os/ title="Raspberry Pi OS (32-bit)">Raspberry Pi OS (32-bit)</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/install/centos/ title=CentOS>CentOS</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/install/sles/ title="SLES (s390x)">SLES (s390x)</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/install/binaries/ title=Binaries>Binaries</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/install/linux-postinstall/ title="Post-installation steps">Post-installation steps</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/engine/storage/>Storage</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/storage/volumes/ title=Volumes>Volumes</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/storage/bind-mounts/ title="Bind mounts">Bind mounts</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/storage/tmpfs/ title="tmpfs mounts">tmpfs mounts</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/engine/storage/drivers/>Storage drivers</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/storage/drivers/select-storage-driver/ title="Select a storage driver">Select a storage driver</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/storage/drivers/btrfs-driver/ title="BTRFS storage driver">BTRFS storage driver</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/storage/drivers/device-mapper-driver/ title="Device Mapper storage driver (deprecated)">Device Mapper storage driver (deprecated)</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/storage/drivers/overlayfs-driver/ title="OverlayFS storage driver">OverlayFS storage driver</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/storage/drivers/vfs-driver/ title="VFS storage driver">VFS storage driver</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/storage/drivers/zfs-driver/ title="ZFS storage driver">ZFS storage driver</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/storage/containerd/ title="containerd image store">containerd image store</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/engine/network/>Networking</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/network/packet-filtering-firewalls/ title="Packet filtering and firewalls">Packet filtering and firewalls</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/engine/network/drivers/>Network drivers</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/network/drivers/bridge/ title="Bridge network driver">Bridge network driver</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/network/drivers/host/ title="Host network driver">Host network driver</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/network/drivers/ipvlan/ title="IPvlan network driver">IPvlan network driver</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/network/drivers/macvlan/ title="Macvlan network driver">Macvlan network driver</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/network/drivers/none/ title="None network driver">None network driver</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/network/drivers/overlay/ title="Overlay network driver">Overlay network driver</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Tutorials</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/network/tutorials/macvlan/ title="Networking using a macvlan network">Networking using a macvlan network</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/network/tutorials/host/ title="Networking using the host network">Networking using the host network</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/network/tutorials/overlay/ title="Networking with overlay networks">Networking with overlay networks</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/network/tutorials/standalone/ title="Networking with standalone containers">Networking with standalone containers</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/network/ca-certs/ title="CA certificates">CA certificates</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/network/links/ title="Legacy container links">Legacy container links</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Containers</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/containers/start-containers-automatically/ title="Start containers automatically">Start containers automatically</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/containers/multi-service_container/ title="Run multiple processes in a container">Run multiple processes in a container</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/containers/resource_constraints/ title="Resource constraints">Resource constraints</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/containers/runmetrics/ title="Runtime metrics">Runtime metrics</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/containers/run/ title="Running containers">Running containers</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> CLI</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/cli/completion/ title=Completion>Completion</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/cli/proxy/ title="Proxy configuration">Proxy configuration</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/cli/filter/ title="Filter commands">Filter commands</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/cli/formatting/ title="Format command and log output">Format command and log output</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/cli/otel/ title="OpenTelemetry for the Docker CLI">OpenTelemetry for the Docker CLI</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/engine/daemon/>Daemon</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/daemon/start/ title="Start the daemon">Start the daemon</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/daemon/ipv6/ title="Use IPv6 networking">Use IPv6 networking</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/daemon/proxy/ title="Daemon proxy configuration">Daemon proxy configuration</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/daemon/live-restore/ title="Live restore">Live restore</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/daemon/alternative-runtimes/ title="Alternative container runtimes">Alternative container runtimes</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/daemon/prometheus/ title="Collect Docker metrics with Prometheus">Collect Docker metrics with Prometheus</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/daemon/remote-access/ title="Configure remote access for Docker daemon">Configure remote access for Docker daemon</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/daemon/logs/ title="Read the daemon logs">Read the daemon logs</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/daemon/troubleshoot/ title="Troubleshooting the Docker daemon">Troubleshooting the Docker daemon</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Manage resources</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/manage-resources/contexts/ title="Docker contexts">Docker contexts</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/manage-resources/labels/ title="Docker object labels">Docker object labels</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/manage-resources/pruning/ title="Prune unused Docker objects">Prune unused Docker objects</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/engine/logging/>Logs and metrics</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/logging/configure/ title="Configure logging drivers">Configure logging drivers</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/logging/log_tags/ title="Customize log driver output">Customize log driver output</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Logging drivers</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/logging/drivers/awslogs/ title="Amazon CloudWatch Logs logging driver">Amazon CloudWatch Logs logging driver</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/logging/drivers/etwlogs/ title="ETW logging driver">ETW logging driver</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/logging/drivers/fluentd/ title="Fluentd logging driver">Fluentd logging driver</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/logging/drivers/gcplogs/ title="Google Cloud Logging driver">Google Cloud Logging driver</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/logging/drivers/gelf/ title="Graylog Extended Format logging driver">Graylog Extended Format logging driver</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/logging/drivers/journald/ title="Journald logging driver">Journald logging driver</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/logging/drivers/json-file/ title="JSON File logging driver">JSON File logging driver</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/logging/drivers/local/ title="Local file logging driver">Local file logging driver</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/logging/drivers/splunk/ title="Splunk logging driver">Splunk logging driver</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/logging/drivers/syslog/ title="Syslog logging driver">Syslog logging driver</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/logging/plugins/ title="Use a logging driver plugin">Use a logging driver plugin</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/logging/dual-logging/ title="Use docker logs with remote logging drivers">Use docker logs with remote logging drivers</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/engine/security/>Security</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/security/rootless/ title="Rootless mode">Rootless mode</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/security/antivirus/ title="Antivirus software and Docker">Antivirus software and Docker</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/security/apparmor/ title="AppArmor security profiles for Docker">AppArmor security profiles for Docker</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/engine/security/trust/>Content trust in Docker</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/security/trust/trust_automation/ title="Automation with content trust">Automation with content trust</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/security/trust/trust_delegation/ title="Delegations for content trust">Delegations for content trust</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/security/trust/deploying_notary/ title="Deploy Notary Server with Compose">Deploy Notary Server with Compose</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/security/trust/trust_key_mng/ title="Manage keys for content trust">Manage keys for content trust</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/security/trust/trust_sandbox/ title="Play in a content trust sandbox">Play in a content trust sandbox</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/security/non-events/ title="Docker security non-events">Docker security non-events</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/security/userns-remap/ title="Isolate containers with a user namespace">Isolate containers with a user namespace</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/security/protect-access/ title="Protect the Docker daemon socket">Protect the Docker daemon socket</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/security/seccomp/ title="Seccomp security profiles for Docker">Seccomp security profiles for Docker</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/security/certificates/ title="Verify repository client with certificates">Verify repository client with certificates</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/engine/swarm/>Swarm mode</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/admin_guide/ title="Administer and maintain a swarm of Docker Engines">Administer and maintain a swarm of Docker Engines</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/stack-deploy/ title="Deploy a stack to a swarm">Deploy a stack to a swarm</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/services/ title="Deploy services to a swarm">Deploy services to a swarm</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/engine/swarm/swarm-tutorial/>Getting started with Swarm mode</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/swarm-tutorial/create-swarm/ title="Create a swarm">Create a swarm</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/swarm-tutorial/add-nodes/ title="Add nodes to the swarm">Add nodes to the swarm</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/swarm-tutorial/deploy-service/ title="Deploy a service to the swarm">Deploy a service to the swarm</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/swarm-tutorial/inspect-service/ title="Inspect a service on the swarm">Inspect a service on the swarm</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/swarm-tutorial/scale-service/ title="Scale the service in the swarm">Scale the service in the swarm</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/swarm-tutorial/delete-service/ title="Delete the service running on the swarm">Delete the service running on the swarm</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/swarm-tutorial/rolling-update/ title="Apply rolling updates to a service">Apply rolling updates to a service</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/swarm-tutorial/drain-node/ title="Drain a node on the swarm">Drain a node on the swarm</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> How swarm works</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/how-swarm-mode-works/nodes/ title="How nodes work">How nodes work</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/how-swarm-mode-works/services/ title="How services work">How services work</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/how-swarm-mode-works/pki/ title="Manage swarm security with public key infrastructure (PKI)">Manage swarm security with public key infrastructure (PKI)</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/how-swarm-mode-works/swarm-task-states/ title="Swarm task states">Swarm task states</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/join-nodes/ title="Join nodes to a swarm">Join nodes to a swarm</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/swarm_manager_locking/ title="Lock your swarm to protect its encryption key">Lock your swarm to protect its encryption key</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/manage-nodes/ title="Manage nodes in a swarm">Manage nodes in a swarm</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/secrets/ title="Manage sensitive data with Docker secrets">Manage sensitive data with Docker secrets</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/networking/ title="Manage swarm service networks">Manage swarm service networks</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/raft/ title="Raft consensus in swarm mode">Raft consensus in swarm mode</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/swarm-mode/ title="Run Docker Engine in swarm mode">Run Docker Engine in swarm mode</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/configs/ title="Store configuration data using Docker Configs">Store configuration data using Docker Configs</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/key-concepts/ title="Swarm mode key concepts">Swarm mode key concepts</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/swarm/ingress/ title="Use Swarm mode routing mesh">Use Swarm mode routing mesh</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/deprecated/ title="Deprecated features">Deprecated features</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/engine/extend/>Docker Engine plugins</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/extend/plugins_authorization/ title="Access authorization plugin">Access authorization plugin</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/extend/plugins_logging/ title="Docker log driver plugins">Docker log driver plugins</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/extend/plugins_network/ title="Docker network driver plugins">Docker network driver plugins</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/extend/plugin_api/ title="Docker Plugin API">Docker Plugin API</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/extend/plugins_volume/ title="Docker volume plugins">Docker volume plugins</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/extend/config/ title="Plugin Config Version 1 of Plugin V2">Plugin Config Version 1 of Plugin V2</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/extend/legacy_plugins/ title="Use Docker Engine plugins">Use Docker Engine plugins</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Release notes</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/27/ title="Engine v27">Engine v27</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/26.1/ title="Engine v26.1">Engine v26.1</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/26.0/ title="Engine v26.0">Engine v26.0</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/25.0/ title="Engine v25.0">Engine v25.0</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/24.0/ title="Engine v24.0">Engine v24.0</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/23.0/ title="Engine v23.0">Engine v23.0</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/20.10/ title="Engine v20.10">Engine v20.10</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/19.03/ title="Engine v19.03">Engine v19.03</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/18.09/ title="Engine v18.09">Engine v18.09</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/18.06/ title="Engine v18.06">Engine v18.06</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/18.05/ title="Engine v18.05">Engine v18.05</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/18.04/ title="Engine v18.04">Engine v18.04</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/18.03/ title="Engine v18.03">Engine v18.03</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/18.02/ title="Engine v18.02">Engine v18.02</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/18.01/ title="Engine v18.01">Engine v18.01</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/17.12/ title="Engine v17.12">Engine v17.12</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/17.11/ title="Engine v17.11">Engine v17.11</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/17.10/ title="Engine v17.10">Engine v17.10</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/17.09/ title="Engine v17.09">Engine v17.09</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/17.07/ title="Engine v17.07">Engine v17.07</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/17.06/ title="Engine v17.06">Engine v17.06</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/17.05/ title="Engine v17.05">Engine v17.05</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/17.04/ title="Engine v17.04">Engine v17.04</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/17.03/ title="Engine v17.03">Engine v17.03</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/engine/release-notes/prior-releases/ title="Prior releases">Prior releases</a></li></ul></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/extensions/>Docker Extensions</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/marketplace/ title="Marketplace extensions">Marketplace extensions</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/non-marketplace/ title="Non-marketplace extensions">Non-marketplace extensions</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/private-marketplace/ title="Configure a private marketplace">Configure a private marketplace</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/settings-feedback/ title="Settings and feedback">Settings and feedback</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/extensions/extensions-sdk/>Extensions SDK</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/process/ title="The build and publish process">The build and publish process</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/quickstart/ title=Quickstart>Quickstart</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Part one: Build</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/build/minimal-frontend-extension/ title="Create a simple extension">Create a simple extension</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/build/frontend-extension-tutorial/ title="Create an advanced frontend extension">Create an advanced frontend extension</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/build/backend-extension-tutorial/ title="Add a backend to your extension">Add a backend to your extension</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/extensions/extensions-sdk/extensions/>Part two: Publish</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/extensions/labels/ title="Add labels">Add labels</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/extensions/validate/ title=Validate>Validate</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/extensions/DISTRIBUTION/ title="Package and release your extension">Package and release your extension</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/extensions/share/ title="Share your extension">Share your extension</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/extensions/publish/ title="Publish in the Marketplace">Publish in the Marketplace</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/extensions/multi-arch/ title="Build multi-arch extensions">Build multi-arch extensions</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/extensions/extensions-sdk/architecture/>Architecture</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/architecture/metadata/ title=Metadata>Metadata</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/architecture/security/ title=Security>Security</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/extensions/extensions-sdk/design/>Design and UI styling</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/design/design-guidelines/ title=Guidelines>Guidelines</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/design/design-principles/ title="Docker design principles">Docker design principles</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/design/mui-best-practices/ title="MUI best practices">MUI best practices</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Developer Guides</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/guides/oauth2-flow/ title=Authentication>Authentication</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/guides/kubernetes/ title="Interacting with Kubernetes">Interacting with Kubernetes</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/guides/invoke-host-binaries/ title="Invoke host binaries">Invoke host binaries</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/guides/use-docker-socket-from-backend/ title="Use the Docker socket">Use the Docker socket</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Developer SDK tools</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/dev/test-debug/ title="Test and debug">Test and debug</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/dev/continuous-integration/ title="Continuous Integration (CI)">Continuous Integration (CI)</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/dev/usage/ title="CLI reference">CLI reference</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Extension APIs</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/dev/api/dashboard/ title=Dashboard>Dashboard</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/dev/api/docker/ title=Docker>Docker</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/dev/api/backend/ title="Extension Backend">Extension Backend</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/dev/api/overview/ title="Extension UI API">Extension UI API</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/extensions/extensions-sdk/dev/api/dashboard-routes-navigation/ title=Navigation>Navigation</a></li></ul></li></ul></li></ul></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/copilot/>Docker for GitHub Copilot <span><span class="not-prose px-1 rounded-sm bg-violet-light dark:bg-violet-dark text-white text-xs">EA</span></span></a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/copilot/install/ title=Install>Install</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/copilot/usage/ title=Usage>Usage</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/copilot/examples/ title="Example prompts">Example prompts</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/docker-hub/>Docker Hub</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/docker-hub/quickstart/ title=Quickstart>Quickstart</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/docker-hub/repos/>Manage repositories</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/docker-hub/repos/access/ title="Access repositories">Access repositories</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/docker-hub/repos/categories/ title="Categories in Docker Hub">Categories in Docker Hub</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/docker-hub/repos/create/ title="Create repositories">Create repositories</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/docker-hub/download-rate-limit/ title="Usage and rate limits">Usage and rate limits</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/docker-hub/webhooks/ title=Webhooks>Webhooks</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/docker-hub/service-accounts/ title="Service accounts">Service accounts</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/docker-hub/builds/>Automated builds</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/docker-hub/builds/advanced/ title="Advanced options for Autobuild and Autotest">Advanced options for Autobuild and Autotest</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/docker-hub/builds/automated-testing/ title="Automated repository tests">Automated repository tests</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/docker-hub/builds/link-source/ title="Configure automated builds from GitHub and BitBucket">Configure automated builds from GitHub and BitBucket</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/docker-hub/builds/how-builds-work/ title="How Automated builds work">How Automated builds work</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/docker-hub/builds/manage-builds/ title="Manage autobuilds">Manage autobuilds</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/docker-hub/builds/troubleshoot/ title="Troubleshoot your autobuilds">Troubleshoot your autobuilds</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/docker-hub/vulnerability-scanning/ title="Static vulnerability scanning">Static vulnerability scanning</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/docker-hub/mirror/ title=Mirroring>Mirroring</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/docker-hub/oci-artifacts/ title="OCI artifacts">OCI artifacts</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/docker-hub/release-notes/ title="Release notes">Release notes</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/scout/>Docker Scout</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/install/ title=Install>Install</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/quickstart/ title=Quickstart>Quickstart</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Explore</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/explore/dashboard/ title=Dashboard>Dashboard</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/explore/analysis/ title="Docker Scout image analysis">Docker Scout image analysis</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/explore/metrics-exporter/ title="Docker Scout metrics exporter">Docker Scout metrics exporter</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/explore/image-details-view/ title="Image details view">Image details view</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/explore/exceptions/ title="Manage vulnerability exceptions">Manage vulnerability exceptions</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> How-tos</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/how-tos/create-exceptions-gui/ title="Create an exception using the GUI">Create an exception using the GUI</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/how-tos/create-exceptions-vex/ title="Create an exception using the VEX">Create an exception using the VEX</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/how-tos/configure-cli/ title="Docker Scout environment variables">Docker Scout environment variables</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/how-tos/view-create-sboms/ title="Docker Scout SBOMs">Docker Scout SBOMs</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/how-tos/artifact-types/ title="Use Scout with different artifact types">Use Scout with different artifact types</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Deep dive</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/deep-dive/advisory-db-sources/ title="Advisory database sources and matching service">Advisory database sources and matching service</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/deep-dive/data-handling/ title="Data collection and storage in Docker Scout">Data collection and storage in Docker Scout</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/scout/policy/>Policy Evaluation</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/policy/configure/ title="Configure policies">Configure policies</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/policy/scores/ title="Docker Scout health scores">Docker Scout health scores</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/policy/ci/ title="Evaluate policy compliance in CI">Evaluate policy compliance in CI</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/policy/remediation/ title="Remediation with Docker Scout">Remediation with Docker Scout</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/policy/view/ title="View Docker Scout policy status">View Docker Scout policy status</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/scout/integrations/>Integrations</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Code quality</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/integrations/code-quality/sonarqube/ title=SonarQube>SonarQube</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Container registries</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/integrations/registry/ecr/ title="Amazon ECR">Amazon ECR</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/integrations/registry/artifactory/ title=Artifactory>Artifactory</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/integrations/registry/acr/ title="Azure Container Registry">Azure Container Registry</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/scout/integrations/ci/>Continuous Integration</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/integrations/ci/azure/ title="Azure DevOps Pipelines">Azure DevOps Pipelines</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/integrations/ci/circle-ci/ title="Circle CI">Circle CI</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/integrations/ci/gha/ title="GitHub Actions">GitHub Actions</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/integrations/ci/gitlab/ title="GitLab CI/CD">GitLab CI/CD</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/integrations/ci/jenkins/ title=Jenkins>Jenkins</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/scout/integrations/environment/>Integrating Docker Scout with environments</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/integrations/environment/cli/ title="Generic (CLI)">Generic (CLI)</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/integrations/environment/sysdig/ title=Sysdig>Sysdig</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Source code management</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/integrations/source-code-management/github/ title=GitHub>GitHub</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Team collaboration</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/integrations/team-collaboration/slack/ title=Slack>Slack</a></li></ul></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Release notes</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/release-notes/cli/ title="CLI release notes">CLI release notes</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/scout/release-notes/platform/ title="Platform release notes">Platform release notes</a></li></ul></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/admin/>Administration</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/admin/organization/>Organization administration</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/admin/organization/orgs/ title="Create your organization">Create your organization</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/admin/organization/onboard/ title="Onboard your organization">Onboard your organization</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/admin/organization/members/ title="Manage organization members">Manage organization members</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/admin/organization/manage-a-team/ title="Create and manage a team">Create and manage a team</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/admin/organization/activity-logs/ title="Activity logs">Activity logs</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/admin/organization/general-settings/ title="Organization settings">Organization settings</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/admin/organization/insights/ title=Insights>Insights</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/admin/company/>Company administration</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/admin/company/new-company/ title="Create a company">Create a company</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/admin/company/owners/ title="Manage company owners">Manage company owners</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/admin/company/users/ title="Manage company users">Manage company users</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/admin/company/organizations/ title="Manage organizations">Manage organizations</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Account and admin FAQ</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/admin/faqs/general-faqs/ title=General>General</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/admin/faqs/organization-faqs/ title=Organization>Organization</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/admin/faqs/company-faqs/ title=Company>Company</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/admin/convert-account/ title="Convert an account into an organization">Convert an account into an organization</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/admin/deactivate-account/ title="Deactivating an organization">Deactivating an organization</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/billing/>Billing</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Docker Core</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/billing/core-billing/get-started-core/ title="Get started with Docker Core">Get started with Docker Core</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/billing/core-billing/payment-method/ title="Add or update a payment method">Add or update a payment method</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/billing/core-billing/details/ title="Update the billing information">Update the billing information</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/billing/core-billing/history/ title="View billing history">View billing history</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/billing/core-billing/cycle/ title="Change your billing cycle">Change your billing cycle</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/billing/build-billing/ title="Docker Build Cloud">Docker Build Cloud</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/billing/scout-billing/ title="Docker Scout">Docker Scout</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/billing/3d-secure/ title="3D Secure authentication">3D Secure authentication</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/billing/tax-certificate/ title="Register a tax certificate">Register a tax certificate</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/billing/faqs/ title=FAQs>FAQs</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/accounts/>Docker accounts</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/accounts/create-account/ title="Create an account">Create an account</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/accounts/manage-account/ title="Manage an account">Manage an account</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/accounts/deactivate-user-account/ title="Deactivate an account">Deactivate an account</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/security/>Security</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> For admins</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/security/for-admins/single-sign-on/>Single sign-on</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-admins/single-sign-on/configure/ title=Configure>Configure</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-admins/single-sign-on/connect/ title=Connect>Connect</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-admins/single-sign-on/manage/ title=Manage>Manage</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-admins/single-sign-on/troubleshoot/ title=Troubleshoot>Troubleshoot</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/security/for-admins/provisioning/>Provision</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-admins/provisioning/scim/ title=SCIM>SCIM</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-admins/provisioning/group-mapping/ title="Group mapping">Group mapping</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-admins/provisioning/just-in-time/ title=Just-in-Time>Just-in-Time</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/security/for-admins/enforce-sign-in/>Enforce sign-in</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-admins/enforce-sign-in/methods/ title=Methods>Methods</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-admins/roles-and-permissions/ title="Roles and permissions">Roles and permissions</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-admins/domain-audit/ title="Domain audit">Domain audit</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/security/for-admins/hardened-desktop/>Hardened Docker Desktop</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/security/for-admins/hardened-desktop/settings-management/>Settings Management</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-admins/hardened-desktop/settings-management/configure-json-file/ title="Use a JSON file">Use a JSON file</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-admins/hardened-desktop/settings-management/configure-admin-console/ title="Use the Admin Console">Use the Admin Console <span><span class="not-prose px-1 rounded-sm bg-violet-light dark:bg-violet-dark text-white text-xs">EA</span></span></a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/security/for-admins/hardened-desktop/enhanced-container-isolation/>Enhanced Container Isolation</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-admins/hardened-desktop/enhanced-container-isolation/how-eci-works/ title="How does it work?">How does it work?</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-admins/hardened-desktop/enhanced-container-isolation/features-benefits/ title="Key features and benefits">Key features and benefits</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-admins/hardened-desktop/enhanced-container-isolation/config/ title="Advanced configuration">Advanced configuration</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-admins/hardened-desktop/enhanced-container-isolation/faq/ title=FAQs>FAQs</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-admins/hardened-desktop/enhanced-container-isolation/limitations/ title=Limitations>Limitations</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-admins/hardened-desktop/registry-access-management/ title="Registry Access Management">Registry Access Management</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-admins/hardened-desktop/image-access-management/ title="Image Access Management">Image Access Management</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-admins/hardened-desktop/air-gapped-containers/ title="Air-gapped containers">Air-gapped containers</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-admins/access-tokens/ title="Organization access tokens (Beta)">Organization access tokens (Beta)</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> For developers</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-developers/access-tokens/ title="Access tokens">Access tokens</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/security/for-developers/2fa/>Two-factor authentication</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-developers/2fa/new-recovery-code/ title="Generate a new recovery code">Generate a new recovery code</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-developers/2fa/recover-hub-account/ title="Recover your Docker account">Recover your Docker account</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/for-developers/2fa/disable-2fa/ title="Disable two-factor authentication">Disable two-factor authentication</a></li></ul></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> FAQs</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/faqs/general/ title=General>General</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/faqs/containers/ title=Container>Container</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/faqs/networking-and-vms/ title="Network and VM">Network and VM</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Single sign-on</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/faqs/single-sign-on/faqs/ title=General>General</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/faqs/single-sign-on/domain-faqs/ title=Domains>Domains</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/faqs/single-sign-on/enforcement-faqs/ title=Enforcement>Enforcement</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/faqs/single-sign-on/idp-faqs/ title="Identity providers">Identity providers</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/faqs/single-sign-on/users-faqs/ title="Manage users">Manage users</a></li></ul></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/security/security-announcements/ title="Security announcements">Security announcements</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/subscription/>Subscription</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Docker Core</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/subscription/core-subscription/details/ title="Subscriptions and features">Subscriptions and features</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/subscription/core-subscription/add-seats/ title="Add seats">Add seats</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/subscription/core-subscription/upgrade/ title=Upgrade>Upgrade</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/subscription/core-subscription/remove-seats/ title="Remove seats">Remove seats</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/subscription/core-subscription/downgrade/ title=Downgrade>Downgrade</a></li></ul></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><button @click="expanded = !expanded" class="w-full text-left select-none hover:text-blue-light hover:dark:text-blue-dark"> Docker Build Cloud</button></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/subscription/build-cloud/manage-seats/ title="Manage seats and invites">Manage seats and invites</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/subscription/build-cloud/build-details/ title="Subscriptions and features">Subscriptions and features</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/subscription/scout-details/ title="Docker Scout subscriptions and features">Docker Scout subscriptions and features</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/subscription/desktop-license/ title="Docker Desktop license agreement">Docker Desktop license agreement</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/subscription/faq/ title=FAQs>FAQs</a></li></ul></li><li class="px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://testcontainers.com/cloud/docs/ title="Testcontainers Cloud">Testcontainers Cloud</a></li><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/trusted-content/>Trusted content</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li x-data="{ expanded: false }"><div class="rounded px-4 w-full flex items-center justify-between"><div class="w-full py-2 truncate"><a class="block select-none hover:text-blue-light hover:dark:text-blue-dark" href=https://docs.docker.com/trusted-content/official-images/>Docker Official Images</a></div><button @click="expanded = !expanded" class="hover:bg-gray-light-300 hover:dark:bg-gray-dark-300 rounded"> <span :class="{ 'hidden' : expanded }" class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M464-376 306-533q-2-2-3.5-4.76-1.5-2.77-1.5-5.92.0-6.32 4.13-10.82 4.12-4.5 10.87-4.5h328q6.75.0 10.88 4.64 4.12 4.63 4.12 10.81.0 1.55-5 10.55L496-376q-3 3-7.06 5t-8.94 2q-4.87.0-8.94-2-4.06-2-7.06-5z"/></svg> </span><span :class="{ 'hidden' : !expanded }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M316-4e2q-6.75.0-10.87-4.64-4.13-4.63-4.13-10.81.0-1.55 5-10.55l158-157q3-3 7.06-5 4.07-2 8.94-2 4.88.0 8.94 2t7.06 5l158 157q2 2 3.5 4.76 1.5 2.77 1.5 5.92.0 6.32-4.12 10.82-4.13 4.5-10.88 4.5H316z"/></svg></span></button></div><ul :class="{ 'hidden' : !expanded }" class="hidden ml-3"><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/trusted-content/official-images/using/ title="Using Docker Official Images">Using Docker Official Images</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/trusted-content/official-images/contributing/ title="Contributing to Docker Official Images">Contributing to Docker Official Images</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/trusted-content/dvp-program/ title="Docker Verified Publisher Program">Docker Verified Publisher Program</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/trusted-content/dsos-program/ title="Docker-Sponsored Open Source Program">Docker-Sponsored Open Source Program</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/trusted-content/insights-analytics/ title="Insights and analytics">Insights and analytics</a></li></ul></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/cloud/ title="Cloud integrations">Cloud integrations</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/registry/ title=Registry>Registry</a></li><li class="rounded px-4 hover:text-blue-light hover:dark:text-blue-dark"><a class="py-2 w-full truncate block" href=https://docs.docker.com/release-lifecycle/ title="Release lifecycle">Release lifecycle</a></li></ul></nav></div></div><div data-pagefind-body class="w-full min-w-0 bg-white p-8 dark:bg-background-dark"><div class="flex gap-8 w-full"><article class="prose min-w-0 flex-[2_2_0%] max-w-4xl dark:prose-invert"><nav id=breadcrumbs data-pagefind-ignore class="gap-4 flex items-center text-gray-light dark:text-gray-dark min-w-0"><a href=https://docs.docker.com/ class="link truncate">Home</a> <span>/</span> <a href=https://docs.docker.com/manuals/ class="link truncate">Manuals</a> <span>/</span> <a href=https://docs.docker.com/build/ class="link truncate">Docker Build</a> <span>/</span> <a href class="link truncate">Building</a> <span>/</span> <span data-pagefind-meta="breadcrumbs:Home / Manuals / Docker Build / Building" class=truncate>Multi-platform</span></nav><h1 data-pagefind-weight=10 class=scroll-mt-36>Multi-platform builds</h1><div class="block lg:hidden"><div data-pagefind-ignore class=not-prose><div class="text-lg pb-0 lg:pb-2">Table of contents</div><nav class=toc><ul class=pl-2><li><a class="link lg:no-underline" href=#why-multi-platform-builds>Why multi-platform builds?</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#difference-between-single-platform-and-multi-platform-images>Difference between single-platform and multi-platform images</a></li></ul><li><a class="link lg:no-underline" href=#prerequisites>Prerequisites</a></li><li><a class="link lg:no-underline" href=#build-multi-platform-images>Build multi-platform images</a></li><li><a class="link lg:no-underline" href=#strategies>Strategies</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#qemu>QEMU</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#multiple-native-nodes>Multiple native nodes</a></li><li><a class="link lg:no-underline" href=#cross-compilation>Cross-compilation</a></li></ul><li><a class="link lg:no-underline" href=#examples>Examples</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#simple-multi-platform-build-using-emulation>Simple multi-platform build using emulation</a></li><li><a class="link lg:no-underline" href=#multi-platform-neovim-build-using-docker-build-cloud>Multi-platform Neovim build using Docker Build Cloud</a></li><li><a class="link lg:no-underline" href=#cross-compiling-a-go-application>Cross-compiling a Go application</a></li></ul></ul></nav></div><hr></div><p>A multi-platform build refers to a single build invocation that targets multiple different operating system or CPU architecture combinations. When building images, this lets you create a single image that can run on multiple platforms, such as <code>linux/amd64</code>, <code>linux/arm64</code>, and <code>windows/amd64</code>.</p><h2 class=scroll-mt-20 id=why-multi-platform-builds><a class="text-black dark:text-white no-underline hover:underline" href=#why-multi-platform-builds>Why multi-platform builds?</a></h2><p>Docker solves the "it works on my machine" problem by packaging applications and their dependencies into containers. This makes it easy to run the same application on different environments, such as development, testing, and production.</p><p>But containerization by itself only solves part of the problem. Containers share the host kernel, which means that the code that's running inside the container must be compatible with the host's architecture. This is why you can't run a <code>linux/amd64</code> container on an arm64 host (without using emulation), or a Windows container on a Linux host.</p><p>Multi-platform builds solve this problem by packaging multiple variants of the same application into a single image. This enables you to run the same image on different types of hardware, such as development machines running x86-64 or ARM-based Amazon EC2 instances in the cloud, without the need for emulation.</p><h3 class=scroll-mt-20 id=difference-between-single-platform-and-multi-platform-images><a class="text-black dark:text-white no-underline hover:underline" href=#difference-between-single-platform-and-multi-platform-images>Difference between single-platform and multi-platform images</a></h3><p>Multi-platform images have a different structure than single-platform images. Single-platform images contain a single manifest that points to a single configuration and a single set of layers. Multi-platform images contain a manifest list, pointing to multiple manifests, each of which points to a different configuration and set of layers.</p><figure x-data="{ zoom: false }" @click="zoom = ! zoom" class="cursor-pointer hover:opacity-90"><img loading=lazy src=/build/images/single-vs-multiplatform-image.svg alt="Multi-platform image structure" class="rounded mx-auto"> <template x-teleport=body><div x-show=zoom @click="zoom = false" x-transition.opacity.duration.250ms class="fixed z-20 inset-0 flex items-center justify-center bg-black/70 p-6"><button class="text-white fixed z-30 top-6 right-8 icon-svg"> <svg width="48" height="48" viewBox="0 -960 960 960"><path d="M480-438 270-228q-9 9-21 9t-21-9-9-21 9-21l210-210-210-210q-9-9-9-21t9-21 21-9 21 9l210 210 210-210q9-9 21-9t21 9 9 21-9 21L522-480l210 210q9 9 9 21t-9 21-21 9-21-9L480-438z"/></svg> </button> <img loading=lazy class="rounded max-w-full max-h-full" src=/build/images/single-vs-multiplatform-image.svg alt="Multi-platform image structure"></div></template></figure><p>When you push a multi-platform image to a registry, the registry stores the manifest list and all the individual manifests. When you pull the image, the registry returns the manifest list, and Docker automatically selects the correct variant based on the host's architecture. For example, if you run a multi-platform image on an ARM-based Raspberry Pi, Docker selects the <code>linux/arm64</code> variant. If you run the same image on an x86-64 laptop, Docker selects the <code>linux/amd64</code> variant (if you're using Linux containers).</p><h2 class=scroll-mt-20 id=prerequisites><a class="text-black dark:text-white no-underline hover:underline" href=#prerequisites>Prerequisites</a></h2><p>To build multi-platform images, you first need to make sure that your Docker environment is set up to support it. There are two ways you can do that:</p><ul><li>You can switch from the "classic" image store to the containerd image store.</li><li>You can create and use a custom builder.</li></ul><p>The "classic" image store of the Docker Engine does not support multi-platform images. Switching to the containerd image store ensures that your Docker Engine can push, pull, and build multi-platform images.</p><p>Creating a custom builder that uses a driver with multi-platform support, such as the <code>docker-container</code> driver, will let you build multi-platform images without switching to a different image store. However, you still won't be able to load the multi-platform images you build into your Docker Engine image store. But you can push them to a container registry directly with <code>docker build --push</code>.</p><div x-data="{ selected: 'containerd-image-store' }" aria-role=tabpanel><div aria-role=tablist class=space-x-2><button class=p-1 :class="selected === 'containerd-image-store' && 'border-blue-light-500 border-b-4 dark:border-b-blue-dark-600'" @click="selected = 'containerd-image-store'"> containerd image store </button> <button class=p-1 :class="selected === 'Custom-builder' && 'border-blue-light-500 border-b-4 dark:border-b-blue-dark-600'" @click="selected = 'Custom-builder'"> Custom builder</button></div><hr class=!mt-0><div><div aria-role=tab :class="selected !== 'containerd-image-store' && 'hidden'"><p>The steps for enabling the containerd image store depends on whether you're using Docker Desktop or Docker Engine standalone:</p><ul><li><p>If you're using Docker Desktop, enable the containerd image store in the <a class=link href=https://docs.docker.com/desktop/features/containerd/>Docker Desktop settings</a>.</p></li><li><p>If you're using Docker Engine standalone, enable the containerd image store using the <a class=link href=https://docs.docker.com/engine/storage/containerd/>daemon configuration file</a>.</p></li></ul></div><div aria-role=tab :class="selected !== 'Custom-builder' && 'hidden'"><p>To create a custom builder, use the <code>docker buildx create</code> command to create a builder that uses the <code>docker-container</code> driver.</p><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'JCBkb2NrZXIgYnVpbGR4IGNyZWF0ZSBcCiAgLS1uYW1lIGNvbnRhaW5lci1idWlsZGVyIFwKICAtLWRyaXZlciBkb2NrZXItY29udGFpbmVyIFwKICAtLWJvb3RzdHJhcCAtLXVzZQ==', copying: false }" class="absolute right-3 top-3 z-10 text-gray-light-300 dark:text-gray-dark-600" title=copy @click="window.navigator.clipboard.writeText(atob(code).replaceAll(/^[\$>]\s+/gm, '')); copying = true; setTimeout(() => copying = false, 2000);"> <span :class="{ 'group-hover:block' : !copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M3e2-2e2q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h440q24 0 42 18t18 42v560q0 24-18 42t-42 18H3e2zM180-80q-24 0-42-18t-18-42v-590q0-13 8.5-21.5T150-760t21.5 8.5T180-730v590h470q13 0 21.5 8.5T680-110t-8.5 21.5T650-80H180z"/></svg></span> <span :class="{ 'group-hover:block' : copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m421-389-98-98q-9-9-22-9t-23 10q-9 9-9 22t9 22l122 123q9 9 21 9t21-9l239-239q10-10 10-23t-10-23q-10-9-23.5-8.5T635-603L421-389zm59 309q-82 0-155-31.5t-127.5-86-86-127.5T80-480q0-83 31.5-156t86-127T325-848.5 480-880q83 0 156 31.5T763-763t85.5 127T880-480q0 82-31.5 155T763-197.5t-127 86T480-80z"/></svg></span></button><div class="syntax-light dark:syntax-dark"><div class=highlight><pre tabindex=0 class=chroma><code class=language-console data-lang=console><span class=line><span class=cl><span class=gp>$</span> docker buildx create <span class=se>\ </span></span></span><span class=line><span class=cl><span class=se></span><span class=go> --name container-builder \ </span></span></span><span class=line><span class=cl><span class=go> --driver docker-container \ </span></span></span><span class=line><span class=cl><span class=go> --bootstrap --use </span></span></span></code></pre></div></div></div></div><blockquote class="px-4 border-l-4 border-blue-light dark:border-blue-dark"><p class="flex gap-2 items-center text-blue-light dark:text-blue-dark"><span class="icon-svg pb-1"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M483.18-280q12.82.0 21.32-8.63 8.5-8.62 8.5-21.37v-180q0-12.75-8.68-21.38-8.67-8.62-21.5-8.62-12.82.0-21.32 8.62-8.5 8.63-8.5 21.38v180q0 12.75 8.68 21.37 8.67 8.63 21.5 8.63zm-3.2-314q14.02.0 23.52-9.2T513-626q0-14.45-9.48-24.22-9.48-9.78-23.5-9.78t-23.52 9.78Q447-640.45 447-626q0 13.6 9.48 22.8 9.48 9.2 23.5 9.2zm.29 514q-82.74.0-155.5-31.5Q252-143 197.5-197.5t-86-127.34Q80-397.68 80-480.5t31.5-155.66T197.5-763t127.34-85.5Q397.68-880 480.5-880t155.66 31.5T763-763t85.5 127T880-480.27q0 82.74-31.5 155.5Q817-252 763-197.68q-54 54.31-127 86Q563-80 480.27-80z"/></svg> </span><strong>Note</strong></p><p>Builds with the <code>docker-container</code> driver aren't automatically loaded to your Docker Engine image store. For more information, see <a class=link href=https://docs.docker.com/build/builders/drivers/>Build drivers</a>.</p></blockquote></div></div><hr></div><p>If you're using Docker Engine standalone and you need to build multi-platform images using emulation, you also need to install QEMU, see <a class=link href=#install-qemu-manually>Install QEMU manually</a>.</p><h2 class=scroll-mt-20 id=build-multi-platform-images><a class="text-black dark:text-white no-underline hover:underline" href=#build-multi-platform-images>Build multi-platform images</a></h2><p>When triggering a build, use the <code>--platform</code> flag to define the target platforms for the build output, such as <code>linux/amd64</code> and <code>linux/arm64</code>:</p><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'JCBkb2NrZXIgYnVpbGR4IGJ1aWxkIC0tcGxhdGZvcm0gbGludXgvYW1kNjQsbGludXgvYXJtNjQgLg==', copying: false }" class="absolute right-3 top-3 z-10 text-gray-light-300 dark:text-gray-dark-600" title=copy @click="window.navigator.clipboard.writeText(atob(code).replaceAll(/^[\$>]\s+/gm, '')); copying = true; setTimeout(() => copying = false, 2000);"> <span :class="{ 'group-hover:block' : !copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M3e2-2e2q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h440q24 0 42 18t18 42v560q0 24-18 42t-42 18H3e2zM180-80q-24 0-42-18t-18-42v-590q0-13 8.5-21.5T150-760t21.5 8.5T180-730v590h470q13 0 21.5 8.5T680-110t-8.5 21.5T650-80H180z"/></svg></span> <span :class="{ 'group-hover:block' : copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m421-389-98-98q-9-9-22-9t-23 10q-9 9-9 22t9 22l122 123q9 9 21 9t21-9l239-239q10-10 10-23t-10-23q-10-9-23.5-8.5T635-603L421-389zm59 309q-82 0-155-31.5t-127.5-86-86-127.5T80-480q0-83 31.5-156t86-127T325-848.5 480-880q83 0 156 31.5T763-763t85.5 127T880-480q0 82-31.5 155T763-197.5t-127 86T480-80z"/></svg></span></button><div class="syntax-light dark:syntax-dark"><div class=highlight><pre tabindex=0 class=chroma><code class=language-console data-lang=console><span class=line><span class=cl><span class=gp>$</span> docker buildx build --platform linux/amd64,linux/arm64 . </span></span></code></pre></div></div></div></div><h2 class=scroll-mt-20 id=strategies><a class="text-black dark:text-white no-underline hover:underline" href=#strategies>Strategies</a></h2><p>You can build multi-platform images using three different strategies, depending on your use case:</p><ol><li>Using emulation, via <a class=link href=#qemu>QEMU</a></li><li>Use a builder with <a class=link href=#multiple-native-nodes>multiple native nodes</a></li><li>Use <a class=link href=#cross-compilation>cross-compilation</a> with multi-stage builds</li></ol><h3 class=scroll-mt-20 id=qemu><a class="text-black dark:text-white no-underline hover:underline" href=#qemu>QEMU</a></h3><p>Building multi-platform images under emulation with QEMU is the easiest way to get started if your builder already supports it. Using emulation requires no changes to your Dockerfile, and BuildKit automatically detects the architectures that are available for emulation.</p><blockquote class="px-4 border-l-4 border-blue-light dark:border-blue-dark"><p class="flex gap-2 items-center text-blue-light dark:text-blue-dark"><span class="icon-svg pb-1"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M483.18-280q12.82.0 21.32-8.63 8.5-8.62 8.5-21.37v-180q0-12.75-8.68-21.38-8.67-8.62-21.5-8.62-12.82.0-21.32 8.62-8.5 8.63-8.5 21.38v180q0 12.75 8.68 21.37 8.67 8.63 21.5 8.63zm-3.2-314q14.02.0 23.52-9.2T513-626q0-14.45-9.48-24.22-9.48-9.78-23.5-9.78t-23.52 9.78Q447-640.45 447-626q0 13.6 9.48 22.8 9.48 9.2 23.5 9.2zm.29 514q-82.74.0-155.5-31.5Q252-143 197.5-197.5t-86-127.34Q80-397.68 80-480.5t31.5-155.66T197.5-763t127.34-85.5Q397.68-880 480.5-880t155.66 31.5T763-763t85.5 127T880-480.27q0 82.74-31.5 155.5Q817-252 763-197.68q-54 54.31-127 86Q563-80 480.27-80z"/></svg> </span><strong>Note</strong></p><p><p>Emulation with QEMU can be much slower than native builds, especially for compute-heavy tasks like compilation and compression or decompression.</p><p>Use <a class=link href=#multiple-native-nodes>multiple native nodes</a> or <a class=link href=#cross-compilation>cross-compilation</a> instead, if possible.</p></blockquote><p>Docker Desktop supports running and building multi-platform images under emulation by default. No configuration is necessary as the builder uses the QEMU that's bundled within the Docker Desktop VM.</p><h4 class=scroll-mt-20 id=install-qemu-manually><a class="text-black dark:text-white no-underline hover:underline" href=#install-qemu-manually>Install QEMU manually</a></h4><p>If you're using a builder outside of Docker Desktop, such as if you're using Docker Engine on Linux, or a custom remote builder, you need to install QEMU and register the executable types on the host OS. The prerequisites for installing QEMU are:</p><ul><li>Linux kernel version 4.8 or later</li><li><code>binfmt-support</code> version 2.1.7 or later</li><li>The QEMU binaries must be statically compiled and registered with the <code>fix_binary</code> flag</li></ul><p>Use the <a class=link href=https://github.com/tonistiigi/binfmt rel=noopener><code>tonistiigi/binfmt</code><span class="pl-1 icon-svg icon-sm"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M180-120q-24 0-42-18t-18-42v-6e2q0-24 18-42t42-18h249q12.75.0 21.38 8.68 8.62 8.67 8.62 21.5.0 12.82-8.62 21.32-8.63 8.5-21.38 8.5H180v6e2h6e2v-249q0-12.75 8.68-21.38 8.67-8.62 21.5-8.62 12.82.0 21.32 8.62 8.5 8.63 8.5 21.38v249q0 24-18 42t-42 18H180zm6e2-617L403-360q-9 9-21 8.5t-21-9.5-9-21 9-21l377-377H549q-12.75.0-21.37-8.68-8.63-8.67-8.63-21.5.0-12.82 8.63-21.32 8.62-8.5 21.37-8.5h261q12.75.0 21.38 8.62Q840-822.75 840-810v261q0 12.75-8.68 21.37-8.67 8.63-21.5 8.63-12.82.0-21.32-8.63-8.5-8.62-8.5-21.37v-188z"/></svg></span></a> image to install QEMU and register the executable types on the host with a single command:</p><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'JCBkb2NrZXIgcnVuIC0tcHJpdmlsZWdlZCAtLXJtIHRvbmlzdGlpZ2kvYmluZm10IC0taW5zdGFsbCBhbGw=', copying: false }" class="absolute right-3 top-3 z-10 text-gray-light-300 dark:text-gray-dark-600" title=copy @click="window.navigator.clipboard.writeText(atob(code).replaceAll(/^[\$>]\s+/gm, '')); copying = true; setTimeout(() => copying = false, 2000);"> <span :class="{ 'group-hover:block' : !copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M3e2-2e2q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h440q24 0 42 18t18 42v560q0 24-18 42t-42 18H3e2zM180-80q-24 0-42-18t-18-42v-590q0-13 8.5-21.5T150-760t21.5 8.5T180-730v590h470q13 0 21.5 8.5T680-110t-8.5 21.5T650-80H180z"/></svg></span> <span :class="{ 'group-hover:block' : copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m421-389-98-98q-9-9-22-9t-23 10q-9 9-9 22t9 22l122 123q9 9 21 9t21-9l239-239q10-10 10-23t-10-23q-10-9-23.5-8.5T635-603L421-389zm59 309q-82 0-155-31.5t-127.5-86-86-127.5T80-480q0-83 31.5-156t86-127T325-848.5 480-880q83 0 156 31.5T763-763t85.5 127T880-480q0 82-31.5 155T763-197.5t-127 86T480-80z"/></svg></span></button><div class="syntax-light dark:syntax-dark"><div class=highlight><pre tabindex=0 class=chroma><code class=language-console data-lang=console><span class=line><span class=cl><span class=gp>$</span> docker run --privileged --rm tonistiigi/binfmt --install all </span></span></code></pre></div></div></div></div><p>This installs the QEMU binaries and registers them with <a class=link href=https://en.wikipedia.org/wiki/Binfmt_misc rel=noopener><code>binfmt_misc</code><span class="pl-1 icon-svg icon-sm"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M180-120q-24 0-42-18t-18-42v-6e2q0-24 18-42t42-18h249q12.75.0 21.38 8.68 8.62 8.67 8.62 21.5.0 12.82-8.62 21.32-8.63 8.5-21.38 8.5H180v6e2h6e2v-249q0-12.75 8.68-21.38 8.67-8.62 21.5-8.62 12.82.0 21.32 8.62 8.5 8.63 8.5 21.38v249q0 24-18 42t-42 18H180zm6e2-617L403-360q-9 9-21 8.5t-21-9.5-9-21 9-21l377-377H549q-12.75.0-21.37-8.68-8.63-8.67-8.63-21.5.0-12.82 8.63-21.32 8.62-8.5 21.37-8.5h261q12.75.0 21.38 8.62Q840-822.75 840-810v261q0 12.75-8.68 21.37-8.67 8.63-21.5 8.63-12.82.0-21.32-8.63-8.5-8.62-8.5-21.37v-188z"/></svg></span></a>, enabling QEMU to execute non-native file formats for emulation.</p><p>Once QEMU is installed and the executable types are registered on the host OS, they work transparently inside containers. You can verify your registration by checking if <code>F</code> is among the flags in <code>/proc/sys/fs/binfmt_misc/qemu-*</code>.</p><h3 class=scroll-mt-20 id=multiple-native-nodes><a class="text-black dark:text-white no-underline hover:underline" href=#multiple-native-nodes>Multiple native nodes</a></h3><p>Using multiple native nodes provide better support for more complicated cases that QEMU can't handle, and also provides better performance.</p><p>You can add additional nodes to a builder using the <code>--append</code> flag.</p><p>The following command creates a multi-node builder from Docker contexts named <code>node-amd64</code> and <code>node-arm64</code>. This example assumes that you've already added those contexts.</p><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'JCBkb2NrZXIgYnVpbGR4IGNyZWF0ZSAtLXVzZSAtLW5hbWUgbXlidWlsZCBub2RlLWFtZDY0Cm15YnVpbGQKJCBkb2NrZXIgYnVpbGR4IGNyZWF0ZSAtLWFwcGVuZCAtLW5hbWUgbXlidWlsZCBub2RlLWFybTY0CiQgZG9ja2VyIGJ1aWxkeCBidWlsZCAtLXBsYXRmb3JtIGxpbnV4L2FtZDY0LGxpbnV4L2FybTY0IC4=', copying: false }" class="absolute right-3 top-3 z-10 text-gray-light-300 dark:text-gray-dark-600" title=copy @click="window.navigator.clipboard.writeText(atob(code).replaceAll(/^[\$>]\s+/gm, '')); copying = true; setTimeout(() => copying = false, 2000);"> <span :class="{ 'group-hover:block' : !copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M3e2-2e2q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h440q24 0 42 18t18 42v560q0 24-18 42t-42 18H3e2zM180-80q-24 0-42-18t-18-42v-590q0-13 8.5-21.5T150-760t21.5 8.5T180-730v590h470q13 0 21.5 8.5T680-110t-8.5 21.5T650-80H180z"/></svg></span> <span :class="{ 'group-hover:block' : copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m421-389-98-98q-9-9-22-9t-23 10q-9 9-9 22t9 22l122 123q9 9 21 9t21-9l239-239q10-10 10-23t-10-23q-10-9-23.5-8.5T635-603L421-389zm59 309q-82 0-155-31.5t-127.5-86-86-127.5T80-480q0-83 31.5-156t86-127T325-848.5 480-880q83 0 156 31.5T763-763t85.5 127T880-480q0 82-31.5 155T763-197.5t-127 86T480-80z"/></svg></span></button><div class="syntax-light dark:syntax-dark"><div class=highlight><pre tabindex=0 class=chroma><code class=language-console data-lang=console><span class=line><span class=cl><span class=gp>$</span> docker buildx create --use --name mybuild node-amd64 </span></span><span class=line><span class=cl><span class=go>mybuild </span></span></span><span class=line><span class=cl><span class=go></span><span class=gp>$</span> docker buildx create --append --name mybuild node-arm64 </span></span><span class=line><span class=cl><span class=gp>$</span> docker buildx build --platform linux/amd64,linux/arm64 . </span></span></code></pre></div></div></div></div><p>While this approach has advantages over emulation, managing multi-node builders introduces some overhead of setting up and managing builder clusters. Alternatively, you can use Docker Build Cloud, a service that provides managed multi-node builders on Docker's infrastructure. With Docker Build Cloud, you get native multi-platform ARM and X86 builders without the burden of maintaining them. Using cloud builders also provides additional benefits, such as a shared build cache.</p><p>After signing up for Docker Build Cloud, add the builder to your local environment and start building.</p><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'JCBkb2NrZXIgYnVpbGR4IGNyZWF0ZSAtLWRyaXZlciBjbG91ZCA8T1JHPi88QlVJTERFUl9OQU1FPgpjbG91ZC08T1JHPi08QlVJTERFUl9OQU1FPgokIGRvY2tlciBidWlsZCBcCiAgLS1idWlsZGVyIGNsb3VkLTxPUkc+LTxCVUlMREVSX05BTUU+IFwKICAtLXBsYXRmb3JtIGxpbnV4L2FtZDY0LGxpbnV4L2FybTY0LGxpbnV4L2FybS92NyBcCiAgLS10YWcgPElNQUdFX05BTUU+IFwKICAtLXB1c2ggLg==', copying: false }" class="absolute right-3 top-3 z-10 text-gray-light-300 dark:text-gray-dark-600" title=copy @click="window.navigator.clipboard.writeText(atob(code).replaceAll(/^[\$>]\s+/gm, '')); copying = true; setTimeout(() => copying = false, 2000);"> <span :class="{ 'group-hover:block' : !copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M3e2-2e2q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h440q24 0 42 18t18 42v560q0 24-18 42t-42 18H3e2zM180-80q-24 0-42-18t-18-42v-590q0-13 8.5-21.5T150-760t21.5 8.5T180-730v590h470q13 0 21.5 8.5T680-110t-8.5 21.5T650-80H180z"/></svg></span> <span :class="{ 'group-hover:block' : copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m421-389-98-98q-9-9-22-9t-23 10q-9 9-9 22t9 22l122 123q9 9 21 9t21-9l239-239q10-10 10-23t-10-23q-10-9-23.5-8.5T635-603L421-389zm59 309q-82 0-155-31.5t-127.5-86-86-127.5T80-480q0-83 31.5-156t86-127T325-848.5 480-880q83 0 156 31.5T763-763t85.5 127T880-480q0 82-31.5 155T763-197.5t-127 86T480-80z"/></svg></span></button><div class="syntax-light dark:syntax-dark"><div class=highlight><pre tabindex=0 class=chroma><code class=language-console data-lang=console><span class=line><span class=cl><span class=gp>$</span> docker buildx create --driver cloud <ORG>/<BUILDER_NAME> </span></span><span class=line><span class=cl><span class=go>cloud-<ORG>-<BUILDER_NAME> </span></span></span><span class=line><span class=cl><span class=go></span><span class=gp>$</span> docker build <span class=se>\ </span></span></span><span class=line><span class=cl><span class=se></span><span class=go> --builder cloud-<ORG>-<BUILDER_NAME> \ </span></span></span><span class=line><span class=cl><span class=go> --platform linux/amd64,linux/arm64,linux/arm/v7 \ </span></span></span><span class=line><span class=cl><span class=go> --tag <IMAGE_NAME> \ </span></span></span><span class=line><span class=cl><span class=go> --push . </span></span></span></code></pre></div></div></div></div><p>For more information, see <a class=link href=https://docs.docker.com/build-cloud/>Docker Build Cloud</a>.</p><h3 class=scroll-mt-20 id=cross-compilation><a class="text-black dark:text-white no-underline hover:underline" href=#cross-compilation>Cross-compilation</a></h3><p>Depending on your project, if the programming language you use has good support for cross-compilation, you can leverage multi-stage builds to build binaries for target platforms from the native architecture of the builder. Special build arguments, such as <code>BUILDPLATFORM</code> and <code>TARGETPLATFORM</code>, are automatically available for use in your Dockerfile.</p><p>In the following example, the <code>FROM</code> instruction is pinned to the native platform of the builder (using the <code>--platform=$BUILDPLATFORM</code> option) to prevent emulation from kicking in. Then the pre-defined <code>$BUILDPLATFORM</code> and <code>$TARGETPLATFORM</code> build arguments are interpolated in a <code>RUN</code> instruction. In this case, the values are just printed to stdout with <code>echo</code>, but this illustrates how you would pass them to the compiler for cross-compilation.</p><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'IyBzeW50YXg9ZG9ja2VyL2RvY2tlcmZpbGU6MQpGUk9NIC0tcGxhdGZvcm09JEJVSUxEUExBVEZPUk0gZ29sYW5nOmFscGluZSBBUyBidWlsZApBUkcgVEFSR0VUUExBVEZPUk0KQVJHIEJVSUxEUExBVEZPUk0KUlVOIGVjaG8gIkkgYW0gcnVubmluZyBvbiAkQlVJTERQTEFURk9STSwgYnVpbGRpbmcgZm9yICRUQVJHRVRQTEFURk9STSIgPiAvbG9nCkZST00gYWxwaW5lCkNPUFkgLS1mcm9tPWJ1aWxkIC9sb2cgL2xvZw==', copying: false }" class="absolute right-3 top-3 z-10 text-gray-light-300 dark:text-gray-dark-600" title=copy @click="window.navigator.clipboard.writeText(atob(code).replaceAll(/^[\$>]\s+/gm, '')); copying = true; setTimeout(() => copying = false, 2000);"> <span :class="{ 'group-hover:block' : !copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M3e2-2e2q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h440q24 0 42 18t18 42v560q0 24-18 42t-42 18H3e2zM180-80q-24 0-42-18t-18-42v-590q0-13 8.5-21.5T150-760t21.5 8.5T180-730v590h470q13 0 21.5 8.5T680-110t-8.5 21.5T650-80H180z"/></svg></span> <span :class="{ 'group-hover:block' : copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m421-389-98-98q-9-9-22-9t-23 10q-9 9-9 22t9 22l122 123q9 9 21 9t21-9l239-239q10-10 10-23t-10-23q-10-9-23.5-8.5T635-603L421-389zm59 309q-82 0-155-31.5t-127.5-86-86-127.5T80-480q0-83 31.5-156t86-127T325-848.5 480-880q83 0 156 31.5T763-763t85.5 127T880-480q0 82-31.5 155T763-197.5t-127 86T480-80z"/></svg></span></button><div class="syntax-light dark:syntax-dark"><div class=highlight><pre tabindex=0 class=chroma><code class=language-dockerfile data-lang=dockerfile><span class=line><span class=cl><span class=c># syntax=docker/dockerfile:1</span><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>FROM</span><span class=s> --platform=$BUILDPLATFORM golang:alpine AS build</span><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>ARG</span> TARGETPLATFORM<span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>ARG</span> BUILDPLATFORM<span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>RUN</span> <span class=nb>echo</span> <span class=s2>"I am running on </span><span class=nv>$BUILDPLATFORM</span><span class=s2>, building for </span><span class=nv>$TARGETPLATFORM</span><span class=s2>"</span> > /log<span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>FROM</span><span class=s> alpine</span><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>COPY</span> --from<span class=o>=</span>build /log /log</span></span></code></pre></div></div></div></div><h2 class=scroll-mt-20 id=examples><a class="text-black dark:text-white no-underline hover:underline" href=#examples>Examples</a></h2><p>Here are some examples of multi-platform builds:</p><ul><li><a class=link href=#simple-multi-platform-build-using-emulation>Simple multi-platform build using emulation</a></li><li><a class=link href=#multi-platform-neovim-build-using-docker-build-cloud>Multi-platform Neovim build using Docker Build Cloud</a></li><li><a class=link href=#cross-compiling-a-go-application>Cross-compiling a Go application</a></li></ul><h3 class=scroll-mt-20 id=simple-multi-platform-build-using-emulation><a class="text-black dark:text-white no-underline hover:underline" href=#simple-multi-platform-build-using-emulation>Simple multi-platform build using emulation</a></h3><p>This example demonstrates how to build a simple multi-platform image using emulation with QEMU. The image contains a single file that prints the architecture of the container.</p><p>Prerequisites:</p><ul><li>Docker Desktop, or Docker Engine with <a class=link href=#install-qemu-manually>QEMU installed</a></li><li>containerd image store enabled</li></ul><p>Steps:</p><ol><li><p>Create an empty directory and navigate to it:</p><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'JCBta2RpciBtdWx0aS1wbGF0Zm9ybQokIGNkIG11bHRpLXBsYXRmb3Jt', copying: false }" class="absolute right-3 top-3 z-10 text-gray-light-300 dark:text-gray-dark-600" title=copy @click="window.navigator.clipboard.writeText(atob(code).replaceAll(/^[\$>]\s+/gm, '')); copying = true; setTimeout(() => copying = false, 2000);"> <span :class="{ 'group-hover:block' : !copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M3e2-2e2q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h440q24 0 42 18t18 42v560q0 24-18 42t-42 18H3e2zM180-80q-24 0-42-18t-18-42v-590q0-13 8.5-21.5T150-760t21.5 8.5T180-730v590h470q13 0 21.5 8.5T680-110t-8.5 21.5T650-80H180z"/></svg></span> <span :class="{ 'group-hover:block' : copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m421-389-98-98q-9-9-22-9t-23 10q-9 9-9 22t9 22l122 123q9 9 21 9t21-9l239-239q10-10 10-23t-10-23q-10-9-23.5-8.5T635-603L421-389zm59 309q-82 0-155-31.5t-127.5-86-86-127.5T80-480q0-83 31.5-156t86-127T325-848.5 480-880q83 0 156 31.5T763-763t85.5 127T880-480q0 82-31.5 155T763-197.5t-127 86T480-80z"/></svg></span></button><div class="syntax-light dark:syntax-dark"><div class=highlight><pre tabindex=0 class=chroma><code class=language-console data-lang=console><span class=line><span class=cl><span class=gp>$</span> mkdir multi-platform </span></span><span class=line><span class=cl><span class=gp>$</span> <span class=nb>cd</span> multi-platform </span></span></code></pre></div></div></div></div></li><li><p>Create a simple Dockerfile that prints the architecture of the container:</p><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'IyBzeW50YXg9ZG9ja2VyL2RvY2tlcmZpbGU6MQpGUk9NIGFscGluZQpSVU4gdW5hbWUgLW0gPiAvYXJjaA==', copying: false }" class="absolute right-3 top-3 z-10 text-gray-light-300 dark:text-gray-dark-600" title=copy @click="window.navigator.clipboard.writeText(atob(code).replaceAll(/^[\$>]\s+/gm, '')); copying = true; setTimeout(() => copying = false, 2000);"> <span :class="{ 'group-hover:block' : !copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M3e2-2e2q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h440q24 0 42 18t18 42v560q0 24-18 42t-42 18H3e2zM180-80q-24 0-42-18t-18-42v-590q0-13 8.5-21.5T150-760t21.5 8.5T180-730v590h470q13 0 21.5 8.5T680-110t-8.5 21.5T650-80H180z"/></svg></span> <span :class="{ 'group-hover:block' : copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m421-389-98-98q-9-9-22-9t-23 10q-9 9-9 22t9 22l122 123q9 9 21 9t21-9l239-239q10-10 10-23t-10-23q-10-9-23.5-8.5T635-603L421-389zm59 309q-82 0-155-31.5t-127.5-86-86-127.5T80-480q0-83 31.5-156t86-127T325-848.5 480-880q83 0 156 31.5T763-763t85.5 127T880-480q0 82-31.5 155T763-197.5t-127 86T480-80z"/></svg></span></button><div class="syntax-light dark:syntax-dark"><div class=highlight><pre tabindex=0 class=chroma><code class=language-dockerfile data-lang=dockerfile><span class=line><span class=cl><span class=c># syntax=docker/dockerfile:1</span><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>FROM</span><span class=s> alpine</span><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>RUN</span> uname -m > /arch</span></span></code></pre></div></div></div></div></li><li><p>Build the image for <code>linux/amd64</code> and <code>linux/arm64</code>:</p><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'JCBkb2NrZXIgYnVpbGQgLS1wbGF0Zm9ybSBsaW51eC9hbWQ2NCxsaW51eC9hcm02NCAtdCBtdWx0aS1wbGF0Zm9ybSAu', copying: false }" class="absolute right-3 top-3 z-10 text-gray-light-300 dark:text-gray-dark-600" title=copy @click="window.navigator.clipboard.writeText(atob(code).replaceAll(/^[\$>]\s+/gm, '')); copying = true; setTimeout(() => copying = false, 2000);"> <span :class="{ 'group-hover:block' : !copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M3e2-2e2q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h440q24 0 42 18t18 42v560q0 24-18 42t-42 18H3e2zM180-80q-24 0-42-18t-18-42v-590q0-13 8.5-21.5T150-760t21.5 8.5T180-730v590h470q13 0 21.5 8.5T680-110t-8.5 21.5T650-80H180z"/></svg></span> <span :class="{ 'group-hover:block' : copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m421-389-98-98q-9-9-22-9t-23 10q-9 9-9 22t9 22l122 123q9 9 21 9t21-9l239-239q10-10 10-23t-10-23q-10-9-23.5-8.5T635-603L421-389zm59 309q-82 0-155-31.5t-127.5-86-86-127.5T80-480q0-83 31.5-156t86-127T325-848.5 480-880q83 0 156 31.5T763-763t85.5 127T880-480q0 82-31.5 155T763-197.5t-127 86T480-80z"/></svg></span></button><div class="syntax-light dark:syntax-dark"><div class=highlight><pre tabindex=0 class=chroma><code class=language-console data-lang=console><span class=line><span class=cl><span class=gp>$</span> docker build --platform linux/amd64,linux/arm64 -t multi-platform . </span></span></code></pre></div></div></div></div></li><li><p>Run the image and print the architecture:</p><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'JCBkb2NrZXIgcnVuIC0tcm0gbXVsdGktcGxhdGZvcm0gY2F0IC9hcmNo', copying: false }" class="absolute right-3 top-3 z-10 text-gray-light-300 dark:text-gray-dark-600" title=copy @click="window.navigator.clipboard.writeText(atob(code).replaceAll(/^[\$>]\s+/gm, '')); copying = true; setTimeout(() => copying = false, 2000);"> <span :class="{ 'group-hover:block' : !copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M3e2-2e2q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h440q24 0 42 18t18 42v560q0 24-18 42t-42 18H3e2zM180-80q-24 0-42-18t-18-42v-590q0-13 8.5-21.5T150-760t21.5 8.5T180-730v590h470q13 0 21.5 8.5T680-110t-8.5 21.5T650-80H180z"/></svg></span> <span :class="{ 'group-hover:block' : copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m421-389-98-98q-9-9-22-9t-23 10q-9 9-9 22t9 22l122 123q9 9 21 9t21-9l239-239q10-10 10-23t-10-23q-10-9-23.5-8.5T635-603L421-389zm59 309q-82 0-155-31.5t-127.5-86-86-127.5T80-480q0-83 31.5-156t86-127T325-848.5 480-880q83 0 156 31.5T763-763t85.5 127T880-480q0 82-31.5 155T763-197.5t-127 86T480-80z"/></svg></span></button><div class="syntax-light dark:syntax-dark"><div class=highlight><pre tabindex=0 class=chroma><code class=language-console data-lang=console><span class=line><span class=cl><span class=gp>$</span> docker run --rm multi-platform cat /arch </span></span></code></pre></div></div></div></div><ul><li>If you're running on an x86-64 machine, you should see <code>x86_64</code>.</li><li>If you're running on an ARM machine, you should see <code>aarch64</code>.</li></ul></li></ol><h3 class=scroll-mt-20 id=multi-platform-neovim-build-using-docker-build-cloud><a class="text-black dark:text-white no-underline hover:underline" href=#multi-platform-neovim-build-using-docker-build-cloud>Multi-platform Neovim build using Docker Build Cloud</a></h3><p>This example demonstrates how run a multi-platform build using Docker Build Cloud to compile and export <a class=link href=https://github.com/neovim/neovim rel=noopener>Neovim<span class="pl-1 icon-svg icon-sm"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M180-120q-24 0-42-18t-18-42v-6e2q0-24 18-42t42-18h249q12.75.0 21.38 8.68 8.62 8.67 8.62 21.5.0 12.82-8.62 21.32-8.63 8.5-21.38 8.5H180v6e2h6e2v-249q0-12.75 8.68-21.38 8.67-8.62 21.5-8.62 12.82.0 21.32 8.62 8.5 8.63 8.5 21.38v249q0 24-18 42t-42 18H180zm6e2-617L403-360q-9 9-21 8.5t-21-9.5-9-21 9-21l377-377H549q-12.75.0-21.37-8.68-8.63-8.67-8.63-21.5.0-12.82 8.63-21.32 8.62-8.5 21.37-8.5h261q12.75.0 21.38 8.62Q840-822.75 840-810v261q0 12.75-8.68 21.37-8.67 8.63-21.5 8.63-12.82.0-21.32-8.63-8.5-8.62-8.5-21.37v-188z"/></svg></span></a> binaries for the <code>linux/amd64</code> and <code>linux/arm64</code> platforms.</p><p>Docker Build Cloud provides managed multi-node builders that support native multi-platform builds without the need for emulation, making it much faster to do CPU-intensive tasks like compilation.</p><p>Prerequisites:</p><ul><li>You've <a class=link href=https://docs.docker.com/build-cloud/setup/>signed up for Docker Build Cloud and created a builder</a></li></ul><p>Steps:</p><ol><li><p>Create an empty directory and navigate to it:</p><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'JCBta2RpciBkb2NrZXItYnVpbGQtbmVvdmltCiQgY2QgZG9ja2VyLWJ1aWxkLW5lb3ZpbQ==', copying: false }" class="absolute right-3 top-3 z-10 text-gray-light-300 dark:text-gray-dark-600" title=copy @click="window.navigator.clipboard.writeText(atob(code).replaceAll(/^[\$>]\s+/gm, '')); copying = true; setTimeout(() => copying = false, 2000);"> <span :class="{ 'group-hover:block' : !copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M3e2-2e2q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h440q24 0 42 18t18 42v560q0 24-18 42t-42 18H3e2zM180-80q-24 0-42-18t-18-42v-590q0-13 8.5-21.5T150-760t21.5 8.5T180-730v590h470q13 0 21.5 8.5T680-110t-8.5 21.5T650-80H180z"/></svg></span> <span :class="{ 'group-hover:block' : copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m421-389-98-98q-9-9-22-9t-23 10q-9 9-9 22t9 22l122 123q9 9 21 9t21-9l239-239q10-10 10-23t-10-23q-10-9-23.5-8.5T635-603L421-389zm59 309q-82 0-155-31.5t-127.5-86-86-127.5T80-480q0-83 31.5-156t86-127T325-848.5 480-880q83 0 156 31.5T763-763t85.5 127T880-480q0 82-31.5 155T763-197.5t-127 86T480-80z"/></svg></span></button><div class="syntax-light dark:syntax-dark"><div class=highlight><pre tabindex=0 class=chroma><code class=language-console data-lang=console><span class=line><span class=cl><span class=gp>$</span> mkdir docker-build-neovim </span></span><span class=line><span class=cl><span class=gp>$</span> <span class=nb>cd</span> docker-build-neovim </span></span></code></pre></div></div></div></div></li><li><p>Create a Dockerfile that builds Neovim.</p><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'IyBzeW50YXg9ZG9ja2VyL2RvY2tlcmZpbGU6MQpGUk9NIGRlYmlhbjpib29rd29ybSBBUyBidWlsZApXT1JLRElSIC93b3JrClJVTiAtLW1vdW50PXR5cGU9Y2FjaGUsdGFyZ2V0PS92YXIvY2FjaGUvYXB0LHNoYXJpbmc9bG9ja2VkIFwKICAgIC0tbW91bnQ9dHlwZT1jYWNoZSx0YXJnZXQ9L3Zhci9saWIvYXB0LHNoYXJpbmc9bG9ja2VkIFwKICAgIGFwdC1nZXQgdXBkYXRlICYmIGFwdC1nZXQgaW5zdGFsbCAteSBcCiAgICBidWlsZC1lc3NlbnRpYWwgXAogICAgY21ha2UgXAogICAgY3VybCBcCiAgICBnZXR0ZXh0IFwKICAgIG5pbmphLWJ1aWxkIFwKICAgIHVuemlwCkFERCBodHRwczovL2dpdGh1Yi5jb20vbmVvdmltL25lb3ZpbS5naXQjc3RhYmxlIC4KUlVOIG1ha2UgQ01BS0VfQlVJTERfVFlQRT1SZWxXaXRoRGViSW5mbwoKRlJPTSBzY3JhdGNoCkNPUFkgLS1mcm9tPWJ1aWxkIC93b3JrL2J1aWxkL2Jpbi9udmltIC8=', copying: false }" class="absolute right-3 top-3 z-10 text-gray-light-300 dark:text-gray-dark-600" title=copy @click="window.navigator.clipboard.writeText(atob(code).replaceAll(/^[\$>]\s+/gm, '')); copying = true; setTimeout(() => copying = false, 2000);"> <span :class="{ 'group-hover:block' : !copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M3e2-2e2q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h440q24 0 42 18t18 42v560q0 24-18 42t-42 18H3e2zM180-80q-24 0-42-18t-18-42v-590q0-13 8.5-21.5T150-760t21.5 8.5T180-730v590h470q13 0 21.5 8.5T680-110t-8.5 21.5T650-80H180z"/></svg></span> <span :class="{ 'group-hover:block' : copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m421-389-98-98q-9-9-22-9t-23 10q-9 9-9 22t9 22l122 123q9 9 21 9t21-9l239-239q10-10 10-23t-10-23q-10-9-23.5-8.5T635-603L421-389zm59 309q-82 0-155-31.5t-127.5-86-86-127.5T80-480q0-83 31.5-156t86-127T325-848.5 480-880q83 0 156 31.5T763-763t85.5 127T880-480q0 82-31.5 155T763-197.5t-127 86T480-80z"/></svg></span></button><div class="syntax-light dark:syntax-dark"><div class=highlight><pre tabindex=0 class=chroma><code class=language-dockerfile data-lang=dockerfile><span class=line><span class=cl><span class=c># syntax=docker/dockerfile:1</span><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>FROM</span><span class=s> debian:bookworm AS build</span><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>WORKDIR</span><span class=s> /work</span><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>RUN</span> --mount<span class=o>=</span><span class=nv>type</span><span class=o>=</span>cache,target<span class=o>=</span>/var/cache/apt,sharing<span class=o>=</span>locked <span class=se>\ </span></span></span><span class=line><span class=cl><span class=se></span> --mount<span class=o>=</span><span class=nv>type</span><span class=o>=</span>cache,target<span class=o>=</span>/var/lib/apt,sharing<span class=o>=</span>locked <span class=se>\ </span></span></span><span class=line><span class=cl><span class=se></span> apt-get update <span class=o>&&</span> apt-get install -y <span class=se>\ </span></span></span><span class=line><span class=cl><span class=se></span> build-essential <span class=se>\ </span></span></span><span class=line><span class=cl><span class=se></span> cmake <span class=se>\ </span></span></span><span class=line><span class=cl><span class=se></span> curl <span class=se>\ </span></span></span><span class=line><span class=cl><span class=se></span> gettext <span class=se>\ </span></span></span><span class=line><span class=cl><span class=se></span> ninja-build <span class=se>\ </span></span></span><span class=line><span class=cl><span class=se></span> unzip<span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>ADD</span> https://github.com/neovim/neovim.git#stable .<span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>RUN</span> make <span class=nv>CMAKE_BUILD_TYPE</span><span class=o>=</span>RelWithDebInfo<span class=err> </span></span></span><span class=line><span class=cl><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>FROM</span><span class=s> scratch</span><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>COPY</span> --from<span class=o>=</span>build /work/build/bin/nvim /</span></span></code></pre></div></div></div></div></li><li><p>Build the image for <code>linux/amd64</code> and <code>linux/arm64</code> using Docker Build Cloud:</p><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'JCBkb2NrZXIgYnVpbGQgXAogICAtLWJ1aWxkZXIgPGNsb3VkLWJ1aWxkZXI+IFwKICAgLS1wbGF0Zm9ybSBsaW51eC9hbWQ2NCxsaW51eC9hcm02NCBcCiAgIC0tb3V0cHV0IC4vYmluIC4=', copying: false }" class="absolute right-3 top-3 z-10 text-gray-light-300 dark:text-gray-dark-600" title=copy @click="window.navigator.clipboard.writeText(atob(code).replaceAll(/^[\$>]\s+/gm, '')); copying = true; setTimeout(() => copying = false, 2000);"> <span :class="{ 'group-hover:block' : !copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M3e2-2e2q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h440q24 0 42 18t18 42v560q0 24-18 42t-42 18H3e2zM180-80q-24 0-42-18t-18-42v-590q0-13 8.5-21.5T150-760t21.5 8.5T180-730v590h470q13 0 21.5 8.5T680-110t-8.5 21.5T650-80H180z"/></svg></span> <span :class="{ 'group-hover:block' : copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m421-389-98-98q-9-9-22-9t-23 10q-9 9-9 22t9 22l122 123q9 9 21 9t21-9l239-239q10-10 10-23t-10-23q-10-9-23.5-8.5T635-603L421-389zm59 309q-82 0-155-31.5t-127.5-86-86-127.5T80-480q0-83 31.5-156t86-127T325-848.5 480-880q83 0 156 31.5T763-763t85.5 127T880-480q0 82-31.5 155T763-197.5t-127 86T480-80z"/></svg></span></button><div class="syntax-light dark:syntax-dark"><div class=highlight><pre tabindex=0 class=chroma><code class=language-console data-lang=console><span class=line><span class=cl><span class=gp>$</span> docker build <span class=se>\ </span></span></span><span class=line><span class=cl><span class=se></span><span class=go> --builder <cloud-builder> \ </span></span></span><span class=line><span class=cl><span class=go> --platform linux/amd64,linux/arm64 \ </span></span></span><span class=line><span class=cl><span class=go> --output ./bin . </span></span></span></code></pre></div></div></div></div><p>This command builds the image using the cloud builder and exports the binaries to the <code>bin</code> directory.</p></li><li><p>Verify that the binaries are built for both platforms. You should see the <code>nvim</code> binary for both <code>linux/amd64</code> and <code>linux/arm64</code>.</p><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'JCB0cmVlIC4vYmluCi4vYmluCuKUnOKUgOKUgCBsaW51eF9hbWQ2NArilILCoMKgIOKUlOKUgOKUgCBudmltCuKUlOKUgOKUgCBsaW51eF9hcm02NAogICAg4pSU4pSA4pSAIG52aW0KCjMgZGlyZWN0b3JpZXMsIDIgZmlsZXM=', copying: false }" class="absolute right-3 top-3 z-10 text-gray-light-300 dark:text-gray-dark-600" title=copy @click="window.navigator.clipboard.writeText(atob(code).replaceAll(/^[\$>]\s+/gm, '')); copying = true; setTimeout(() => copying = false, 2000);"> <span :class="{ 'group-hover:block' : !copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M3e2-2e2q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h440q24 0 42 18t18 42v560q0 24-18 42t-42 18H3e2zM180-80q-24 0-42-18t-18-42v-590q0-13 8.5-21.5T150-760t21.5 8.5T180-730v590h470q13 0 21.5 8.5T680-110t-8.5 21.5T650-80H180z"/></svg></span> <span :class="{ 'group-hover:block' : copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m421-389-98-98q-9-9-22-9t-23 10q-9 9-9 22t9 22l122 123q9 9 21 9t21-9l239-239q10-10 10-23t-10-23q-10-9-23.5-8.5T635-603L421-389zm59 309q-82 0-155-31.5t-127.5-86-86-127.5T80-480q0-83 31.5-156t86-127T325-848.5 480-880q83 0 156 31.5T763-763t85.5 127T880-480q0 82-31.5 155T763-197.5t-127 86T480-80z"/></svg></span></button><div class="syntax-light dark:syntax-dark"><div class=highlight><pre tabindex=0 class=chroma><code class=language-console data-lang=console><span class=line><span class=cl><span class=gp>$</span> tree ./bin </span></span><span class=line><span class=cl><span class=go>./bin </span></span></span><span class=line><span class=cl><span class=go>├── linux_amd64 </span></span></span><span class=line><span class=cl><span class=go>│ └── nvim </span></span></span><span class=line><span class=cl><span class=go>└── linux_arm64 </span></span></span><span class=line><span class=cl><span class=go> └── nvim </span></span></span><span class=line><span class=cl><span class=go></span><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=go>3 directories, 2 files </span></span></span></code></pre></div></div></div></div></li></ol><h3 class=scroll-mt-20 id=cross-compiling-a-go-application><a class="text-black dark:text-white no-underline hover:underline" href=#cross-compiling-a-go-application>Cross-compiling a Go application</a></h3><p>This example demonstrates how to cross-compile a Go application for multiple platforms using multi-stage builds. The application is a simple HTTP server that listens on port 8080 and returns the architecture of the container. This example uses Go, but the same principles apply to other programming languages that support cross-compilation.</p><p>Cross-compilation with Docker builds works by leveraging a series of pre-defined (in BuildKit) build arguments that give you information about platforms of the builder and the build targets. You can use these pre-defined arguments to pass the platform information to the compiler.</p><p>In Go, you can use the <code>GOOS</code> and <code>GOARCH</code> environment variables to specify the target platform to build for.</p><p>Prerequisites:</p><ul><li>Docker Desktop or Docker Engine</li></ul><p>Steps:</p><ol><li><p>Create an empty directory and navigate to it:</p><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'JCBta2RpciBnby1zZXJ2ZXIKJCBjZCBnby1zZXJ2ZXI=', copying: false }" class="absolute right-3 top-3 z-10 text-gray-light-300 dark:text-gray-dark-600" title=copy @click="window.navigator.clipboard.writeText(atob(code).replaceAll(/^[\$>]\s+/gm, '')); copying = true; setTimeout(() => copying = false, 2000);"> <span :class="{ 'group-hover:block' : !copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M3e2-2e2q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h440q24 0 42 18t18 42v560q0 24-18 42t-42 18H3e2zM180-80q-24 0-42-18t-18-42v-590q0-13 8.5-21.5T150-760t21.5 8.5T180-730v590h470q13 0 21.5 8.5T680-110t-8.5 21.5T650-80H180z"/></svg></span> <span :class="{ 'group-hover:block' : copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m421-389-98-98q-9-9-22-9t-23 10q-9 9-9 22t9 22l122 123q9 9 21 9t21-9l239-239q10-10 10-23t-10-23q-10-9-23.5-8.5T635-603L421-389zm59 309q-82 0-155-31.5t-127.5-86-86-127.5T80-480q0-83 31.5-156t86-127T325-848.5 480-880q83 0 156 31.5T763-763t85.5 127T880-480q0 82-31.5 155T763-197.5t-127 86T480-80z"/></svg></span></button><div class="syntax-light dark:syntax-dark"><div class=highlight><pre tabindex=0 class=chroma><code class=language-console data-lang=console><span class=line><span class=cl><span class=gp>$</span> mkdir go-server </span></span><span class=line><span class=cl><span class=gp>$</span> <span class=nb>cd</span> go-server </span></span></code></pre></div></div></div></div></li><li><p>Create a base Dockerfile that builds the Go application:</p><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'IyBzeW50YXg9ZG9ja2VyL2RvY2tlcmZpbGU6MQpGUk9NIGdvbGFuZzphbHBpbmUgQVMgYnVpbGQKV09SS0RJUiAvYXBwCkFERCBodHRwczovL2dpdGh1Yi5jb20vZHZka3NuL2J1aWxkbWUuZ2l0I2ViNjI3OWUwYWQ4YTEwMDAzNzE4NjU2YzY4Njc1MzliZDk0MjZhZDggLgpSVU4gZ28gYnVpbGQgLW8gc2VydmVyIC4KCkZST00gYWxwaW5lCkNPUFkgLS1mcm9tPWJ1aWxkIC9hcHAvc2VydmVyIC9zZXJ2ZXIKRU5UUllQT0lOVCBbIi9zZXJ2ZXIiXQ==', copying: false }" class="absolute right-3 top-3 z-10 text-gray-light-300 dark:text-gray-dark-600" title=copy @click="window.navigator.clipboard.writeText(atob(code).replaceAll(/^[\$>]\s+/gm, '')); copying = true; setTimeout(() => copying = false, 2000);"> <span :class="{ 'group-hover:block' : !copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M3e2-2e2q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h440q24 0 42 18t18 42v560q0 24-18 42t-42 18H3e2zM180-80q-24 0-42-18t-18-42v-590q0-13 8.5-21.5T150-760t21.5 8.5T180-730v590h470q13 0 21.5 8.5T680-110t-8.5 21.5T650-80H180z"/></svg></span> <span :class="{ 'group-hover:block' : copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m421-389-98-98q-9-9-22-9t-23 10q-9 9-9 22t9 22l122 123q9 9 21 9t21-9l239-239q10-10 10-23t-10-23q-10-9-23.5-8.5T635-603L421-389zm59 309q-82 0-155-31.5t-127.5-86-86-127.5T80-480q0-83 31.5-156t86-127T325-848.5 480-880q83 0 156 31.5T763-763t85.5 127T880-480q0 82-31.5 155T763-197.5t-127 86T480-80z"/></svg></span></button><div class="syntax-light dark:syntax-dark"><div class=highlight><pre tabindex=0 class=chroma><code class=language-dockerfile data-lang=dockerfile><span class=line><span class=cl><span class=c># syntax=docker/dockerfile:1</span><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>FROM</span><span class=s> golang:alpine AS build</span><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>WORKDIR</span><span class=s> /app</span><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>ADD</span> https://github.com/dvdksn/buildme.git#eb6279e0ad8a10003718656c6867539bd9426ad8 .<span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>RUN</span> go build -o server .<span class=err> </span></span></span><span class=line><span class=cl><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>FROM</span><span class=s> alpine</span><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>COPY</span> --from<span class=o>=</span>build /app/server /server<span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>ENTRYPOINT</span> <span class=p>[</span><span class=s2>"/server"</span><span class=p>]</span></span></span></code></pre></div></div></div></div><p>This Dockerfile can't build multi-platform with cross-compilation yet. If you were to try to build this Dockerfile with <code>docker build</code>, the builder would attempt to use emulation to build the image for the specified platforms.</p></li><li><p>To add cross-compilation support, update the Dockerfile to use the pre-defined <code>BUILDPLATFORM</code> and <code>TARGETPLATFORM</code> build arguments. These arguments are automatically available in the Dockerfile when you use the <code>--platform</code> flag with <code>docker build</code>.</p><ul><li>Pin the <code>golang</code> image to the platform of the builder using the <code>--platform=$BUILDPLATFORM</code> option.</li><li>Add <code>ARG</code> instructions for the Go compilation stages to make the <code>TARGETOS</code> and <code>TARGETARCH</code> build arguments available to the commands in this stage.</li><li>Set the <code>GOOS</code> and <code>GOARCH</code> environment variables to the values of <code>TARGETOS</code> and <code>TARGETARCH</code>. The Go compiler uses these variables to do cross-compilation.</li></ul><div x-data="{ selected: 'Updated-Dockerfile' }" aria-role=tabpanel><div aria-role=tablist class=space-x-2><button class=p-1 :class="selected === 'Updated-Dockerfile' && 'border-blue-light-500 border-b-4 dark:border-b-blue-dark-600'" @click="selected = 'Updated-Dockerfile'"> Updated Dockerfile </button> <button class=p-1 :class="selected === 'Old-Dockerfile' && 'border-blue-light-500 border-b-4 dark:border-b-blue-dark-600'" @click="selected = 'Old-Dockerfile'"> Old Dockerfile </button> <button class=p-1 :class="selected === 'Diff' && 'border-blue-light-500 border-b-4 dark:border-b-blue-dark-600'" @click="selected = 'Diff'"> Diff</button></div><hr class=!mt-0><div><div aria-role=tab :class="selected !== 'Updated-Dockerfile' && 'hidden'"><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'IyBzeW50YXg9ZG9ja2VyL2RvY2tlcmZpbGU6MQpGUk9NIC0tcGxhdGZvcm09JEJVSUxEUExBVEZPUk0gZ29sYW5nOmFscGluZSBBUyBidWlsZApBUkcgVEFSR0VUT1MKQVJHIFRBUkdFVEFSQ0gKV09SS0RJUiAvYXBwCkFERCBodHRwczovL2dpdGh1Yi5jb20vZHZka3NuL2J1aWxkbWUuZ2l0I2ViNjI3OWUwYWQ4YTEwMDAzNzE4NjU2YzY4Njc1MzliZDk0MjZhZDggLgpSVU4gR09PUz0ke1RBUkdFVE9TfSBHT0FSQ0g9JHtUQVJHRVRBUkNIfSBnbyBidWlsZCAtbyBzZXJ2ZXIgLgoKRlJPTSBhbHBpbmUKQ09QWSAtLWZyb209YnVpbGQgL2FwcC9zZXJ2ZXIgL3NlcnZlcgpFTlRSWVBPSU5UIFsiL3NlcnZlciJd', copying: false }" class="absolute right-3 top-3 z-10 text-gray-light-300 dark:text-gray-dark-600" title=copy @click="window.navigator.clipboard.writeText(atob(code).replaceAll(/^[\$>]\s+/gm, '')); copying = true; setTimeout(() => copying = false, 2000);"> <span :class="{ 'group-hover:block' : !copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M3e2-2e2q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h440q24 0 42 18t18 42v560q0 24-18 42t-42 18H3e2zM180-80q-24 0-42-18t-18-42v-590q0-13 8.5-21.5T150-760t21.5 8.5T180-730v590h470q13 0 21.5 8.5T680-110t-8.5 21.5T650-80H180z"/></svg></span> <span :class="{ 'group-hover:block' : copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m421-389-98-98q-9-9-22-9t-23 10q-9 9-9 22t9 22l122 123q9 9 21 9t21-9l239-239q10-10 10-23t-10-23q-10-9-23.5-8.5T635-603L421-389zm59 309q-82 0-155-31.5t-127.5-86-86-127.5T80-480q0-83 31.5-156t86-127T325-848.5 480-880q83 0 156 31.5T763-763t85.5 127T880-480q0 82-31.5 155T763-197.5t-127 86T480-80z"/></svg></span></button><div class="syntax-light dark:syntax-dark"><div class=highlight><pre tabindex=0 class=chroma><code class=language-dockerfile data-lang=dockerfile><span class=line><span class=cl><span class=c># syntax=docker/dockerfile:1</span><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>FROM</span><span class=s> --platform=$BUILDPLATFORM golang:alpine AS build</span><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>ARG</span> TARGETOS<span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>ARG</span> TARGETARCH<span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>WORKDIR</span><span class=s> /app</span><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>ADD</span> https://github.com/dvdksn/buildme.git#eb6279e0ad8a10003718656c6867539bd9426ad8 .<span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>RUN</span> <span class=nv>GOOS</span><span class=o>=</span><span class=si>${</span><span class=nv>TARGETOS</span><span class=si>}</span> <span class=nv>GOARCH</span><span class=o>=</span><span class=si>${</span><span class=nv>TARGETARCH</span><span class=si>}</span> go build -o server .<span class=err> </span></span></span><span class=line><span class=cl><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>FROM</span><span class=s> alpine</span><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>COPY</span> --from<span class=o>=</span>build /app/server /server<span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>ENTRYPOINT</span> <span class=p>[</span><span class=s2>"/server"</span><span class=p>]</span></span></span></code></pre></div></div></div></div></div><div aria-role=tab :class="selected !== 'Old-Dockerfile' && 'hidden'"><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'IyBzeW50YXg9ZG9ja2VyL2RvY2tlcmZpbGU6MQpGUk9NIGdvbGFuZzphbHBpbmUgQVMgYnVpbGQKV09SS0RJUiAvYXBwCkFERCBodHRwczovL2dpdGh1Yi5jb20vZHZka3NuL2J1aWxkbWUuZ2l0I2ViNjI3OWUwYWQ4YTEwMDAzNzE4NjU2YzY4Njc1MzliZDk0MjZhZDggLgpSVU4gZ28gYnVpbGQgLW8gc2VydmVyIC4KCkZST00gYWxwaW5lCkNPUFkgLS1mcm9tPWJ1aWxkIC9hcHAvc2VydmVyIC9zZXJ2ZXIKRU5UUllQT0lOVCBbIi9zZXJ2ZXIiXQ==', copying: false }" class="absolute right-3 top-3 z-10 text-gray-light-300 dark:text-gray-dark-600" title=copy @click="window.navigator.clipboard.writeText(atob(code).replaceAll(/^[\$>]\s+/gm, '')); copying = true; setTimeout(() => copying = false, 2000);"> <span :class="{ 'group-hover:block' : !copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M3e2-2e2q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h440q24 0 42 18t18 42v560q0 24-18 42t-42 18H3e2zM180-80q-24 0-42-18t-18-42v-590q0-13 8.5-21.5T150-760t21.5 8.5T180-730v590h470q13 0 21.5 8.5T680-110t-8.5 21.5T650-80H180z"/></svg></span> <span :class="{ 'group-hover:block' : copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m421-389-98-98q-9-9-22-9t-23 10q-9 9-9 22t9 22l122 123q9 9 21 9t21-9l239-239q10-10 10-23t-10-23q-10-9-23.5-8.5T635-603L421-389zm59 309q-82 0-155-31.5t-127.5-86-86-127.5T80-480q0-83 31.5-156t86-127T325-848.5 480-880q83 0 156 31.5T763-763t85.5 127T880-480q0 82-31.5 155T763-197.5t-127 86T480-80z"/></svg></span></button><div class="syntax-light dark:syntax-dark"><div class=highlight><pre tabindex=0 class=chroma><code class=language-dockerfile data-lang=dockerfile><span class=line><span class=cl><span class=c># syntax=docker/dockerfile:1</span><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>FROM</span><span class=s> golang:alpine AS build</span><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>WORKDIR</span><span class=s> /app</span><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>ADD</span> https://github.com/dvdksn/buildme.git#eb6279e0ad8a10003718656c6867539bd9426ad8 .<span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>RUN</span> go build -o server .<span class=err> </span></span></span><span class=line><span class=cl><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>FROM</span><span class=s> alpine</span><span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>COPY</span> --from<span class=o>=</span>build /app/server /server<span class=err> </span></span></span><span class=line><span class=cl><span class=err></span><span class=k>ENTRYPOINT</span> <span class=p>[</span><span class=s2>"/server"</span><span class=p>]</span></span></span></code></pre></div></div></div></div></div><div aria-role=tab :class="selected !== 'Diff' && 'hidden'"><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'IyBzeW50YXg9ZG9ja2VyL2RvY2tlcmZpbGU6MQotRlJPTSBnb2xhbmc6YWxwaW5lIEFTIGJ1aWxkCitGUk9NIC0tcGxhdGZvcm09JEJVSUxEUExBVEZPUk0gZ29sYW5nOmFscGluZSBBUyBidWlsZAorQVJHIFRBUkdFVE9TCitBUkcgVEFSR0VUQVJDSApXT1JLRElSIC9hcHAKQUREIGh0dHBzOi8vZ2l0aHViLmNvbS9kdmRrc24vYnVpbGRtZS5naXQjZWI2Mjc5ZTBhZDhhMTAwMDM3MTg2NTZjNjg2NzUzOWJkOTQyNmFkOCAuCi1SVU4gZ28gYnVpbGQgLW8gc2VydmVyIC4KUlVOIEdPT1M9JHtUQVJHRVRPU30gR09BUkNIPSR7VEFSR0VUQVJDSH0gZ28gYnVpbGQgLW8gc2VydmVyIC4KCkZST00gYWxwaW5lCkNPUFkgLS1mcm9tPWJ1aWxkIC9hcHAvc2VydmVyIC9zZXJ2ZXIKRU5UUllQT0lOVCBbIi9zZXJ2ZXIiXQ==', copying: false }" class="absolute right-3 top-3 z-10 text-gray-light-300 dark:text-gray-dark-600" title=copy @click="window.navigator.clipboard.writeText(atob(code).replaceAll(/^[\$>]\s+/gm, '')); copying = true; setTimeout(() => copying = false, 2000);"> <span :class="{ 'group-hover:block' : !copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M3e2-2e2q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h440q24 0 42 18t18 42v560q0 24-18 42t-42 18H3e2zM180-80q-24 0-42-18t-18-42v-590q0-13 8.5-21.5T150-760t21.5 8.5T180-730v590h470q13 0 21.5 8.5T680-110t-8.5 21.5T650-80H180z"/></svg></span> <span :class="{ 'group-hover:block' : copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m421-389-98-98q-9-9-22-9t-23 10q-9 9-9 22t9 22l122 123q9 9 21 9t21-9l239-239q10-10 10-23t-10-23q-10-9-23.5-8.5T635-603L421-389zm59 309q-82 0-155-31.5t-127.5-86-86-127.5T80-480q0-83 31.5-156t86-127T325-848.5 480-880q83 0 156 31.5T763-763t85.5 127T880-480q0 82-31.5 155T763-197.5t-127 86T480-80z"/></svg></span></button><div class="syntax-light dark:syntax-dark"><div class=highlight><pre tabindex=0 class=chroma><code class=language-diff data-lang=diff><span class=line><span class=cl># syntax=docker/dockerfile:1 </span></span><span class=line><span class=cl><span class=gd>-FROM golang:alpine AS build </span></span></span><span class=line><span class=cl><span class=gd></span><span class=gi>+FROM --platform=$BUILDPLATFORM golang:alpine AS build </span></span></span><span class=line><span class=cl><span class=gi>+ARG TARGETOS </span></span></span><span class=line><span class=cl><span class=gi>+ARG TARGETARCH </span></span></span><span class=line><span class=cl><span class=gi></span>WORKDIR /app </span></span><span class=line><span class=cl>ADD https://github.com/dvdksn/buildme.git#eb6279e0ad8a10003718656c6867539bd9426ad8 . </span></span><span class=line><span class=cl><span class=gd>-RUN go build -o server . </span></span></span><span class=line><span class=cl><span class=gd></span>RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -o server . </span></span><span class=line><span class=cl> </span></span><span class=line><span class=cl>FROM alpine </span></span><span class=line><span class=cl>COPY --from=build /app/server /server </span></span><span class=line><span class=cl>ENTRYPOINT ["/server"] </span></span></code></pre></div></div></div></div></div></div><hr></div></li><li><p>Build the image for <code>linux/amd64</code> and <code>linux/arm64</code>:</p><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'JCBkb2NrZXIgYnVpbGQgLS1wbGF0Zm9ybSBsaW51eC9hbWQ2NCxsaW51eC9hcm02NCAtdCBnby1zZXJ2ZXIgLg==', copying: false }" class="absolute right-3 top-3 z-10 text-gray-light-300 dark:text-gray-dark-600" title=copy @click="window.navigator.clipboard.writeText(atob(code).replaceAll(/^[\$>]\s+/gm, '')); copying = true; setTimeout(() => copying = false, 2000);"> <span :class="{ 'group-hover:block' : !copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M3e2-2e2q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h440q24 0 42 18t18 42v560q0 24-18 42t-42 18H3e2zM180-80q-24 0-42-18t-18-42v-590q0-13 8.5-21.5T150-760t21.5 8.5T180-730v590h470q13 0 21.5 8.5T680-110t-8.5 21.5T650-80H180z"/></svg></span> <span :class="{ 'group-hover:block' : copying }" class="icon-svg hidden"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m421-389-98-98q-9-9-22-9t-23 10q-9 9-9 22t9 22l122 123q9 9 21 9t21-9l239-239q10-10 10-23t-10-23q-10-9-23.5-8.5T635-603L421-389zm59 309q-82 0-155-31.5t-127.5-86-86-127.5T80-480q0-83 31.5-156t86-127T325-848.5 480-880q83 0 156 31.5T763-763t85.5 127T880-480q0 82-31.5 155T763-197.5t-127 86T480-80z"/></svg></span></button><div class="syntax-light dark:syntax-dark"><div class=highlight><pre tabindex=0 class=chroma><code class=language-console data-lang=console><span class=line><span class=cl><span class=gp>$</span> docker build --platform linux/amd64,linux/arm64 -t go-server . </span></span></code></pre></div></div></div></div></li></ol><p>This example has shown how to cross-compile a Go application for multiple platforms with Docker builds. The specific steps on how to do cross-compilation may vary depending on the programming language you're using. Consult the documentation for your programming language to learn more about cross-compiling for different platforms.</p><blockquote class="px-4 border-l-4 border-green-light dark:border-green-dark"><p class="flex gap-2 items-center text-green-light dark:text-green-dark"><span class="icon-svg pb-1"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M480-80q-34 0-57.5-23.5T399-161h162q0 34-23.5 57.5T480-80zM348-223q-13 0-21.5-8.5T318-253t8.5-21.5T348-283h264q13 0 21.5 8.5T642-253t-8.5 21.5T612-223H348zm-25-121q-66-43-104.5-107.5T180-597q0-122 89-211t211-89 211 89 89 211q0 81-38 145.5T637-344H323z"/></svg> </span><strong>Tip</strong></p><p>You may also want to consider checking out <a class=link href=https://github.com/tonistiigi/xx rel=noopener>xx - Dockerfile cross-compilation helpers<span class="pl-1 icon-svg icon-sm"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M180-120q-24 0-42-18t-18-42v-6e2q0-24 18-42t42-18h249q12.75.0 21.38 8.68 8.62 8.67 8.62 21.5.0 12.82-8.62 21.32-8.63 8.5-21.38 8.5H180v6e2h6e2v-249q0-12.75 8.68-21.38 8.67-8.62 21.5-8.62 12.82.0 21.32 8.62 8.5 8.63 8.5 21.38v249q0 24-18 42t-42 18H180zm6e2-617L403-360q-9 9-21 8.5t-21-9.5-9-21 9-21l377-377H549q-12.75.0-21.37-8.68-8.63-8.67-8.63-21.5.0-12.82 8.63-21.32 8.62-8.5 21.37-8.5h261q12.75.0 21.38 8.62Q840-822.75 840-810v261q0 12.75-8.68 21.37-8.67 8.63-21.5 8.63-12.82.0-21.32-8.63-8.5-8.62-8.5-21.37v-188z"/></svg></span></a>. <code>xx</code> is a Docker image containing utility scripts that make cross-compiling with Docker builds easier.</p></blockquote></article><div class="hidden flex-1 min-w-52 lg:block -mr-8 -mt-8"><aside class="sticky top-16 h-[calc(100vh-64px)] min-w-52 space-y-4 overflow-y-auto py-4 w-full"><p class="flex items-center gap-2"><span class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M150-120q-13 0-21.5-8.5T120-150v-73q0-12 5-23.5t13-19.5l557-556q8-8 19-12.5t23-4.5q11 0 22 4.5t20 12.5l44 44q9 9 13 20t4 22-4.5 22.5T823-694L266-138q-8 8-19.5 13t-23.5 5h-73zm589-577 40-40-41-41-40 40 41 41z"/></svg></span> <a class=link rel=noopener href=https://github.com/docker/docs/edit/main/content/manuals/build/building/multi-platform.md>Edit this page<span class="icon-svg icon-sm"> <svg width="48" height="48" viewBox="0 -960 960 960"><path d="M180-120q-24 0-42-18t-18-42v-6e2q0-24 18-42t42-18h249q12.75.0 21.38 8.68 8.62 8.67 8.62 21.5.0 12.82-8.62 21.32-8.63 8.5-21.38 8.5H180v6e2h6e2v-249q0-12.75 8.68-21.38 8.67-8.62 21.5-8.62 12.82.0 21.32 8.62 8.5 8.63 8.5 21.38v249q0 24-18 42t-42 18H180zm6e2-617L403-360q-9 9-21 8.5t-21-9.5-9-21 9-21l377-377H549q-12.75.0-21.37-8.68-8.63-8.67-8.63-21.5.0-12.82 8.63-21.32 8.62-8.5 21.37-8.5h261q12.75.0 21.38 8.62Q840-822.75 840-810v261q0 12.75-8.68 21.37-8.67 8.63-21.5 8.63-12.82.0-21.32-8.63-8.5-8.62-8.5-21.37v-188z"/></svg></span></a></p><p class="flex items-center gap-2"><span class=icon-svg><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m378-332 363-363q9.27-9 21.64-9 12.36.0 21.36 9.05 9 9.06 9 21.5.0 12.45-9 21.45L399-267q-9 9-21 9t-21-9L175-449q-9-9.07-8.5-21.53.5-12.47 9.55-21.47 9.06-9 21.5-9 12.45.0 21.45 9l159 160z"/></svg></span> <a class=link rel=noopener href="https://github.com/docker/docs/issues/new?template=doc_issue.yml&location=https%3a%2f%2fdocs.docker.com%2fbuild%2fbuilding%2fmulti-platform%2f&labels=status%2Ftriage">Request changes<span class="icon-svg icon-sm"> <svg width="48" height="48" viewBox="0 -960 960 960"><path d="M180-120q-24 0-42-18t-18-42v-6e2q0-24 18-42t42-18h249q12.75.0 21.38 8.68 8.62 8.67 8.62 21.5.0 12.82-8.62 21.32-8.63 8.5-21.38 8.5H180v6e2h6e2v-249q0-12.75 8.68-21.38 8.67-8.62 21.5-8.62 12.82.0 21.32 8.62 8.5 8.63 8.5 21.38v249q0 24-18 42t-42 18H180zm6e2-617L403-360q-9 9-21 8.5t-21-9.5-9-21 9-21l377-377H549q-12.75.0-21.37-8.68-8.63-8.67-8.63-21.5.0-12.82 8.63-21.32 8.62-8.5 21.37-8.5h261q12.75.0 21.38 8.62Q840-822.75 840-810v261q0 12.75-8.68 21.37-8.67 8.63-21.5 8.63-12.82.0-21.32-8.63-8.5-8.62-8.5-21.37v-188z"/></svg></span></a></a></p><div id=TableOfContents><div data-pagefind-ignore class=not-prose><div class="text-lg pb-0 lg:pb-2">Table of contents</div><nav class=toc><ul class=pl-2><li><a class="link lg:no-underline" href=#why-multi-platform-builds>Why multi-platform builds?</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#difference-between-single-platform-and-multi-platform-images>Difference between single-platform and multi-platform images</a></li></ul><li><a class="link lg:no-underline" href=#prerequisites>Prerequisites</a></li><li><a class="link lg:no-underline" href=#build-multi-platform-images>Build multi-platform images</a></li><li><a class="link lg:no-underline" href=#strategies>Strategies</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#qemu>QEMU</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#multiple-native-nodes>Multiple native nodes</a></li><li><a class="link lg:no-underline" href=#cross-compilation>Cross-compilation</a></li></ul><li><a class="link lg:no-underline" href=#examples>Examples</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#simple-multi-platform-build-using-emulation>Simple multi-platform build using emulation</a></li><li><a class="link lg:no-underline" href=#multi-platform-neovim-build-using-docker-build-cloud>Multi-platform Neovim build using Docker Build Cloud</a></li><li><a class="link lg:no-underline" href=#cross-compiling-a-go-application>Cross-compiling a Go application</a></li></ul></ul></nav></div></div></aside></div></div></div></main><footer class=w-full><div class="flex justify-center py-20 px-4 bg-gray-light-100 dark:bg-gray-dark-200"><div class="flex w-full max-w-[840px] flex-col gap-10"><div class="flex flex-col md:flex-row gap-4 items-center justify-evenly"><a class="underline-offset-2 hover:underline" href=https://www.docker.com/>Product offerings</a> <a class="underline-offset-2 hover:underline" href=https://www.docker.com/pricing/>Pricing</a> <a class="underline-offset-2 hover:underline" href=https://www.docker.com/company/>About us</a> <a class="underline-offset-2 hover:underline" href=https://www.docker.com/support/>Support</a> <a class="underline-offset-2 hover:underline" href=https://github.com/docker/docs/blob/main/CONTRIBUTING.md>Contribute</a></div><hr class="text-divider-light dark:text-divider-dark"><div class="grid lg:grid-cols-3 place-items-center gap-8 grid-cols-1"><p class=text-sm>Copyright © 2013-2024 Docker Inc. All rights reserved.</p><div class="flex gap-4"><a class="h-8 w-8 rounded-full fill-blue-light dark:fill-blue-dark" title="X (Twitter)" href=http://twitter.com/docker/><svg viewBox="0 0 29 29"><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M14.62 13.41l-3.3-4.62H9.56l4.09 5.72.51.72 3.51 4.91h1.76l-4.29-6.01-.52-.72z"/><path d="M14.5.0A14.5 14.5.0 1029 14.5 14.5 14.5.0 0014.5.0zm2.63 20.94-3.55-5.05-4.43 5.05H8l5.07-5.77L8 7.94h3.87l3.36 4.78 4.2-4.78h1.15l-4.84 5.51L21 20.94z"/></g></g></svg> </a><a class="h-8 w-8 rounded-full fill-blue-light dark:fill-blue-dark" title=LinkedIn href=https://www.linkedin.com/company/docker><svg viewBox="0 0 24 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 24c6.627.0 12-5.373 12-12S18.627.0 12 0 0 5.373.0 12s5.373 12 12 12zM8.176 9.66H5.174v9.035h3.002V9.66zm-3.18-2.795c0-.885.671-1.56 1.699-1.56 1.027.0 1.66.675 1.679 1.56.0.867-.652 1.562-1.7 1.562h-.018c-1.008.0-1.66-.695-1.66-1.562zm7.845 4.074c.398-.614 1.112-1.49 2.706-1.49 1.976.0 3.457 1.29 3.457 4.065v5.18h-3.002v-4.833c0-1.214-.435-2.043-1.522-2.043-.829.0-1.323.559-1.54 1.098-.08.194-.099.463-.099.733v5.046H9.838s.04-8.187.0-9.035h3.003v1.28z"/></svg> </a><a class="h-8 w-8 rounded-full fill-blue-light dark:fill-blue-dark" title=Instagram href=https://www.instagram.com/dockerinc/><svg viewBox="0 0 24 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 24c6.627.0 12-5.373 12-12S18.627.0 12 0 0 5.373.0 12s5.373 12 12 12zM6.984 4.774c.485-.19 1.04-.32 1.853-.359.814-.039 1.074-.048 3.148-.052 2.075-.004 2.335.004 3.15.04.812.035 1.368.164 1.853.352.503.193.93.454 1.355.878s.687.849.883 1.35c.19.486.32 1.041.359 1.854.038.815.048 1.074.052 3.148s-.005 2.335-.04 3.15c-.036.812-.164 1.368-.352 1.854a3.737 3.737.0 01-.878 1.354 3.746 3.746.0 01-1.35.884c-.486.19-1.04.32-1.853.358-.815.039-1.075.048-3.15.052-2.073.004-2.333-.004-3.148-.04-.813-.036-1.369-.163-1.854-.351a3.746 3.746.0 01-1.355-.878 3.74 3.74.0 01-.883-1.352c-.19-.485-.32-1.04-.359-1.852-.039-.815-.048-1.075-.052-3.15-.004-2.073.004-2.333.04-3.148.036-.813.163-1.368.351-1.855.195-.502.455-.929.879-1.354a3.736 3.736.0 011.35-.883zm.523 13.189c.27.103.674.227 1.419.26.806.034 1.047.042 3.086.038 2.04-.004 2.28-.012 3.086-.05.744-.036 1.148-.16 1.417-.266.357-.14.61-.306.877-.573.267-.268.432-.522.57-.879.104-.27.228-.674.26-1.419.035-.805.043-1.047.039-3.086-.004-2.039-.012-2.28-.05-3.086-.036-.744-.16-1.149-.266-1.417a2.366 2.366.0 00-.573-.878 2.364 2.364.0 00-.88-.57c-.269-.103-.674-.227-1.418-.26-.805-.034-1.047-.042-3.086-.038-2.04.004-2.28.012-3.086.05-.744.036-1.148.16-1.417.266a2.38 2.38.0 00-.878.573 2.37 2.37.0 00-.57.88c-.103.269-.227.674-.26 1.418-.034.805-.042 1.047-.038 3.086.004 2.04.013 2.28.05 3.086.035.744.161 1.148.266 1.418.14.356.305.61.573.877.268.266.522.431.88.57zm8.563-9.131a.917.917.0 11-.003-1.833.917.917.0 01.003 1.833zm-4.063 7.09a3.921 3.921.0 11-.015-7.843 3.921 3.921.0 01.015 7.842zm-.012-6.468a2.546 2.546.0 10.01 5.092 2.546 2.546.0 00-.01-5.092z"/></svg> </a><a class="h-8 w-8 rounded-full fill-blue-light dark:fill-blue-dark" title=YouTube href=http://www.youtube.com/user/dockerrun><svg viewBox="0 0 24 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 24c6.627.0 12-5.373 12-12S18.627.0 12 0 0 5.373.0 12s5.373 12 12 12zm7.543-15.79a1.971 1.971.0 00-1.392-1.39C16.923 6.49 12 6.49 12 6.49s-4.924.0-6.152.33A1.972 1.972.0 004.457 8.21c-.33 1.229-.33 3.79-.33 3.79s0 2.562.33 3.79c.18.677.714 1.21 1.391 1.391 1.228.329 6.151.329 6.151.329s4.923.0 6.15-.329a1.972 1.972.0 001.393-1.392c.329-1.227.329-3.789.329-3.789s0-2.561-.33-3.79zm-9.117 6.151L14.516 12l-4.09-2.361v4.722z"/></svg> </a><a class="h-8 w-8 rounded-full fill-blue-light dark:fill-blue-dark" title=Facebook href=https://www.facebook.com/docker.run><svg viewBox="0 0 24 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M13.54 24c5.948-.736 10.552-5.807 10.552-11.954C24.092 5.393 18.699.0 12.046.0S0 5.393.0 12.046c0 5.842 4.158 10.712 9.677 11.813v-8.374H6.538v-3.573h3.139V9.188c0-3.098 1.845-4.81 4.669-4.81 1.352.0 2.767.242 2.767.242v3.042h-1.559c-1.536.0-2.014.953-2.014 1.93v2.32h3.428l-.548 3.573h-2.88V24z"/></svg></a></div><div class="flex items-center gap-4"><a class="underline-offset-2 hover:underline" title="Docker Terms of Service" href=https://www.docker.com/legal/docker-terms-service>Terms of Service</a> <a class="underline-offset-2 hover:underline" title="Docker Systems Status Page" href=https://www.dockerstatus.com/>Status</a> <a class="underline-offset-2 hover:underline" title="Docker Legal Terms" href=https://www.docker.com/legal>Legal</a></div></div><div class="flex justify-between items-center"><button type=button id=ot-sdk-btn class=ot-sdk-show-settings> Cookies Settings</button><div class="flex items-center gap-2"><span>Theme:</span> <button aria-label="Theme switch" id=theme-switch class="rounded bg-blue-light px-4 py-1 text-white transition hover:bg-blue-light-400 dark:bg-blue-dark-400 dark:hover:bg-blue-dark" x-data="{ theme: localStorage.getItem('theme-preference') }" x-init="$watch('theme', value => { localStorage.setItem('theme-preference', value); document.firstElementChild.className = value; })" @click="theme = (theme === 'dark' ? 'light' : 'dark')"> <span class="icon-svg icon-sm dark:hidden">Light <svg width="48" height="48" viewBox="0 -960 960 960"><path d="M480-280q-83 0-141.5-58.5T280-480t58.5-141.5T480-680t141.5 58.5T680-480t-58.5 141.5T480-280zM70-450q-12.75.0-21.37-8.68-8.63-8.67-8.63-21.5.0-12.82 8.63-21.32Q57.25-510 70-510h1e2q12.75.0 21.38 8.68 8.62 8.67 8.62 21.5.0 12.82-8.62 21.32-8.63 8.5-21.38 8.5H70zm720 0q-12.75.0-21.37-8.68-8.63-8.67-8.63-21.5.0-12.82 8.63-21.32 8.62-8.5 21.37-8.5h1e2q12.75.0 21.38 8.68 8.62 8.67 8.62 21.5.0 12.82-8.62 21.32-8.63 8.5-21.38 8.5H790zM479.82-760q-12.82.0-21.32-8.63-8.5-8.62-8.5-21.37v-1e2q0-12.75 8.68-21.38 8.67-8.62 21.5-8.62 12.82.0 21.32 8.62 8.5 8.63 8.5 21.38v1e2q0 12.75-8.68 21.37-8.67 8.63-21.5 8.63zm0 720Q467-40 458.5-48.63 450-57.25 450-70v-1e2q0-12.75 8.68-21.38 8.67-8.62 21.5-8.62 12.82.0 21.32 8.62 8.5 8.63 8.5 21.38v1e2q0 12.75-8.68 21.37-8.67 8.63-21.5 8.63zM240-678l-57-56q-9-9-8.63-21.6.37-12.61 8.53-21.5 8.89-8.9 21.5-8.9 12.6.0 21.6 9l56 57q8 9 8 21t-8 20.5-20.5 8.5-21.5-8zm494 495-56-57q-8-9-8-21.38.0-12.37 8.5-20.62 8.5-9 20.5-9t21 9l57 56q9 9 8.63 21.6-.37 12.61-8.53 21.5-8.89 8.9-21.5 8.9-12.6.0-21.6-9zm-56-495q-9-9-9-21t9-21l56-57q9-9 21.6-8.63 12.61.37 21.5 8.53 8.9 8.89 8.9 21.5.0 12.6-9 21.6l-57 56q-8 8-20.36 8-12.37.0-21.64-8zM182.9-182.9q-8.9-8.89-8.9-21.5.0-12.6 9-21.6l57-56q8.8-9 20.9-9 12.1.0 20.71 9 9.39 9 9.39 21t-9 21l-56 57q-9 9-21.6 8.63-12.61-.37-21.5-8.53z"/></svg></span> <span class="icon-svg icon-sm hidden dark:block">Dark <svg width="48" height="48" viewBox="0 -960 960 960"><path d="M480-120q-150 0-255-105T120-480q0-135 79.5-229T408-830q20-5 34-1t22 15q8 10 7.5 25t-8.5 35q-9 23-14 47t-5 49q0 90 63 153t153 63q25 0 48.5-4.5T754-461t38-7 26 9 13 23-2 36q-27 121-121 200.5T480-120z"/></svg></span></button></div></div></div></div></footer></body></html>