CINXE.COM
Release notes | 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>Release notes | Docker Docs</title><meta name=description content="Learn about the new features, bug fixes, and breaking changes for the newest Docker Compose release"><meta name=keywords content="release,notes,compose"><link rel=canonical href=https://docs.docker.com/compose/releases/release-notes/><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="Release notes"><meta name=twitter:description property="og:description" itemprop=description content="Learn about the new features, bug fixes, and breaking changes for the newest Docker Compose release"><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="Release notes"><meta property="og:description" content="Learn about the new features, bug fixes, and breaking changes for the newest Docker Compose release"><meta property="og:type" content="website"><meta property="og:updated_time" itemprop=dateUpdated content="2024-10-31 14:09:57 -0700 -0700"><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/compose/releases/release-notes/"><meta property="og:site_name" content="Docker Documentation"><meta property="article:published_time" itemprop=datePublished content="2024-10-31 14:09:57 -0700 -0700"><script type=application/ld+json>{"@context":"https://schema.org","@type":"WebPage","headline":"\"Release notes\"","description":"\"Learn about the new features, bug fixes, and breaking changes for the newest Docker Compose release\"","url":"https:\/\/docs.docker.com\/compose\/releases\/release-notes\/"}</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: 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/>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><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"> 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: 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"> 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><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/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"><a 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: 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/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 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"> 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: 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"> 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 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 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/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/compose/ class="link truncate">Docker Compose</a> <span>/</span> <a href class="link truncate">Releases</a> <span>/</span> <span data-pagefind-meta="breadcrumbs:Home / Manuals / Docker Compose / Releases" class=truncate>Release notes</span></nav><h1 data-pagefind-weight=10 class=scroll-mt-36>Docker Compose release notes</h1><div class=not-prose><a class="text-sm inline-flex items-center rounded-full border border-divider-light dark:border-divider-dark bg-gray-light-100 px-2 text-gray-light-800 dark:bg-gray-dark-200 dark:text-gray-dark-800 select-none" href=https://docs.docker.com/tags/release-notes/><span class="icon-svg icon-sm pb-0.5"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="m338-319-35 137q-2 10-9.5 16t-17.5 6q-14 0-23-11t-5-25l31-123H158q-14 0-23.5-11.5T129-356q2-10 10-16.5t19-6.5h136l51-202H224q-14 0-23.5-11.5T195-618q2-10 10-16.5t19-6.5h136l34-137q2-10 9.5-16t17.5-6q14 0 22.5 10.5T449-765l-30 124h203l34-137q2-10 9.5-16t17.5-6q14 0 22.5 10.5T711-765l-30 124h121q14 0 23.5 11.5T831-604q-2 10-10 16.5t-19 6.5H666l-51 202h121q14 0 23.5 11.5T765-342q-2 10-10 16.5t-19 6.5H6e2l-35 137q-2 10-9.5 16t-17.5 6q-14 0-23-11t-5-25l31-123H338zm15-60h203l51-202H404l-51 202z"/></svg> </span><span>Release notes</span></a></div><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=#2303>2.30.3</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2302>2.30.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-1>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-1>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2301>2.30.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-2>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-2>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2300>2.30.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-3>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-3>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2297>2.29.7</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-4>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2296>2.29.6</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-4>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-5>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2295>2.29.5</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-6>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2294>2.29.4</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-5>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-7>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2293>2.29.3</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-6>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-8>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2292>2.29.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-7>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-9>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2291>2.29.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-8>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-10>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2290>2.29.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-9>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-11>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2281>2.28.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-12>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2280>2.28.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-10>Update</a></li></ul><li><a class="link lg:no-underline" href=#2273>2.27.3</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-11>Update</a></li></ul><li><a class="link lg:no-underline" href=#2272>2.27.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-12>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-13>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2271>2.27.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-13>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-14>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2270>2.27.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-14>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-15>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2261>2.26.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-15>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-16>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2260>2.26.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-16>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-17>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2250>2.25.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-17>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-18>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2247>2.24.7</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-18>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-19>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2246>2.24.6</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-19>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-20>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2245>2.24.5</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-21>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2244>2.24.4</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-20>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-22>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2243>2.24.3</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-21>Update</a></li></ul><li><a class="link lg:no-underline" href=#2242>2.24.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-22>Update</a></li></ul><li><a class="link lg:no-underline" href=#2241>2.24.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-23>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-23>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2240>2.24.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-24>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-24>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2233>2.23.3</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-25>Update</a></li></ul><li><a class="link lg:no-underline" href=#2232>2.23.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-26>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-25>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2231>2.23.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-27>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-26>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2230>2.23.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-28>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-27>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2220>2.22.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-29>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-28>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2210>2.21.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-30>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-29>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2203>2.20.3</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-31>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-30>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2202>2.20.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-31>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2201>2.20.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-32>Update</a></li></ul><li><a class="link lg:no-underline" href=#2200>2.20.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-33>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-32>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2191>2.19.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-34>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-33>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2190>2.19.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-35>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-34>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2181>2.18.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-35>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2180>2.18.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-36>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-36>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2172>2.17.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-37>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-37>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2171>2.17.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-38>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-38>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2170>2.17.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#upgrade-notes>Upgrade notes</a></li><li><a class="link lg:no-underline" href=#update-39>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-39>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2160>2.16.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-40>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-40>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2151>2.15.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-41>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-41>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2150>2.15.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-42>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-42>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2142>2.14.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-43>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-43>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2141>2.14.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#updates>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-44>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2140>2.14.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#updates-1>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-45>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2130>2.13.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#updates-2>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-46>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2122>2.12.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#updates-3>Updates</a></li></ul><li><a class="link lg:no-underline" href=#2121>2.12.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#security>Security</a></li></ul><li><a class="link lg:no-underline" href=#2120>2.12.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#updates-4>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-47>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2112>2.11.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#updates-5>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-48>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2111>2.11.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-49>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2110>2.11.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#updates-6>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-50>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2102>2.10.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-51>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2101>2.10.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#updates-7>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-52>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2100>2.10.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new>New</a></li><li><a class="link lg:no-underline" href=#updates-8>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-53>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#290>2.9.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#updates-9>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-54>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#280>2.8.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-1>New</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-55>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#270>2.7.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-2>New</a></li><li><a class="link lg:no-underline" href=#updates-10>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-56>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#261>2.6.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-3>New</a></li><li><a class="link lg:no-underline" href=#updates-11>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-57>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#260>2.6.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-4>New</a></li><li><a class="link lg:no-underline" href=#updates-12>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-58>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#251>2.5.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#updates-13>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-59>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#250>2.5.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-60>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#241>2.4.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-61>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#240>2.4.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#updates-14>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-62>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#234>2.3.4</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-5>New</a></li><li><a class="link lg:no-underline" href=#removed>Removed</a></li><li><a class="link lg:no-underline" href=#updates-15>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-63>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#other-releases>Other Releases</a></li><li><a class="link lg:no-underline" href=#1292>1.29.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#miscellaneous>Miscellaneous</a></li></ul><li><a class="link lg:no-underline" href=#1291>1.29.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bugs>Bugs</a></li></ul><li><a class="link lg:no-underline" href=#1290>1.29.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#features>Features</a></li><li><a class="link lg:no-underline" href=#miscellaneous-1>Miscellaneous</a></li></ul><li><a class="link lg:no-underline" href=#1286>1.28.6</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes>Bug fixes</a></li><li><a class="link lg:no-underline" href=#miscellaneous-2>Miscellaneous</a></li></ul><li><a class="link lg:no-underline" href=#1285>1.28.5</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bugs-1>Bugs</a></li></ul><li><a class="link lg:no-underline" href=#1284>1.28.4</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-1>Bug fixes</a></li><li><a class="link lg:no-underline" href=#miscellaneous-3>Miscellaneous</a></li></ul><li><a class="link lg:no-underline" href=#1283>1.28.3</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-2>Bug fixes</a></li><li><a class="link lg:no-underline" href=#miscellaneous-4>Miscellaneous</a></li></ul><li><a class="link lg:no-underline" href=#1282>1.28.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-3>Bug fixes</a></li><li><a class="link lg:no-underline" href=#miscellaneous-5>Miscellaneous</a></li></ul><li><a class="link lg:no-underline" href=#1280>1.28.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#features-1>Features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-4>Bug fixes</a></li><li><a class="link lg:no-underline" href=#miscellaneous-6>Miscellaneous</a></li></ul><li><a class="link lg:no-underline" href=#1274>1.27.4</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-5>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1273>1.27.3</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-6>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1272>1.27.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-7>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1271>1.27.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-8>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1270>1.27.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#features-2>Features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-9>Bug fixes</a></li><li><a class="link lg:no-underline" href=#miscellaneous-7>Miscellaneous</a></li></ul><li><a class="link lg:no-underline" href=#1262>1.26.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-10>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1261>1.26.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#features-3>Features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-11>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1260>1.26.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#features-4>Features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-12>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1255>1.25.5</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#features-5>Features</a></li></ul><li><a class="link lg:no-underline" href=#1254>1.25.4</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-13>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1253>1.25.3</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-14>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1252>1.25.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features>New features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-15>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1251>1.25.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bugfixes>Bugfixes</a></li></ul><li><a class="link lg:no-underline" href=#1250>1.25.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-1>New features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-16>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1241>1.24.1</a></li><li><a class="link lg:no-underline" href=#1240>1.24.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#features-6>Features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-17>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1232>1.23.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-18>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1231>1.23.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-19>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1230>1.23.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#important-note>Important note</a></li><li><a class="link lg:no-underline" href=#features-7>Features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-20>Bug fixes</a></li><li><a class="link lg:no-underline" href=#miscellaneous-8>Miscellaneous</a></li></ul><li><a class="link lg:no-underline" href=#1220>1.22.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-2>New features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-21>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1212>1.21.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-22>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1211>1.21.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-23>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1210>1.21.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-3>New features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-24>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1200>1.20.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-4>New features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-25>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1190>1.19.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#breaking-changes>Breaking changes</a></li><li><a class="link lg:no-underline" href=#new-features-5>New features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-26>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1180>1.18.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-6>New features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-27>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1170>1.17.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-7>New features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-28>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1160>1.16.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-8>New features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-29>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1150>1.15.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-9>New features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-30>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1140>1.14.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-10>New features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-31>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1130>1.13.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#breaking-changes-1>Breaking changes</a></li><li><a class="link lg:no-underline" href=#new-features-11>New features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-32>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1120>1.12.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-12>New features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-33>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1112>1.11.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-34>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1111>1.11.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-35>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1110>1.11.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-13>New Features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-36>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1101>1.10.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-37>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1100>1.10.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-14>New Features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-38>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#190>1.9.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-15>New Features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-39>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#181>1.8.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-40>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#180>1.8.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#breaking-changes-2>Breaking Changes</a></li><li><a class="link lg:no-underline" href=#new-features-16>New Features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-41>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#171>1.7.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-42>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#170>1.7.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#breaking-changes-3>Breaking Changes</a></li><li><a class="link lg:no-underline" href=#new-features-17>New Features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-43>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#162>1.6.2</a></li><li><a class="link lg:no-underline" href=#161>1.6.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-44>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#160>1.6.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#major-features>Major Features</a></li><li><a class="link lg:no-underline" href=#new-features-18>New Features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-45>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#152>1.5.2</a></li><li><a class="link lg:no-underline" href=#151>1.5.1</a></li><li><a class="link lg:no-underline" href=#150>1.5.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#breaking-changes-4>Breaking changes</a></li><li><a class="link lg:no-underline" href=#major-features-1>Major features</a></li><li><a class="link lg:no-underline" href=#new-features-19>New features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-46>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#142>1.4.2</a></li><li><a class="link lg:no-underline" href=#141>1.4.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-47>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#140>1.4.0</a></li><li><a class="link lg:no-underline" href=#133>1.3.3</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#regression-fixes>Regression fixes</a></li></ul><li><a class="link lg:no-underline" href=#132>1.3.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-48>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#131>1.3.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-49>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#130>1.3.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#important-notes>Important notes</a></li><li><a class="link lg:no-underline" href=#improvements>Improvements</a></li><li><a class="link lg:no-underline" href=#new-features-20>New features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-50>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#120>1.2.0</a></li><li><a class="link lg:no-underline" href=#110>1.1.0</a></li><li><a class="link lg:no-underline" href=#101>1.0.1</a></li><li><a class="link lg:no-underline" href=#100>1.0.0</a></li><li><a class="link lg:no-underline" href=#052>0.5.2</a></li><li><a class="link lg:no-underline" href=#051>0.5.1</a></li><li><a class="link lg:no-underline" href=#050>0.5.0</a></li><li><a class="link lg:no-underline" href=#042>0.4.2</a></li><li><a class="link lg:no-underline" href=#041>0.4.1</a></li><li><a class="link lg:no-underline" href=#040>0.4.0</a></li><li><a class="link lg:no-underline" href=#032>0.3.2</a></li><li><a class="link lg:no-underline" href=#031>0.3.1</a></li><li><a class="link lg:no-underline" href=#030>0.3.0</a></li><li><a class="link lg:no-underline" href=#022>0.2.2</a></li><li><a class="link lg:no-underline" href=#021>0.2.1</a></li><li><a class="link lg:no-underline" href=#020>0.2.0</a></li><li><a class="link lg:no-underline" href=#014>0.1.4</a></li><li><a class="link lg:no-underline" href=#013>0.1.3</a></li><li><a class="link lg:no-underline" href=#012>0.1.2</a></li><li><a class="link lg:no-underline" href=#011>0.1.1</a></li><li><a class="link lg:no-underline" href=#010>0.1.0</a></li><li><a class="link lg:no-underline" href=#002>0.0.2</a></li><li><a class="link lg:no-underline" href=#001>0.0.1</a></li></ul></nav></div><hr></div><p>For more detailed information, see the <a class=link href=https://github.com/docker/compose/releases/ rel=noopener>release notes in the Compose repo<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>.</p><h2 class=scroll-mt-20 id=2303><a class="text-black dark:text-white no-underline hover:underline" href=#2303>2.30.3</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-11-07</em><h3 class=scroll-mt-20 id=update><a class="text-black dark:text-white no-underline hover:underline" href=#update>Update</a></h3><ul><li>Dependencies upgrade: bump compose-go to v2.4.4</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements>Bug fixes and enhancements</a></h3><ul><li>Fixed an issue re-starting services that should not when using <code>--watch</code></li><li>Improve the fix of using same YAML anchor multiple times in a Compose file</li></ul><h2 class=scroll-mt-20 id=2302><a class="text-black dark:text-white no-underline hover:underline" href=#2302>2.30.2</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-11-05</em><h3 class=scroll-mt-20 id=update-1><a class="text-black dark:text-white no-underline hover:underline" href=#update-1>Update</a></h3><ul><li>Dependencies upgrade: bump compose-go to v2.4.3</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-1><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-1>Bug fixes and enhancements</a></h3><ul><li>Fixed an issue re-creating services when updating its profiles</li><li>Fixed a regression when using the same YAML anchor multiple times in a Compose file</li></ul><h2 class=scroll-mt-20 id=2301><a class="text-black dark:text-white no-underline hover:underline" href=#2301>2.30.1</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-10-30</em><h3 class=scroll-mt-20 id=update-2><a class="text-black dark:text-white no-underline hover:underline" href=#update-2>Update</a></h3><ul><li>Dependencies upgrade: bump compose-go to v2.4.2</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-2><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-2>Bug fixes and enhancements</a></h3><ul><li>Fixed a regression when using stdin as input for <code>-f</code> flag</li><li>Fixed a regression when using the same YAML anchor multiple times in a Compose file</li></ul><h2 class=scroll-mt-20 id=2300><a class="text-black dark:text-white no-underline hover:underline" href=#2300>2.30.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-10-29</em><h3 class=scroll-mt-20 id=update-3><a class="text-black dark:text-white no-underline hover:underline" href=#update-3>Update</a></h3><ul><li>Dependencies upgrade: bump compose-go to v2.4.1</li><li>Dependencies upgrade: bump docker engine and cli to v27.3.1</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-3><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-3>Bug fixes and enhancements</a></h3><ul><li>Introduction of service hooks support.</li><li>Addition of alpha <code>generate</code> command.</li><li>Addition of <code>export</code> command.</li><li>Added support for CDI device requests using <code>devices</code> in the Compose file.</li><li>A lot a bug fixes.</li></ul><h2 class=scroll-mt-20 id=2297><a class="text-black dark:text-white no-underline hover:underline" href=#2297>2.29.7</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-09-20</em><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-4><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-4>Bug fixes and enhancements</a></h3><ul><li>Fixed a regression when using mount API for bind mounts.</li></ul><h2 class=scroll-mt-20 id=2296><a class="text-black dark:text-white no-underline hover:underline" href=#2296>2.29.6</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-09-19</em><h3 class=scroll-mt-20 id=update-4><a class="text-black dark:text-white no-underline hover:underline" href=#update-4>Update</a></h3><ul><li>Dependencies upgrade: bump docker engine and cli to v27.3.0-rc.2</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-5><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-5>Bug fixes and enhancements</a></h3><ul><li>Fixed an issue with Windows Containers bind mounts.</li></ul><h2 class=scroll-mt-20 id=2295><a class="text-black dark:text-white no-underline hover:underline" href=#2295>2.29.5</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-09-17</em><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-6><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-6>Bug fixes and enhancements</a></h3><ul><li>Fixed an issue with bind mounts on WSL2.</li></ul><h2 class=scroll-mt-20 id=2294><a class="text-black dark:text-white no-underline hover:underline" href=#2294>2.29.4</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-09-16</em><h3 class=scroll-mt-20 id=update-5><a class="text-black dark:text-white no-underline hover:underline" href=#update-5>Update</a></h3><ul><li>Dependencies upgrade: bump buildx to v0.17.1</li><li>Dependencies upgrade: bump docker engine and cli to v27.3.0-rc.1</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-7><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-7>Bug fixes and enhancements</a></h3><ul><li>Fixed an issue with services not stopping when restarting diverged dependencies.</li><li>Fixed potential <code>nil</code> pointer error on the OTEL client.</li></ul><h2 class=scroll-mt-20 id=2293><a class="text-black dark:text-white no-underline hover:underline" href=#2293>2.29.3</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-09-12</em><h3 class=scroll-mt-20 id=update-6><a class="text-black dark:text-white no-underline hover:underline" href=#update-6>Update</a></h3><ul><li>Dependencies upgrade: bump compose-go to v2.2.0</li><li>Dependencies upgrade: bump docker engine and cli to v27.2.1</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-8><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-8>Bug fixes and enhancements</a></h3><ul><li>Combination of bind mount and <code>rebuild</code> are now allowed with <code>watch</code>.</li><li>Fixed a bug recreating containers when <code>--no-deps</code> is used with <code>up</code>.</li><li>Fixed a bug not closing streams when reattaching containers.</li><li>Restored recreation of anonymous volumes when using <code>-V</code> or <code>--renew-anon-volumes</code>.</li></ul><h2 class=scroll-mt-20 id=2292><a class="text-black dark:text-white no-underline hover:underline" href=#2292>2.29.2</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-08-16</em><h3 class=scroll-mt-20 id=update-7><a class="text-black dark:text-white no-underline hover:underline" href=#update-7>Update</a></h3><ul><li>Dependencies upgrade: bump compose-go to v2.1.6</li><li>Dependencies upgrade: bump docker engine and cli to v27.1.2</li><li>Dependencies upgrade: bump buildx to v0.16.2</li><li>Dependencies upgrade: bump buildkit to v0.15.2</li><li>Dependencies upgrade: bump golang to v1.21.12</li><li>Dependencies upgrade: bump sys to v0.22.0</li><li>Dependencies upgrade: bump flock to v0.12.1</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-9><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-9>Bug fixes and enhancements</a></h3><ul><li>Fixed the docs on <code>docker compose kill</code> usage.</li><li>Fixed redundant condition from <code>toAPIBuildOptions</code> in build.go.</li><li>Fixed initial Watch <code>sync</code> after Compose restarts with introduction of <code>x-initSync</code>.</li><li>Fixed an issue which stopped the Compose process for a single container on <code>sync-restart</code> Watch action.</li></ul><h2 class=scroll-mt-20 id=2291><a class="text-black dark:text-white no-underline hover:underline" href=#2291>2.29.1</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-07-23</em><h3 class=scroll-mt-20 id=update-8><a class="text-black dark:text-white no-underline hover:underline" href=#update-8>Update</a></h3><ul><li>Dependencies upgrade: bump compose-go to v2.1.5.</li><li>Dependencies upgrade: bump docker engine and cli to v27.1.0.</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-10><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-10>Bug fixes and enhancements</a></h3><ul><li>Enhance JSON progress events with more fields.</li></ul><h2 class=scroll-mt-20 id=2290><a class="text-black dark:text-white no-underline hover:underline" href=#2290>2.29.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-07-17</em><h3 class=scroll-mt-20 id=update-9><a class="text-black dark:text-white no-underline hover:underline" href=#update-9>Update</a></h3><ul><li>Dependencies upgrade: bump compose-go to v2.1.4</li><li>Dependencies upgrade: bump docker engine and cli to v27.0.3</li><li>Dependencies upgrade: bump buildx to 0.16.0</li><li>Dependencies upgrade: bump buildkit to 0.15.0</li><li>Dependencies upgrade: bump containerd to 1.7.19</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-11><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-11>Bug fixes and enhancements</a></h3><ul><li>Added a JSON stream progress writer.</li><li>Added a <code>--prune</code> flag to the <code>docker compose watch</code> command.</li><li>Unnecessary resources are now excluded after services have been selected.</li><li>Empty variables with no value are unset in containers.</li></ul><h2 class=scroll-mt-20 id=2281><a class="text-black dark:text-white no-underline hover:underline" href=#2281>2.28.1</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-06-24</em><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-12><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-12>Bug fixes and enhancements</a></h3><ul><li>Fixed progress display, broken in <code>v2.28.0</code>, when TTY mode available.</li></ul><h2 class=scroll-mt-20 id=2280><a class="text-black dark:text-white no-underline hover:underline" href=#2280>2.28.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-06-21</em><h3 class=scroll-mt-20 id=update-10><a class="text-black dark:text-white no-underline hover:underline" href=#update-10>Update</a></h3><ul><li>Dependencies upgrade: bump compose-go to v2.1.3</li><li>Dependencies upgrade: bump docker engine and cli to v27.0.1-rc.1</li></ul><h2 class=scroll-mt-20 id=2273><a class="text-black dark:text-white no-underline hover:underline" href=#2273>2.27.3</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-06-21</em><h3 class=scroll-mt-20 id=update-11><a class="text-black dark:text-white no-underline hover:underline" href=#update-11>Update</a></h3><ul><li>Dependencies upgrade: bump buildx to 0.15.1</li><li>Dependencies upgrade: bump buildkit to 0.14.1</li></ul><h2 class=scroll-mt-20 id=2272><a class="text-black dark:text-white no-underline hover:underline" href=#2272>2.27.2</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-06-20</em><h3 class=scroll-mt-20 id=update-12><a class="text-black dark:text-white no-underline hover:underline" href=#update-12>Update</a></h3><ul><li>Dependencies upgrade: bump golang to 1.21.11</li><li>Dependencies upgrade: bump docker engine and cli to v26.1.4</li><li>Dependencies upgrade: bump buildx to 0.15.0</li><li>Dependencies upgrade: bump buildkit to 0.14.0</li><li>Dependencies upgrade: bump containerd to 1.7.18</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-13><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-13>Bug fixes and enhancements</a></h3><ul><li>Added an <code>--environment</code> flag to the <code>config</code> command</li><li>Fixed a bug which caused the <code>watch</code> process to hang when used as flag with the <code>up</code> command</li><li>Fixed usage of <code>COMPOSE_PROFILES</code> in <code>.env</code> file</li></ul><h2 class=scroll-mt-20 id=2271><a class="text-black dark:text-white no-underline hover:underline" href=#2271>2.27.1</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-05-24</em><h3 class=scroll-mt-20 id=update-13><a class="text-black dark:text-white no-underline hover:underline" href=#update-13>Update</a></h3><ul><li>Dependencies upgrade: bump compose-go to v2.1.1</li><li>Dependencies upgrade: bump docker engine and cli to v26.1.3</li><li>Dependencies upgrade: bump buildx to 0.14.1</li><li>Dependencies upgrade: bump containerd to 1.7.17</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-14><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-14>Bug fixes and enhancements</a></h3><ul><li>Added a navigation menu in the CLI where you can open your Compose file in Docker Desktop</li><li>Added documentation for <code>--menu</code> flag in <code>docker compose up</code></li><li>Fixed a bug with <code>--resolve-image-digests</code> used with <code>--no-interpolate</code></li><li>You can now use a local <code>.env</code> file to override <code>COMPOSE_*</code> environment variables</li></ul><h2 class=scroll-mt-20 id=2270><a class="text-black dark:text-white no-underline hover:underline" href=#2270>2.27.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-04-24</em><h3 class=scroll-mt-20 id=update-14><a class="text-black dark:text-white no-underline hover:underline" href=#update-14>Update</a></h3><ul><li>Dependencies upgrade: bump golang to 1.21.9</li><li>Dependencies upgrade: bump compose-go to v2.1.0</li><li>Dependencies upgrade: bump docker engine and cli to v26.1.0</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-15><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-15>Bug fixes and enhancements</a></h3><ul><li>Introduced <code>--abort-on-container-failure</code> flag</li><li>Introduced <code>--all-resources</code> to not exclude resources not used by services</li><li>Introduced support for <code>build.entitlements</code></li><li>Fixed a bug so Docker Compose now ignores missing containers when <code>docker compose down/stop -p</code> is run</li><li>Fixed support for <code>--flag=value</code> syntax in compatibility mode</li></ul><h2 class=scroll-mt-20 id=2261><a class="text-black dark:text-white no-underline hover:underline" href=#2261>2.26.1</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-03-29</em><h3 class=scroll-mt-20 id=update-15><a class="text-black dark:text-white no-underline hover:underline" href=#update-15>Update</a></h3><ul><li>Dependencies upgrade: opencontainers/image-spec v1.1.0</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-16><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-16>Bug fixes and enhancements</a></h3><ul><li>Added image pull failure reason in output</li><li>Fixed crash when running up with <code>--no-build</code> and <code>--watch</code></li><li>Fixed crash when no TTY available and menu enabled</li><li>Improved legibility of menu actions</li></ul><h2 class=scroll-mt-20 id=2260><a class="text-black dark:text-white no-underline hover:underline" href=#2260>2.26.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-03-22</em><h3 class=scroll-mt-20 id=update-16><a class="text-black dark:text-white no-underline hover:underline" href=#update-16>Update</a></h3><ul><li>Dependencies upgrade: bump compose-go v2.0.2</li><li>Dependencies upgrade: bump docker v26.0.0</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-17><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-17>Bug fixes and enhancements</a></h3><ul><li>Reduced timeout of the Otel tracing command</li><li>Fixed <code>config --format json</code></li><li>Fixed documentation on default build image name</li><li>Introduced Synchronized file shares for bind mounts in Compose</li><li>Added support for <code>annotations</code></li><li>Introduced <code>config --variables</code> to list Compose model variables</li><li>Added a navigation menu within <code>docker compose up</code></li></ul><h2 class=scroll-mt-20 id=2250><a class="text-black dark:text-white no-underline hover:underline" href=#2250>2.25.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-03-15</em><h3 class=scroll-mt-20 id=update-17><a class="text-black dark:text-white no-underline hover:underline" href=#update-17>Update</a></h3><ul><li>Dependencies upgrade: bump compose-go v2.0.0</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-18><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-18>Bug fixes and enhancements</a></h3><ul><li>Restored <code>config</code> behaviour until <code>--no-interpolate</code> is set</li><li>Fixed service name shell completion</li><li>Added <code>--watch</code> flag to <code>up</code> command</li></ul><h2 class=scroll-mt-20 id=2247><a class="text-black dark:text-white no-underline hover:underline" href=#2247>2.24.7</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-03-06</em><h3 class=scroll-mt-20 id=update-18><a class="text-black dark:text-white no-underline hover:underline" href=#update-18>Update</a></h3><ul><li>Dependencies upgrade: bump golang to 1.21.8</li><li>Dependencies upgrade: bump compose-go to 2.0.0-rc8</li><li>Dependencies upgrade: bump docker to v24.0.4</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-19><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-19>Bug fixes and enhancements</a></h3><ul><li>Compose now ensures stable priority sort order for networks</li><li>Fixed interpolation with curly braces (e.g. JSON) in default values</li><li>Fixed validation for non-unique <code>container_name</code> values</li><li>Fixed validation for <code>develop.watch</code></li><li>Fixed environment loading for <code>include</code></li><li>Fixed panic when merging labels/networks</li><li>Added support for <code>--no-path-resolution</code> when using <code>include</code></li><li>Fixed missing project name errors</li><li>Fixed <code>--no-interpolate</code> flag on <code>config</code></li><li>Added a workaround for file lock issues with Watch mode on Windows</li><li>Fixed duplicate exit code status messages</li><li>Compose now respects <code>COMPOSE_REMOVE_ORPHANS</code> on <code>up</code></li></ul><h2 class=scroll-mt-20 id=2246><a class="text-black dark:text-white no-underline hover:underline" href=#2246>2.24.6</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-02-15</em><h3 class=scroll-mt-20 id=update-19><a class="text-black dark:text-white no-underline hover:underline" href=#update-19>Update</a></h3><ul><li>Dependencies upgrade: bump cli to 25.0.3</li><li>Dependencies upgrade: bump compose-go to 2.0.0-rc.7</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-20><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-20>Bug fixes and enhancements</a></h3><ul><li>Fixed issue of <code>.env</code> file loading when project file is set via <code>COMPOSE_FILE</code> variable</li><li>Aligned <code>ps --status=exited</code> behaviour with the Docker CLI behaviour</li><li>Fixed a deadlock when collecting large logs</li></ul><h2 class=scroll-mt-20 id=2245><a class="text-black dark:text-white no-underline hover:underline" href=#2245>2.24.5</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-01-30</em><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-21><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-21>Bug fixes and enhancements</a></h3><ul><li>Fixed "failed to solve: changes out of order" errors when building images on Windows.</li></ul><h2 class=scroll-mt-20 id=2244><a class="text-black dark:text-white no-underline hover:underline" href=#2244>2.24.4</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-01-29</em><h3 class=scroll-mt-20 id=update-20><a class="text-black dark:text-white no-underline hover:underline" href=#update-20>Update</a></h3><ul><li>Dependencies upgrade: bump cli to 25.0.1</li><li>Dependencies upgrade: bump docker to 25.0.1</li><li>Dependencies upgrade: bump compose-go to 2.0.0-rc.3</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-22><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-22>Bug fixes and enhancements</a></h3><ul><li>Fixed issue when checking external network existence when swarm is enabled.</li><li>Added support for <code>storage_opt</code> attribute.</li></ul><h2 class=scroll-mt-20 id=2243><a class="text-black dark:text-white no-underline hover:underline" href=#2243>2.24.3</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-01-24</em><p>This release fixes a build issue with Docker Desktop for Windows introduced in Compose v2.24.0.</p><h3 class=scroll-mt-20 id=update-21><a class="text-black dark:text-white no-underline hover:underline" href=#update-21>Update</a></h3><ul><li>Compose now uses a custom version of <code>fsutils</code> library.</li></ul><h2 class=scroll-mt-20 id=2242><a class="text-black dark:text-white no-underline hover:underline" href=#2242>2.24.2</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-01-22</em><h3 class=scroll-mt-20 id=update-22><a class="text-black dark:text-white no-underline hover:underline" href=#update-22>Update</a></h3><ul><li>Dependencies upgrade: bump cli to 25.0.0 GA</li><li>Dependencies upgrade: bump compose-go to 2.0.0-rc.2</li></ul><h2 class=scroll-mt-20 id=2241><a class="text-black dark:text-white no-underline hover:underline" href=#2241>2.24.1</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-01-18</em><h3 class=scroll-mt-20 id=update-23><a class="text-black dark:text-white no-underline hover:underline" href=#update-23>Update</a></h3><ul><li>Dependencies upgrade: bump cli to 25.0.0-rc3</li><li>Dependencies upgrade: bump docker to 25.0.0-rc3</li><li>Dependencies upgrade: bump compose-go to 2.0.0-rc.1</li><li>Dependencies upgrade: bump containerd to 1.7.12</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-23><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-23>Bug fixes and enhancements</a></h3><ul><li>Reworked the display of container status during <code>up</code></li><li>Fixed the engine version required to use <code>healthcheck.start_interval</code></li><li>Removed <code>watch</code> subcommand from the <code>alpha</code> command</li><li>Fixed a bug when handling received signals</li></ul><h2 class=scroll-mt-20 id=2240><a class="text-black dark:text-white no-underline hover:underline" href=#2240>2.24.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2024-01-11</em><h3 class=scroll-mt-20 id=update-24><a class="text-black dark:text-white no-underline hover:underline" href=#update-24>Update</a></h3><ul><li>Dependencies upgrade: bump cli to 25.0.0-beta.3</li><li>Dependencies upgrade: bump compose-go to 2.0.0-beta.3</li><li>Dependencies upgrade: bump golang to 1.21.6</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-24><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-24>Bug fixes and enhancements</a></h3><ul><li>Introduced <code>docker compose attach</code> to attach local standard input, output, and error streams to a service's running container.</li><li>Introduced <code>docker compose stats</code> to display a live stream of container(s) resource usage statistics.</li><li>Introduced <code>docker compose ps --orphans</code> to include/exclude services not declared.</li><li>Introduced <code>docker compose logs --index</code> to select a replica container.</li><li>Introduced <code>docker compose build --with-dependencies</code> to also build dependencies.</li><li>Added source policies for build.</li><li>Included disabled services for shell completion.</li><li>Restored <code>Project</code> in ps JSON output.</li><li>Added OCI 1.0 fallback support for AWS ECR.</li><li>Build now does not require environment to be resolved.</li><li>Compose now sends out a cancel event on SIGINT/SIGTERM signal for <code>compose up</code>.</li><li>Fixed log by exposing services ports when <code>--verbose</code>.</li><li>Fixed inlined and environment-defined configs to be mounted under /<id> until an explicit target is set.</li><li>Fixed combination of <code>--pull always --no-build</code>.</li><li>Fixed race condition in log printer.</li><li>Fixed <code>docker compose up</code> teardown when command context is cancelled.</li></ul><h2 class=scroll-mt-20 id=2233><a class="text-black dark:text-white no-underline hover:underline" href=#2233>2.23.3</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2023-11-22</em><h3 class=scroll-mt-20 id=update-25><a class="text-black dark:text-white no-underline hover:underline" href=#update-25>Update</a></h3><ul><li>Dependencies upgrade: bump buildx to v0.12.0</li></ul><h2 class=scroll-mt-20 id=2232><a class="text-black dark:text-white no-underline hover:underline" href=#2232>2.23.2</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2023-11-21</em><h3 class=scroll-mt-20 id=update-26><a class="text-black dark:text-white no-underline hover:underline" href=#update-26>Update</a></h3><ul><li>Dependencies upgrade: bump buildkit 0.12.3</li><li>Dependencies upgrade: bump docker 24.0.7</li><li>Dependencies upgrade: bump cli 24.0.7</li><li>Dependencies upgrade: bump 1.20.2</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-25><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-25>Bug fixes and enhancements</a></h3><ul><li>Compose now supports <code>builds.tags</code> with <code>push</code> command.</li><li>Compose Watch now re-builds service images at startup.</li><li>Now <code>--remove-orphans</code> doesn't manage disabled services as orphaned.</li><li>Compose displays <code>Building</code> output log only if there is at least one service to build.</li></ul><h2 class=scroll-mt-20 id=2231><a class="text-black dark:text-white no-underline hover:underline" href=#2231>2.23.1</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2023-11-16</em><h3 class=scroll-mt-20 id=update-27><a class="text-black dark:text-white no-underline hover:underline" href=#update-27>Update</a></h3><ul><li>Dependencies upgrade: bump compose-go to v1.20.1</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-26><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-26>Bug fixes and enhancements</a></h3><ul><li>Aligned Compose with OCI artifact best practices.</li><li>Introduced <code>--resolve-image-digests</code> so users can seal service images by digest when publishing a Compose application.</li><li>Improved Compose Watch configuration logging.</li><li>Compose now rejects a Compose file using <code>secrets|configs.driver</code> or <code>template_driver</code>.</li><li>Compose now fails to start if a dependency is missing.</li><li>Fixed SIGTERM support to stop/kill stack.</li><li>Fixed a <code>--hash</code> regression.</li><li>Fixed "Application failed to start after update" when an external network is on a watched service.</li><li>Fixed <code>--pull</code> documentation.</li><li>Fixed display by adding newline in cmd/compose/build.go.</li><li>Compose is rendered quiet after filtering applied.</li><li>Stripped project prefix from docker-compose up output.</li></ul><h2 class=scroll-mt-20 id=2230><a class="text-black dark:text-white no-underline hover:underline" href=#2230>2.23.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2023-10-18</em><h3 class=scroll-mt-20 id=update-28><a class="text-black dark:text-white no-underline hover:underline" href=#update-28>Update</a></h3><ul><li>Dependencies upgrade: bump compose-go to v1.20.0</li><li>Dependencies upgrade: bump containerd to 1.7.7</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-27><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-27>Bug fixes and enhancements</a></h3><ul><li>Added dry-run support for publish command</li><li>Added <code>COMPOSE_ENV_FILES</code> env variable to pass a list of env files</li><li>Added <code>sync+restart</code> action to <code>compose watch</code></li><li>Aligned <code>compose ps</code> output with Docker CLI by default and introduced <code>--no-trunc</code> to keep the previous behaviour</li><li>Fixed hashes inconsistency between <code>up</code> and <code>configure</code></li><li>Enabled profiles when <code>down</code> ran with explicit service names</li><li>Fixed an issue when the pull policy provided was invalid</li></ul><h2 class=scroll-mt-20 id=2220><a class="text-black dark:text-white no-underline hover:underline" href=#2220>2.22.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2023-09-21</em><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>The <code>watch</code> command is now generally available (GA). You can directly use it from the root command <code>docker compose watch</code>. For more information, see <a class=link href=https://docs.docker.com/compose/how-tos/file-watch/>File watch</a>.</p></blockquote><h3 class=scroll-mt-20 id=update-29><a class="text-black dark:text-white no-underline hover:underline" href=#update-29>Update</a></h3><ul><li>Dependencies upgrade: bump golang to 1.21.1</li><li>Dependencies upgrade: bump compose-go to v1.19.0</li><li>Dependencies upgrade: bump buildkit to v0.12.2</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-28><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-28>Bug fixes and enhancements</a></h3><ul><li>Added experimental support for the <code>publish</code> command.</li><li>The command <code>watch</code> now builds and launches the project during startup.</li><li>Added <code>policy</code> option to the <code>--pull</code> flag.</li><li>Fixed various race and deadlock conditions for <code>up</code> command on exit.</li><li>Fixed multi-platform issues on build.</li><li>Enabled services that are explicitly requested even when their <code>profiles</code> aren't activated.</li><li>Fixed a <code>config</code> issue when the declared <code>env_file</code> is missing.</li><li>Passed BuildOptions to <code>up</code> and <code>run</code> commands.</li></ul><h2 class=scroll-mt-20 id=2210><a class="text-black dark:text-white no-underline hover:underline" href=#2210>2.21.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2023-08-30</em><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>The format of <code>docker compose ps</code> and <code>docker compose ps --format=json</code> changed to better align with <code>docker ps</code> output. See <a class=link href=https://github.com/docker/compose/pull/10918 rel=noopener>compose#10918<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>.</p></blockquote><h3 class=scroll-mt-20 id=update-30><a class="text-black dark:text-white no-underline hover:underline" href=#update-30>Update</a></h3><ul><li>Dependencies upgrade: bump compose-go to v1.18.3</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-29><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-29>Bug fixes and enhancements</a></h3><ul><li>Changed <code>docker compose ps</code> and <code>docker compose ps --format=json</code> output to align with Docker CLI.</li><li>Added support for multi-document YAML files.</li><li>Added support for loading remote Compose files from Git repos with <code>include</code> (experimental).</li><li>Fixed incorrect proxy variables during build.</li><li>Fixed truncated container logs on container exit.</li><li>Fixed "no such service" errors when using <code>include</code> with <code>--profile</code>.</li><li>Fixed <code>.env</code> overrides when using <code>include</code>.</li></ul><h2 class=scroll-mt-20 id=2203><a class="text-black dark:text-white no-underline hover:underline" href=#2203>2.20.3</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2023-08-11</em><h3 class=scroll-mt-20 id=update-31><a class="text-black dark:text-white no-underline hover:underline" href=#update-31>Update</a></h3><ul><li>Dependencies upgrade: bump golang to 1.21.0</li><li>Dependencies upgrade: bump compose-go to v1.18.1</li><li>Dependencies upgrade: bump buildkit to v0.12.1</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-30><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-30>Bug fixes and enhancements</a></h3><ul><li>Improved speed and reliability of <code>watch</code> sync.</li><li>Added builder's name on the first build line.</li><li>Improved shell completion for <code>--project-directory</code> and <code>--profile</code>.</li><li>Fixed build issue with proxy configuration not passing to legacy builder.</li><li>Removed unnecessary warning when an option dependency exists successfully.</li></ul><h2 class=scroll-mt-20 id=2202><a class="text-black dark:text-white no-underline hover:underline" href=#2202>2.20.2</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2023-07-19</em><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-31><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-31>Bug fixes and enhancements</a></h3><ul><li>Added support for the <code>depends_on.required</code> attribute.</li><li>Fixed an issue where build tries to push unnamed service images.</li><li>Fixed a bug which meant the target secret path on Windows was not checked.</li><li>Fixed a bug resolving build context path for services using <code>extends.file</code>.</li></ul><h2 class=scroll-mt-20 id=2201><a class="text-black dark:text-white no-underline hover:underline" href=#2201>2.20.1</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2023-07-18</em><h3 class=scroll-mt-20 id=update-32><a class="text-black dark:text-white no-underline hover:underline" href=#update-32>Update</a></h3><ul><li>Dependencies upgrade: bump golang to 1.20.6</li><li>Dependencies upgrade: bump buildx to v0.11.2</li><li>Dependencies upgrade: bump buildkit to v0.12</li><li>Dependencies upgrade: bump docker-cli to v24.0.5-dev</li></ul><h2 class=scroll-mt-20 id=2200><a class="text-black dark:text-white no-underline hover:underline" href=#2200>2.20.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2023-07-11</em><h3 class=scroll-mt-20 id=update-33><a class="text-black dark:text-white no-underline hover:underline" href=#update-33>Update</a></h3><ul><li>Dependencies upgrade: bump docker/cli-docs-tools to v0.6.0</li><li>Dependencies upgrade: bump docker to v24.0.4</li><li>Dependencies upgrade: bump buildx to v0.11.1</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-32><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-32>Bug fixes and enhancements</a></h3><ul><li>Introduced the <code>wait</code> command.</li><li>Added support of <code>--builder</code> and <code>BUILDX_BUILDER</code> to the <code>build</code> command.</li><li>Added support for the <code>include</code> and <code>attach</code> attributes from the Compose Specification.</li><li>Fixed a DryRun mode issue when initializing CLI client.</li><li>Fixed a bug with random missing network when a service has more than one.</li><li>Fixed the Secrets file permission value to comply with the Compose Specification.</li><li>Fixed an issue about <code>no-deps</code> flag not being applied.</li><li>Fixed some source code comments.</li><li>Fixed a bug when <code>--index</code> is not set select.</li><li>Fixed a process leak in the wait e2e test.</li><li>Improved some test speeds.</li></ul><h2 class=scroll-mt-20 id=2191><a class="text-black dark:text-white no-underline hover:underline" href=#2191>2.19.1</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2023-06-29</em><h3 class=scroll-mt-20 id=update-34><a class="text-black dark:text-white no-underline hover:underline" href=#update-34>Update</a></h3><ul><li>Dependencies upgrade: bump compose-go to v1.15.1</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-33><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-33>Bug fixes and enhancements</a></h3><ul><li>Fixed sporadic "container not connected to network" errors on <code>compose up</code>.</li><li>Fixed "please specify build context" errors on <code>compose build</code>.</li><li>Compose now warns if using a bind mount in a service <code>watch</code> configuration.</li></ul><h2 class=scroll-mt-20 id=2190><a class="text-black dark:text-white no-underline hover:underline" href=#2190>2.19.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2023-06-21</em><h3 class=scroll-mt-20 id=update-35><a class="text-black dark:text-white no-underline hover:underline" href=#update-35>Update</a></h3><ul><li>Dependencies upgrade: bump compose-go to v1.15.0</li><li>Dependencies upgrade: bump buildx to v0.11.0</li><li>Dependencies upgrade: bump docker to v24.0.2</li><li>Dependencies upgrade: bump golang to 1.20.5</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-34><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-34>Bug fixes and enhancements</a></h3><ul><li>Introduced the ability to select a single service to be stopped by <code>compose down</code>.</li><li>Added <code>--progress</code> as top-level flag to configure progress UI style.</li><li>Introduced <code>run --cap-add</code> to run maintenance commands using service image.</li><li>Fixed a bug during detection of swarm mode.</li><li>Fixed a bug when setting the project name via <code>COMPOSE_PROJECT_NAME</code> environment variable.</li><li>Adjusted the display of the volumes flag with the help of <code>down</code> command.</li><li>Fixed a bug in the <code>up</code> command which should not silently ignore missing <code>depends_on</code> services.</li><li>Aligned forward signal to container behaviour with the <code>docker run</code> one.</li><li>Compose now detects network name conflict.</li><li>Fixed a typo in the warning message about an existing volume.</li><li>Compose now detects new services started after <code>compose -p x logs -f</code> command.</li><li>Fixed a bug when <code>compose</code> was used as project name.</li><li>Fixed a bug in the <code>watch</code> command when a directory does not exist.</li><li>Removed default timeout of 10 seconds when restarting or stopping services.</li><li>Fixed a bug in <code>watch</code> which applied the "rebuild" strategy by default.</li><li>Fixed a race condition, waiting for containers when one exit.</li><li>Added a warning telling users that uid,gid,mode are not implemented for <code>build.secrets</code>.</li><li>Fixed a bug in <code>watch</code> which was watching the whole build context instead of only configured paths.</li><li>Compose now sorts containers by creation date to scale down the older ones first.</li><li>Fixed a bug in the docs generation task for Windows environments.</li><li>Updated the docs to reflect Dry Run mode is feature complete.</li><li>Improved the diagnostic message on network label mismatch.</li><li>Fixed a bug which was rendering <code>Building</code> section when there was no build involved.</li><li>Fixed a bug in code coverage metrics.</li><li>Added OTEL initialization.</li><li>Added a GitHub action to trigger Docker Desktop e2e tests with Compose edge versions.</li><li>Added more ignore rules to dependabot.</li></ul><h2 class=scroll-mt-20 id=2181><a class="text-black dark:text-white no-underline hover:underline" href=#2181>2.18.1</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2023-05-17</em><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-35><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-35>Bug fixes and enhancements</a></h3><ul><li>Fixed "Image not found" errors when building images</li></ul><h2 class=scroll-mt-20 id=2180><a class="text-black dark:text-white no-underline hover:underline" href=#2180>2.18.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2023-05-16</em><h3 class=scroll-mt-20 id=update-36><a class="text-black dark:text-white no-underline hover:underline" href=#update-36>Update</a></h3><ul><li>Dependencies upgrade: bump compose-go to v1.13.5</li><li>Dependencies upgrade: bump buildkit to v0.11.6</li><li>Dependencies upgrade: bump docker to v23.0.5</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-36><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-36>Bug fixes and enhancements</a></h3><ul><li>Added dry run support using <code>--dry-run</code></li><li>Added the first (alpha) implementation of the <code>viz</code> sub-command</li><li>Introduced <code>--no-path-resolution</code> to skip relative path to be resolved</li><li>Introduced <code>COMPOSE_ANSI</code> to define the <code>--ansi</code> default value</li><li>Introduced <code>COMPOSE_STATUS_STDOUT</code> to get status messages sent to stdout</li><li>Fixed the BuildKit progressui integration</li><li>Fixed a bug to stop blocking the events loop collecting logs</li><li>Restored support for <code>--memory</code></li><li>Fixed a bug which meant containers didn't stop after termination</li><li>Compose now lets users declare the build secret target</li><li>Fixed a bug which caused a container to be recreated when the config has not changed</li><li>Fixed a race condition when <code>--parallel</code> is used with a large number of dependent services</li><li>Compose now checks the local image matches the required platform</li><li>Fixed local image removal when <code>compose down</code> is ran with <code>--project-name</code></li><li>Compose now detects the active endpoint trying to remove the network and skips with a warning</li><li>Removed unnecessary [] output</li><li>Compose detects that a Windows terminal is not a <code>console.File</code> to avoid a panic</li><li><code>--parallel</code> now has precedence over <code>COMPOSE_PARALLEL_LIMIT</code></li><li>Compose now reports that the external network is not found when Swarm is disabled</li></ul><h2 class=scroll-mt-20 id=2172><a class="text-black dark:text-white no-underline hover:underline" href=#2172>2.17.2</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2023-03-26</em><h3 class=scroll-mt-20 id=update-37><a class="text-black dark:text-white no-underline hover:underline" href=#update-37>Update</a></h3><ul><li>Dependencies upgrade: bump compose-go to v1.13.2</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-37><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-37>Bug fixes and enhancements</a></h3><ul><li>Fixed invalid project name error for directories with uppercase characters or <code>.</code> in the name. Fixed <a class=link href=https://github.com/docker/compose/issues/10405 rel=noopener>compose#10405<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></li></ul><h2 class=scroll-mt-20 id=2171><a class="text-black dark:text-white no-underline hover:underline" href=#2171>2.17.1</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2023-03-24</em><h3 class=scroll-mt-20 id=update-38><a class="text-black dark:text-white no-underline hover:underline" href=#update-38>Update</a></h3><ul><li>Dependencies upgrade: bump buildkit to v0.11.5</li><li>Dependencies upgrade: bump compose-go to v1.13.1</li><li>Dependencies upgrade: bump golang to 1.20.2</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-38><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-38>Bug fixes and enhancements</a></h3><ul><li>Fixed panic on <code>alpha watch</code> command. Pull Request <a class=link href=https://github.com/docker/compose/pull/10393 rel=noopener>compose#10393<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></li><li>Prevented conflicts for services named <code>extensions</code>. Fixed <a class=link href=https://github.com/compose-spec/compose-go/issues/247 rel=noopener>compose-go#247<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></li><li>Compose now validates project names more consistently. Fixed <a class=link href=https://github.com/compose-spec/compose-go/issues/363 rel=noopener>compose-go#363<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></li></ul><h2 class=scroll-mt-20 id=2170><a class="text-black dark:text-white no-underline hover:underline" href=#2170>2.17.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2023-03-23</em><h3 class=scroll-mt-20 id=upgrade-notes><a class="text-black dark:text-white no-underline hover:underline" href=#upgrade-notes>Upgrade notes</a></h3><ul><li>Project name validation is more strictly enforced. Project names can only include letters, numbers, <code>_</code>, <code>-</code> and must be lowercase and start with a letter or number.</li><li>Boolean fields in YAML must be either <code>true</code> or <code>false</code>. Deprecated YAML 1.1 values such as "on" or "no" are not supported.</li><li>Duplicate YAML merge keys (<code><<</code>) are rejected.</li></ul><h3 class=scroll-mt-20 id=update-39><a class="text-black dark:text-white no-underline hover:underline" href=#update-39>Update</a></h3><ul><li>Dependencies upgrade: bump buildkit to v0.11.4</li><li>Dependencies upgrade: bump buildx to v0.10.4</li><li>Dependencies upgrade: bump containerd to 1.6.18</li><li>Dependencies upgrade: bump compose-go to v1.13.0</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-39><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-39>Bug fixes and enhancements</a></h3><ul><li>Introduced <code>--wait-timeout</code> on <code>up</code> command. Fixed <a class=link href=https://github.com/docker/compose/issues/10269 rel=noopener>compose#10269<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></li><li>Made <code>compose service --hash</code> output sort by service name. Pull Request <a class=link href=https://github.com/docker/compose/pull/10278 rel=noopener>compose#10278<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></li><li>Compose now renders a compact TUI progress report to monitor layers download. Pull Request <a class=link href=https://github.com/docker/compose/pull/10281 rel=noopener>compose#10281<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></li><li>Introduced <code>restart</code> for <code>depends_on</code>. Fixed <a class=link href=https://github.com/docker/compose/issues/10284 rel=noopener>compose#10284<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></li><li>Added support of <code>NO_COLOR</code> env var. Fixed <a class=link href=https://github.com/docker/compose/issues/10340 rel=noopener>compose#10340<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></li><li>Progress writer now uses <code>dockercli.Err</code> stream. Fixed <a class=link href=https://github.com/docker/compose/issues/10366 rel=noopener>compose#10366<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></li><li>Added support for <code>additional_contexts</code> in the <code>build</code> service configuration. Fixed <a class=link href=https://github.com/docker/compose/issues/9461 rel=noopener>compose#9461<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> <a class=link href=https://github.com/docker/compose/issues/9961 rel=noopener>compose#9961<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></li><li>Added file delete/rename handling in <code>watch</code> mode. Pull Request <a class=link href=https://github.com/docker/compose/pull/10386 rel=noopener>compose#10386<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></li><li>Introduced an <code>ignore</code> attribute in <code>watch</code> mode. Pull Request <a class=link href=https://github.com/docker/compose/pull/10385 rel=noopener>compose#10385<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></li><li>Compose now uses progress writer to show copies status. Pull Request <a class=link href=https://github.com/docker/compose/pull/10387 rel=noopener>compose#10387<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></li><li>Updated reference documentation for <code>-p</code>/<code>--project-name</code> flag. Fixed <a class=link href=https://github.com/docker/docs/pull/16915 rel=noopener>docs#16915<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>, <a class=link href=https://github.com/compose-spec/compose-spec/issues/311 rel=noopener>compose-spec#311<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></li><li>Introduced a <code>replace</code> label to track the relationship between old and new containers of a service. Fixed <a class=link href=https://github.com/docker/compose/issues/9600 rel=noopener>compose#9600<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></li><li>Fixed a bug that meant dependent services were not restarted after a service was restarted. Fixed <a class=link href=https://github.com/docker/compose/issues/10263 rel=noopener>compose#10263<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></li><li>Compose now ignores services without a build section in <code>watch</code> mode. Fixed <a class=link href=https://github.com/docker/compose/issues/10270 rel=noopener>compose#10270<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></li><li>Compose now applies config options for pseudo-subcommands. Fixed <a class=link href=https://github.com/docker/compose/issues/10286 rel=noopener>compose#10286<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></li><li>Compose manages only containers with config_hash labels (i.e, created by compose). Fixed <a class=link href=https://github.com/docker/compose/issues/10317 rel=noopener>compose#10317<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></li><li>Compose triggers an error if the project name is empty after normalization. Fixed <a class=link href=https://github.com/docker/compose/issues/10313 rel=noopener>compose#10313<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></li><li>Compose restarts only needed services by checking <code>depends_on</code> relations. Fixed <a class=link href=https://github.com/docker/compose/issues/10337 rel=noopener>compose#10337<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></li><li>Fixed a display issue on small terminals. Fixed <a class=link href=https://github.com/docker/compose/issues/10322 rel=noopener>compose#10322<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></li><li>Fixed an issue with building the built images IDs collection. Pull Request <a class=link href=https://github.com/docker/compose/issues/10372 rel=noopener>compose#10372<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></li><li>Use configured name separator to define oneoff container name. Fixed <a class=link href=https://github.com/docker/compose/issues/10354 rel=noopener>compose#10354<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></li><li>Fixed concurrent map read/write issue when recreating containers. Fixed <a class=link href=https://github.com/docker/compose/issues/10319 rel=noopener>compose#10319<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></li><li>Compose now supports Dry Run mode for <code>stop</code> and <code>rm</code> commands. Pull Request <a class=link href=https://github.com/docker/compose/issues/10257 rel=noopener>compose#10257<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></li><li>Compose now supports Dry Run mode for <code>pull</code> command. Pull Request <a class=link href=https://github.com/docker/compose/issues/10341 rel=noopener>compose#10341<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></li><li>Compose now supports Dry Run mode for <code>push</code> command. Pull Request <a class=link href=https://github.com/docker/compose/issues/10355 rel=noopener>compose#10355<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></li><li>Compose now supports Dry Run mode for <code>exec</code> command. Pull Request <a class=link href=https://github.com/docker/compose/issues/10252 rel=noopener>compose#10252<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></li><li>Compose now supports Dry Run mode for <code>restart</code> command. Pull Request <a class=link href=https://github.com/docker/compose/issues/10339 rel=noopener>compose#10339<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></li></ul><h2 class=scroll-mt-20 id=2160><a class="text-black dark:text-white no-underline hover:underline" href=#2160>2.16.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2023-02-08</em><h3 class=scroll-mt-20 id=update-40><a class="text-black dark:text-white no-underline hover:underline" href=#update-40>Update</a></h3><ul><li>Dependencies upgrade: bump docker to v23.0.0</li><li>Dependencies upgrade: bump docker-cli to v23.0.0</li><li>Dependencies upgrade: bump buildkit to v0.11.2</li><li>Dependencies upgrade: bump buildx to v0.10.2</li><li>Dependencies upgrade: bump containerd to 1.6.16</li><li>Dependencies upgrade: bump golang to 1.20</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-40><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-40>Bug fixes and enhancements</a></h3><ul><li>Introduced <code>--remove-orphans</code> for the <code>compose create</code> command. Fixed <a class=link href=https://github.com/docker/compose/issues/9718 rel=noopener>compose#9718<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></li><li>Shortened the TTY output when the terminal is too small. Fixed <a class=link href=https://github.com/docker/compose/issues/9962 rel=noopener>compose#9962<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></li><li>Added <code>remove-orphans</code> functionality to run. Fixed <a class=link href=https://github.com/docker/compose/issues/9718#issuecomment-1209448445 rel=noopener>compose#9718<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></li><li>Introduced the experimental <code>watch</code> command. Pull Request <a class=link href=https://github.com/docker/compose/pull/10163 rel=noopener>compose#10163<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></li><li>Compose now allows TTY to be allocated with <code>-t</code>. Fixed <a class=link href=https://github.com/docker/compose/issues/10161 rel=noopener>compose#10161<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></li><li>Introduced the experimental <code>dry-run</code> command. Pull Request <a class=link href=https://github.com/docker/compose/issues/10173 rel=noopener>compose#10173<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></li><li>Updated the documentation to explain ways to configure parallelism. Pull Request <a class=link href=https://github.com/docker/compose/issues/10198 rel=noopener>compose#10198<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></li><li>Aligned the <code>logs</code> command with docker CLI by aliasing <code>-n</code> for <code>--tail</code>. Fixed <a class=link href=https://github.com/docker/compose/issues/10199 rel=noopener>compose#10199<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></li><li>Added support for <code>docker compose build --push</code>. Pull Request <a class=link href=https://github.com/docker/compose/issues/10148 rel=noopener>compose#10148<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></li><li>Added <code>--scale</code> to the <code>compose create</code> command. Fixed <a class=link href=https://github.com/docker/compose/issues/10208 rel=noopener>compose#10208<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></li><li>Renamed <code>convert</code> to <code>config</code> to align with the Compose V1 UX. Pull Request <a class=link href=https://github.com/docker/compose/issues/10214 rel=noopener>compose#10214<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></li><li>Compose now passes the proxy config as build args. Fixed <a class=link href=https://github.com/docker/compose/issues/8797 rel=noopener>compose#8797<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></li><li>Fixed parsing issue in <code>compose up</code> by ignoring containers not created by Compose. Fixed <a class=link href=https://github.com/docker/compose/issues/10162#issuecomment-1384989985 rel=noopener>compose#10162<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></li><li>Fixed the goroutine leak in log formatter initialization. Fixed <a class=link href=https://github.com/docker/compose/issues/10157 rel=noopener>compose#10157<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></li><li>Fixed an issue where compose logs don't exit when all running containers have been stopped. Pull Request <a class=link href=https://github.com/docker/compose/issues/10181 rel=noopener>compose#10181<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></li><li>Fixed the documentation to reflect <code>docker compose ps</code> being aligned with <code>docker ps</code>. Pull Request <a class=link href=https://github.com/docker/compose/issues/10195 rel=noopener>compose#10195<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></li><li>Fixed an issue where the remote Buildx driver was not found. Fixed <a class=link href=https://github.com/docker/compose/issues/9893 rel=noopener>compose#9893<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></li><li>Improved logging when recreating a service container. Pull request <a class=link href=https://github.com/docker/compose/issues/10236 rel=noopener>compose#10236<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></li><li>Fixed an issue so Compose now only waits for containers concerned by the wait condition. Fixed <a class=link href=https://github.com/docker/compose/issues/10200 rel=noopener>compose#10200<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></li><li>Compose now prevents assignment to entry in nil map. Fixed <a class=link href=https://github.com/docker/compose/issues/10244 rel=noopener>compose#10244<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></li><li>Added a dedicated GitHub Action workflow for Cucumber tests. Pull Request <a class=link href=https://github.com/docker/compose/issues/10165 rel=noopener>compose#10165<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></li><li>Cleaned the TUI lines when switching in compact log mode. Fixed <a class=link href=https://github.com/docker/compose/issues/10201 rel=noopener>compose#10201<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></li><li>Added Tilt watcher to detect code changes in watch mode. Pull Request <a class=link href=https://github.com/docker/compose/issues/10218 rel=noopener>compose#10218<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></li><li>Compose now supports Dry Run mode for <code>kill</code> command. Fixed <a class=link href=https://github.com/docker/compose/issues/10210 rel=noopener>compose#10210<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></li><li>Compose now supports Dry Run mode for <code>pause</code> command.Fixed <a class=link href=https://github.com/docker/compose/issues/10217 rel=noopener>compose#10217<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></li><li>Compose now supports Dry Run mode for <code>cp</code> command.Fixed <a class=link href=https://github.com/docker/compose/issues/10235 rel=noopener>compose#10235<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></li></ul><h2 class=scroll-mt-20 id=2151><a class="text-black dark:text-white no-underline hover:underline" href=#2151>2.15.1</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2023-01-09</em><h3 class=scroll-mt-20 id=update-41><a class="text-black dark:text-white no-underline hover:underline" href=#update-41>Update</a></h3><ul><li>Dependencies upgrade to fix Golan CVE-2022-27664 and CVE-2022-32149</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-41><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-41>Bug fixes and enhancements</a></h3><ul><li>Added support for UTS namespace. Fixed <a class=link href=https://github.com/docker/compose/issues/8408 rel=noopener>compose#8408<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></li><li>Fixed filtering issue when no filter set. Fixed <a class=link href=https://github.com/docker/roadmap/issues/418 rel=noopener>roadmap#418<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></li><li>Fixed concurrent map writes issue during build step. Pull Request <a class=link href=https://github.com/docker/compose/pull/10151 rel=noopener>compose#10151<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></li><li>Fixed issue when stdin is not a terminal. Fixed <a class=link href=https://github.com/docker/compose/issues/9739 rel=noopener>compose#9739<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></li></ul><h2 class=scroll-mt-20 id=2150><a class="text-black dark:text-white no-underline hover:underline" href=#2150>2.15.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2023-01-05</em><h3 class=scroll-mt-20 id=update-42><a class="text-black dark:text-white no-underline hover:underline" href=#update-42>Update</a></h3><ul><li>Dependencies upgrade: bump compose-go to v1.8.1</li><li>Dependencies upgrade: bump cli-docs-tool to 0.5.1</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-42><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-42>Bug fixes and enhancements</a></h3><ul><li>Added support of the <code>privileged</code> attribute in the <code>service.build</code> section. Pull Request <a class=link href=https://github.com/docker/compose/pull/10112 rel=noopener>compose#10112<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></li><li>Introduced <code>--ignore-buildable</code> to ignore buildable images on pull. Fixed <a class=link href=https://github.com/docker/compose/issues/8805 rel=noopener>compose#8805<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></li><li>Introduced <code>--no-attach</code> to ignore some service outputs. Fixed <a class=link href=https://github.com/docker/compose/issues/8546 rel=noopener>compose#8546<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></li><li>Fixed issue with <code>logs</code> when <code>driver:none</code> is set. Fixed <a class=link href=https://github.com/docker/compose/issues/9030 rel=noopener>compose#9030<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></li><li>Compose now relies on dockerCLI.streams. Pull Request <a class=link href=https://github.com/docker/compose/pull/10082 rel=noopener>compose#10082<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></li><li>Fixed issue with service hash that MUST exclude replicas. Fixed <a class=link href=https://github.com/docker/compose/issues/10077 rel=noopener>compose#10077<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></li><li>Compose now checks service names based on project, not running containers. Fixed <a class=link href=https://github.com/docker/compose/issues/9951 rel=noopener>compose#9951<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></li><li>Fixed security opts support (seccomp and unconfined). Fixed <a class=link href=https://github.com/docker/compose/issues/9505 rel=noopener>compose#9505<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></li><li>Fixed empty file when using compose config in case of smaller source files. Fixed <a class=link href=https://github.com/docker/compose/issues/10121 rel=noopener>compose#10121<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></li><li>Fixed issue with <code>--pull</code> not applied on <code>compose up</code>. Fixed <a class=link href=https://github.com/docker/compose/issues/10125 rel=noopener>compose#10125<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></li><li>Compose should ignore not only auto-removed containers but also "removal in progress" for orphan containers. Pull Request <a class=link href=https://github.com/docker/compose/pull/10136 rel=noopener>compose#10136<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></li><li>Compose limits build concurrency according to <code>--parallel</code>. Fixed <a class=link href=https://github.com/docker/compose/issues/9091 rel=noopener>compose#9091<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></li></ul><h2 class=scroll-mt-20 id=2142><a class="text-black dark:text-white no-underline hover:underline" href=#2142>2.14.2</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-12-20</em><h3 class=scroll-mt-20 id=update-43><a class="text-black dark:text-white no-underline hover:underline" href=#update-43>Update</a></h3><ul><li>Dependencies upgrade: bump containerd to 1.6.14</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-43><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-43>Bug fixes and enhancements</a></h3><ul><li>Compose now uses DOCKER_DEFAULT_PLATFORM to determine the platform when creating a container. Fixed <a class=link href=https://github.com/docker/compose/pull/10041 rel=noopener>compose#10041<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></li><li>Compose now detects when dependency failed to start. Fixed <a class=link href=https://github.com/docker/compose/pull/9732 rel=noopener>compose#9732<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></li><li>Fixed WCOW volume mounts. Fixed <a class=link href=https://github.com/docker/compose/pull/9577 rel=noopener>compose#9577<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></li><li>List only running containers when using <code>--all=false</code>. Fixed <a class=link href=https://github.com/docker/compose/pull/10085 rel=noopener>compose#10085<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></li><li>Fixed a regression when running pull <code>--ignore-pull-failures</code>. Fixed <a class=link href=https://github.com/docker/compose/pull/10089 rel=noopener>compose#10089<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></li><li>Fixed CPU quota issue. Fixed <a class=link href=https://github.com/docker/compose/pull/10073 rel=noopener>compose#10073<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></li><li>Fixed race condition on compose logs. Fixed <a class=link href=https://github.com/docker/compose/pull/8880 rel=noopener>compose#8880<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></li><li>Updated projectOptions to be public by renaming it to ProjectOptions. Fixed <a class=link href=https://github.com/docker/compose/pull/100102 rel=noopener>compose#100102<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></li></ul><h2 class=scroll-mt-20 id=2141><a class="text-black dark:text-white no-underline hover:underline" href=#2141>2.14.1</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-12-15</em><h3 class=scroll-mt-20 id=updates><a class="text-black dark:text-white no-underline hover:underline" href=#updates>Updates</a></h3><ul><li>Dependencies upgrade: bump Go to 1.19.4</li><li>Dependencies upgrade: bump containerd to 1.6.12</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-44><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-44>Bug fixes and enhancements</a></h3><ul><li>Added <code>--parallel</code> to limit concurrent engine calls. Pull Request <a class=link href=https://github.com/docker/compose/pull/10030 rel=noopener>compose#10030<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></li><li>Distinguished stdout and stderr in <code>up</code> logs. Fixed <a class=link href=https://github.com/docker/compose/issues/8098 rel=noopener>compose#8098<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></li><li>Aligned <code>compose ps</code> output with <code>docker ps</code>. Fixed <a class=link href=https://github.com/docker/compose/issues/6867 rel=noopener>compose#6867<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></li><li>Added <code>--include-deps</code> to push command. Pull Request <a class=link href=https://github.com/docker/compose/pull/10044 rel=noopener>compose#10044<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></li><li>Introduced <code>--timestamp</code> option on <code>compose up</code>. Fixed <a class=link href=https://github.com/docker/compose/issues/5730 rel=noopener>compose#5730<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></li><li>Compose now applies uid/gid when creating a secret from the environment. Pull Request <a class=link href=https://github.com/docker/compose/pull/10084 rel=noopener>compose#10084<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></li><li>Fixed deadlock when waiting for attached-dependencies. Fixed <a class=link href=https://github.com/docker/compose/pull/10021 rel=noopener>compose#10021<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></li><li>Fixed race condition when collecting pulled images IDs. Fixed <a class=link href=https://github.com/docker/compose/pull/9897 rel=noopener>compose#9897<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></li><li>Compose doesn't stop the <code>pull</code> command for images that can be built. Fixed <a class=link href=https://github.com/docker/compose/pull/8724 rel=noopener>compose#8724<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></li><li>Fixed corner case when there's no container to attach to. Fixed <a class=link href=https://github.com/docker/compose/pull/8752 rel=noopener>compose#8752<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></li><li>Compose containers' startup must run sequentially for engine to assign distinct ports within a configured range. Fixed <a class=link href=https://github.com/docker/compose/pull/8530 rel=noopener>compose#8530<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></li><li>Fixed parsing of <code>repository:tag</code>. Fixed <a class=link href=https://github.com/docker/compose/pull/9208 rel=noopener>compose#9208<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></li><li>Load project from files when explicitly set by user. Fixed <a class=link href=https://github.com/docker/compose/pull/9554 rel=noopener>compose#9554<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></li></ul><h2 class=scroll-mt-20 id=2140><a class="text-black dark:text-white no-underline hover:underline" href=#2140>2.14.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-12-02</em><h3 class=scroll-mt-20 id=updates-1><a class="text-black dark:text-white no-underline hover:underline" href=#updates-1>Updates</a></h3><ul><li>Dependencies upgrade: bump compose-go to <a class=link href=https://github.com/compose-spec/compose-go/releases/tag/v1.8.0 rel=noopener>v1.8.0<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></li><li>Dependencies upgrade: bump Go to 1.19.3</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-45><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-45>Bug fixes and enhancements</a></h3><ul><li>Added <code>oom_score_adj</code> field to service definition. Pull Request <a class=link href=https://github.com/docker/compose/issues/10019 rel=noopener>compose#10019<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></li><li>Added mode field for tmpfs mount permissions. Pull Request <a class=link href=https://github.com/docker/compose/issues/10031 rel=noopener>compose#10031<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></li><li>Compose now only stops services started by <code>up</code> when interrupted. Fixed <a class=link href=https://github.com/docker/compose/issues/10028 rel=noopener>compose#10028<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></li><li>Compose now loads implicit profiles for targeted services. Fixed <a class=link href=https://github.com/docker/compose/issues/10025 rel=noopener>compose#10025<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></li><li>Compose does not require <code>service.build.platforms</code> to be set if <code>service.platform</code> is set. Fixed <a class=link href=https://github.com/docker/compose/issues/10017 rel=noopener>compose#10017<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></li><li>Plain output is used during buildx image builds if <code>--ansi=never</code> is set. Fixed <a class=link href=https://github.com/docker/compose/issues/10020 rel=noopener>compose#10020<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></li><li><code>COMPOSE_IGNORE_ORPHANS</code> environment variable now behaves more consistently. Fixed <a class=link href=https://github.com/docker/compose/issues/10035 rel=noopener>compose#10035<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></li><li>Compose now uses the correct image name separator in <code>convert</code>. Fixed <a class=link href=https://github.com/docker/compose/issues/9904 rel=noopener>compose#9904<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></li><li>Fixed <code>run</code> for services using <code>network_mode: service:NAME</code>. Fixed <a class=link href=https://github.com/docker/compose/issues/10036 rel=noopener>compose#10036<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></li></ul><h2 class=scroll-mt-20 id=2130><a class="text-black dark:text-white no-underline hover:underline" href=#2130>2.13.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-11-23</em><h3 class=scroll-mt-20 id=updates-2><a class="text-black dark:text-white no-underline hover:underline" href=#updates-2>Updates</a></h3><ul><li>Dependencies upgrade: bump containerd to 1.6.10</li><li>Dependencies upgrade: bump docker-credential-helpers to v0.7.0</li><li>Update CI dependencies. Pull Request <a class=link href=https://github.com/docker/compose/pull/9982 rel=noopener>compose#9982<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></li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-46><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-46>Bug fixes and enhancements</a></h3><ul><li>Added a <code>no-consistency</code> option to <code>convert</code> command. Fixed <a class=link href=https://github.com/docker/compose/issues/9963 rel=noopener>compose#9963<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></li><li>Added a <code>build</code> option to <code>run</code> command. Fixed <a class=link href=https://github.com/docker/compose/issues/10003 rel=noopener>compose#10003<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></li><li>Fixed mapping <code>restart_policy.condition</code> to engine supported values. Fixed <a class=link href=https://github.com/docker/compose/issues/8756 rel=noopener>compose#8756<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>, <a class=link href=https://github.com/docker/docs/pull/15936 rel=noopener>docs#15936<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></li><li>Fixed missing support of <code>deploy.reservation.memory</code>. Fixed <a class=link href=https://github.com/docker/compose/issues/9902 rel=noopener>compose#9902<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></li><li>Fixed a bug to prevent usage of <code>COMPOSE_PROFILES</code> when <code>--profile</code> arg is used. Fixed <a class=link href=https://github.com/docker/compose/issues/9895 rel=noopener>compose#9895<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></li><li>Fixed a bug to prevent pulling a service's image when depending on a service which will build this image. Fixed <a class=link href=https://github.com/docker/compose/issues/9983 rel=noopener>compose#9983<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></li><li>Fixed parsing issue when a container number label is not found. Fixed <a class=link href=https://github.com/docker/compose/issues/10004 rel=noopener>compose#10004<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></li><li>Compose now uses the platform value defined by <code>DOCKER_DEFAULT_PLATFORM</code> when no <code>service.platform</code> defined. Fixed <a class=link href=https://github.com/docker/compose/issues/9889 rel=noopener>compose#9889<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></li><li>Removed usage of the deprecated dependency <code>gotest.tools</code> v2. Pull Request <a class=link href=https://github.com/docker/compose/pull/9935 rel=noopener>compose#9935<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></li><li>Excluded issues labeled with <code>kind/feature</code> from stale bot process. Fixed <a class=link href=https://github.com/docker/compose/pull/9988 rel=noopener>compose#9988<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></li></ul><h2 class=scroll-mt-20 id=2122><a class="text-black dark:text-white no-underline hover:underline" href=#2122>2.12.2</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-10-21</em><h3 class=scroll-mt-20 id=updates-3><a class="text-black dark:text-white no-underline hover:underline" href=#updates-3>Updates</a></h3><ul><li>Updated Docker Engine API to restore compatibility with Golang 1.18 needed for Linux packaging. Pull Request <a class=link href=https://github.com/docker/compose/pull/9940 rel=noopener>compose#9940<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></li></ul><p>For the full change log or additional information, check the <a class=link href=https://github.com/docker/compose/releases/tag/v2.12.2 rel=noopener>Compose repository 2.12.2 release page<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>.</p><h2 class=scroll-mt-20 id=2121><a class="text-black dark:text-white no-underline hover:underline" href=#2121>2.12.1</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-10-21</em><h3 class=scroll-mt-20 id=security><a class="text-black dark:text-white no-underline hover:underline" href=#security>Security</a></h3><ul><li>Updated Docker Engine API to apply fix of <a class=link href=https://nvd.nist.gov/vuln/detail/CVE-2022-39253 rel=noopener>CVE-2022-39253<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>. Pull Request <a class=link href=https://github.com/docker/compose/pull/9934 rel=noopener>compose#9934<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></li></ul><p>For the full change log or additional information, check the <a class=link href=https://github.com/docker/compose/releases/tag/v2.12.1 rel=noopener>Compose repository 2.12.1 release page<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>.</p><h2 class=scroll-mt-20 id=2120><a class="text-black dark:text-white no-underline hover:underline" href=#2120>2.12.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-10-18</em><h3 class=scroll-mt-20 id=updates-4><a class="text-black dark:text-white no-underline hover:underline" href=#updates-4>Updates</a></h3><ul><li><p>CI update to the documentation repository path</p></li><li><p>Upgraded to compose-go from <a class=link href=https://github.com/compose-spec/compose-go/releases/tag/v1.6.0 rel=noopener>1.5.1 to 1.6.0<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></p></li><li><p>Updated to go 1.19.2 to address CVE-2022-2879, CVE-2022-2880, CVE-2022-41715</p></li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-47><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-47>Bug fixes and enhancements</a></h3><ul><li>Added a <code>quiet</code> option when pushing an image. Fixed <a class=link href=https://github.com/docker/compose/issues/9089 rel=noopener>compose#9089<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></li><li>Fixed a misleading error message for <code>port</code> command. Pull Request <a class=link href=https://github.com/docker/compose/pull/9909 rel=noopener>compose#9909<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></li><li>Fixed a bug to prevent failure when Compose tries to remove a non-existing container. Fixed by <a class=link href=https://github.com/docker/compose/pull/9896/ rel=noopener>compose#9896<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></li><li>Switched GitHub issue template form</li></ul><p>For the full change log or additional information, check the <a class=link href=https://github.com/docker/compose/releases/tag/v2.12.0 rel=noopener>Compose repository 2.12.0 release page<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>.</p><h2 class=scroll-mt-20 id=2112><a class="text-black dark:text-white no-underline hover:underline" href=#2112>2.11.2</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-09-27</em><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><ul><li>Updates on environment file syntax & interpolation: see <a class=link href=https://github.com/docker/compose/issues/9879 rel=noopener>compose#9879<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></li><li>Setting <code>DOCKER_HOST</code> via <code>.env</code> files is not supported in Compose v2</li></ul></blockquote><h3 class=scroll-mt-20 id=updates-5><a class="text-black dark:text-white no-underline hover:underline" href=#updates-5>Updates</a></h3><ul><li>Upgraded to compose-go from <a class=link href=https://github.com/compose-spec/compose-go/releases/tag/v1.6.0 rel=noopener>1.5.1 to 1.6.0<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></li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-48><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-48>Bug fixes and enhancements</a></h3><ul><li>Fixed a bug to prevent "invalid template" errors on valid environment variable values. Fixes <a class=link href=https://github.com/docker/compose/issues/9806 rel=noopener>compose##9806<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>, <a class=link href=https://github.com/docker/compose/issues/9746 rel=noopener>compose##9746<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>, <a class=link href=https://github.com/docker/compose/issues/9704 rel=noopener>compose##9704<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>, <a class=link href=https://github.com/docker/compose/issues/9294 rel=noopener>compose##9294<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></li><li>Fixed a bug to ensure new images from <code>docker compose build</code> are used. Fixes <a class=link href=https://github.com/docker/compose/issues/9856 rel=noopener>compose#9856<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></li><li>Fixed cross-architecture builds when <code>DOCKER_DEFAULT_PLATFORM</code> not set. Fixes <a class=link href=https://github.com/docker/compose/pull/9864 rel=noopener>compose#9864<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></li><li>Fixed intermittent conflict errors when using <code>depends_on</code>. Fixes <a class=link href=https://github.com/docker/compose/issues/9014 rel=noopener>compose#9014<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></li><li>Cleared service <code>CMD</code> when entry point is overridden. Fixes <a class=link href=https://github.com/docker/compose/issues/9622 rel=noopener>compose#9622<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></li><li>Configured default builder export when no <code>build.platforms</code> defined. Fixes <a class=link href=https://github.com/docker/compose/issues/9856 rel=noopener>compose#9856<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></li><li>Fixed a bug to keep the platform defined, in priority, via DOCKER_DEFAULT_PLATFORM or the <code>service.platform</code> attribute. Fixes <a class=link href=https://github.com/docker/compose/issues/9864 rel=noopener>compose#9864<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></li><li>Removed support for <code>DOCKER_HOST</code> in <code>.env</code> files. Fixes <a class=link href=https://github.com/docker/compose/issues/9210 rel=noopener>compose#9210<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></li><li>Fixed a bug to ensure clean service command if entry point is overridden in run command. Fixes <a class=link href=https://github.com/docker/compose/issues/9622 rel=noopener>compose#9622<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></li><li>Deps: fixed race condition during graph traversal. Fixes <a class=link href=https://github.com/docker/compose/issues/9014 rel=noopener>compose#9014<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></li><li>CI now runs on Windows & macOS including E2E tests via Docker Desktop</li><li>Added more information when <code>service.platform</code> isn't part of <code>service.build.platforms</code></li><li>GitHub Workflows security hardening</li></ul><p>For the full change log or additional information, check the <a class=link href=https://github.com/docker/compose/releases/tag/v2.11.2 rel=noopener>Compose repository 2.11.2 release page<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>.</p><h2 class=scroll-mt-20 id=2111><a class="text-black dark:text-white no-underline hover:underline" href=#2111>2.11.1</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-09-20</em><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-49><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-49>Bug fixes and enhancements</a></h3><ul><li>Fixed a bug to keep <code>depends_on</code> condition when service has <code>volumes_from</code>. Fixes <a class=link href=https://github.com/docker/compose/issues/9843 rel=noopener>compose#9843<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></li><li>Fixed a bug to keep the platform defined at service level during build if no build platforms. Fixes <a class=link href=https://github.com/docker/compose/pull/9729#issuecomment-1246748144 rel=noopener>compose#9729<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></li><li>Fixed a bug to keep the platform defined via DOCKER_DEFAULT_PLATFORM during build if no build platforms provided. Fixes <a class=link href=https://github.com/docker/compose/issues/9853 rel=noopener>compose#9853<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></li></ul><p>For the full change log or additional information, check the <a class=link href=https://github.com/docker/compose/releases/tag/v2.11.1 rel=noopener>Compose repository 2.11.1 release page<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>.</p><h2 class=scroll-mt-20 id=2110><a class="text-black dark:text-white no-underline hover:underline" href=#2110>2.11.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-09-14</em><h3 class=scroll-mt-20 id=updates-6><a class="text-black dark:text-white no-underline hover:underline" href=#updates-6>Updates</a></h3><ul><li>Dependencies upgrade: bump Golang to 1.19.1</li><li>Dependencies upgrade: bump github.com/docker/go-units from 0.4.0 to 0.5.0</li><li>Dependencies upgrade: bump github.com/cnabio/cnab-to-oci from 0.3.6 to 0.3.7</li><li>Dependencies upgrade: bump go.opentelemetry.io/otel from 1.9.0 to 1.10.0</li><li>Dependencies upgrade: bump github.com/AlecAivazis/survey/v2 from 2.3.5</li><li>Dependencies upgrade: bump go.opentelemetry.io/otel from 1.4.1 to 1.9.0</li><li>Dependencies upgrade: bump compose-go from <a class=link href=https://github.com/compose-spec/compose-go/releases/tag/v1.5.1 rel=noopener>1.5.0 to 1.5.1<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></li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-50><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-50>Bug fixes and enhancements</a></h3><ul><li>Added platforms build. Fixes <a class=link href=https://github.com/compose-spec/compose-spec/pull/267 rel=noopener>compose-spec#267<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></li><li>Logs now filter to services from current Compose file. Fixes <a class=link href=https://github.com/docker/compose/issues/9801 rel=noopener>compose#9801<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></li><li>Added an improved output warning when pulling images. Fixes <a class=link href=https://github.com/docker/compose/issues/9820 rel=noopener>compose#9820<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></li><li>Fixed a bug to ensure correct capture of exit code when service has dependencies. Fixes <a class=link href=https://github.com/docker/compose/issues/9778 rel=noopener>compose#9778<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></li><li>Fixed <code>down</code> with <code>--rmi</code>. Fixes <a class=link href=https://github.com/docker/compose/issues/9655 rel=noopener>compose#9655<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></li><li>Fixed docker-compose convert that turns $ into $$ when using the --no-interpolate option. Fixes <a class=link href=https://github.com/docker/compose/issues/9160 rel=noopener>compose#9160<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></li><li>Fixed <code>build.go</code> access custom labels directly cause panic. See <a class=link href=https://github.com/docker/compose/pull/9810 rel=noopener>compose#9810<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></li><li>Applied newly loaded envvars to "DockerCli" and "APIClient". Fixes <a class=link href=https://github.com/docker/compose/issues/9210 rel=noopener>compose#9210<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></li><li>Only attempt to start specified services on <code>compose start [services]</code>. Fixes <a class=link href=https://github.com/docker/compose/issues/9796 rel=noopener>compose#9796<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> <a class=link href=https://github.com/docker/compose/issues/9807 rel=noopener>compose#9807<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></li><li>Label built images for reliable cleanup on <code>down</code>. Fixes <a class=link href=https://github.com/docker/compose/issues/9655 rel=noopener>compose#9655<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></li></ul><p>For the full change log or additional information, check the <a class=link href=https://github.com/docker/compose/releases/tag/v2.11.0 rel=noopener>Compose repository 2.11.0 release page<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>.</p><h2 class=scroll-mt-20 id=2102><a class="text-black dark:text-white no-underline hover:underline" href=#2102>2.10.2</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-08-26</em><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-51><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-51>Bug fixes and enhancements</a></h3><ul><li>Properly respect <code>DOCKER_TLS_VERIFY</code> and <code>DOCKER_CERT_PATH</code> environment variables. Fixes <a class=link href=https://github.com/docker/compose/issues/9789 rel=noopener>compose#9789<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>.</li><li>Improved <code>Makefile</code> used in <a class=link href=https://github.com/docker/docker-ce-packaging/pull/742 rel=noopener>docker/docker-ce-packaging#742<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>.</li></ul><p>For the full change log or additional information, check the <a class=link href=https://github.com/docker/compose/releases/tag/v2.10.2 rel=noopener>Compose repository 2.10.2 release page<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>.</p><h2 class=scroll-mt-20 id=2101><a class="text-black dark:text-white no-underline hover:underline" href=#2101>2.10.1</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-08-24</em><h3 class=scroll-mt-20 id=updates-7><a class="text-black dark:text-white no-underline hover:underline" href=#updates-7>Updates</a></h3><ul><li>Dependencies update: Bumped github.com/moby/buildkit from <a class=link href=https://github.com/moby/buildkit/releases/tag/v0.10.4 rel=noopener>0.10.3 to 0.10.4<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>.</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-52><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-52>Bug fixes and enhancements</a></h3><ul><li>Fixed image pulls being skipped when <code>pull_policy</code> was not set. Fixes <a class=link href=https://github.com/docker/compose/issues/9773 rel=noopener>compose#9773<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>.</li><li>Restored <code>.sha256</code> checksum files in release artifacts. Fixes <a class=link href=https://github.com/docker/compose/issues/9772 rel=noopener>compose#9772<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>.</li><li>Removed error message showing exit code when using --exit-code-from. Fixes <a class=link href=https://github.com/docker/compose/issues/9782 rel=noopener>compose#9782<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>.</li><li>Fixed <code>compose pull</code> to pull images even when they existed locally if <code>tag=latest</code>.</li><li>CI: Fixed checksums checking and brought back individual checksum files.</li></ul><p>For the full change log or additional information, check the <a class=link href=https://github.com/docker/compose/releases/tag/v2.10.1 rel=noopener>Compose repository 2.10.1 release page<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>.</p><h2 class=scroll-mt-20 id=2100><a class="text-black dark:text-white no-underline hover:underline" href=#2100>2.10.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-08-19</em><h3 class=scroll-mt-20 id=new><a class="text-black dark:text-white no-underline hover:underline" href=#new>New</a></h3><ul><li>Applied newly loaded environment variables to <code>DockerCli</code> and <code>APIClient</code>. Fixes <a class=link href=https://github.com/docker/compose/issues/9210 rel=noopener>compose#9210<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>.</li><li>Added support for windows/arm64 and linux/riscv64.</li></ul><h3 class=scroll-mt-20 id=updates-8><a class="text-black dark:text-white no-underline hover:underline" href=#updates-8>Updates</a></h3><ul><li>Updated Dockerfile syntax to latest stable and renamed docs Dockerfile.</li><li>Dependencies update: Upgraded BuildKit & docker/distribution.</li><li>Dependencies update: Updated Docker CLI version used in CI to v20.10.17.</li><li>Dependencies update: Bumped github.com/containerd/containerd from <a class=link href=https://github.com/containerd/containerd/releases/tag/v1.6.7 rel=noopener>1.6.6 to 1.6.7<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>.</li><li>Dependencies update: Bump github.com/containerd/containerd from <a class=link href=https://github.com/containerd/containerd/releases/tag/v1.6.8 rel=noopener>1.6.7 to 1.6.8<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>.</li><li>Dependencies update: Bumped to Go 1.18.5.</li><li>Dependencies update: Bumped github.com/cnabio/cnab-to-oci from <a class=link href=https://github.com/cnabio/cnab-to-oci/releases/tag/v0.3.6 rel=noopener>0.3.5 to 0.3.6<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>.</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-53><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-53>Bug fixes and enhancements</a></h3><ul><li>Reverted environment variables precedence to OS over <code>.env</code> file. Fixes <a class=link href=https://github.com/docker/compose/issues/9737 rel=noopener>compose#9737<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>.</li><li>Updated usage strings for consistency.</li><li>Resolved environment variables case-insensitively on Windows. Fixes <a class=link href=https://github.com/docker/compose/issues/9431 rel=noopener>compose#9431<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>.</li><li>Fixed <code>compose up</code> so dependency containers aren't stopped when a stop signal is issued. This keeps parity with v1 behavior-wise.</li><li>Fixes <a class=link href=https://github.com/docker/compose/issues/9696 rel=noopener>compose#9696<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>.</li><li>Fixed commands that start/restart/pause/unpause so that, if ran from the Compose file, the Compose model is also applied. Fixes <a class=link href=https://github.com/docker/compose/issues/9705 rel=noopener>compose#9705<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> and <a class=link href=https://github.com/docker/compose/issues/9671 rel=noopener>compose#9705<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>.</li><li>Removed extra whitespaces in help text of some subcommands.</li><li>Fixed <code>compose create</code> to not override service pull policy when the value from the command line is configured as the default. Fixes <a class=link href=https://github.com/docker/compose/issues/9717 rel=noopener>compose#9717<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>.</li><li>Filtered out "commandConn.Close- warning" message. Fixes <a class=link href=https://github.com/docker/compose/issues/8544 rel=noopener>compose#8544<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>.</li><li>Fixed up/start/run to not wait for disabled dependency. Fixes <a class=link href=https://github.com/docker/compose/issues/9591 rel=noopener>compose#9591<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>.</li><li>Applied Compose model on <code>compose kill</code>, added <code>--remove-orphans</code> option. Fixes <a class=link href=https://github.com/docker/compose/issues/9742 rel=noopener>compose#9742<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>.</li><li>Fixed <code>compose pull</code> to avoid pulling the same images multiple times. Fixes <a class=link href=https://github.com/docker/compose/issues/8768 rel=noopener>compose#8768<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>.</li><li>Fixed version of golangci-lint to v1.47.3, issue with v1.48.0 for now.</li></ul><p>For the full change log, check the <a class=link href=https://github.com/docker/compose/releases/tag/v2.10.0 rel=noopener>Compose repository 2.10.0 release page<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>.</p><h2 class=scroll-mt-20 id=290><a class="text-black dark:text-white no-underline hover:underline" href=#290>2.9.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-08-7</em><blockquote class="px-4 border-l-4 border-violet-light dark:border-violet-dark"><p class="flex gap-2 items-center text-violet-light dark:text-violet-dark"><span class="icon-svg pb-1"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M480-281q14 0 24.5-10.5T515-316t-10.5-24.5T480-351t-24.5 10.5T445-316t10.5 24.5T480-281zm0-144q13 0 21.5-8.5T510-455v-203q0-13-8.5-21.5T480-688t-21.5 8.5T450-658v203q0 13 8.5 21.5T480-425zM355-120q-12 0-23.5-5T312-138L138-312q-8-8-13-19.5t-5-23.5v-250q0-12 5-23.5t13-19.5l174-174q8-8 19.5-13t23.5-5h250q12 0 23.5 5t19.5 13l174 174q8 8 13 19.5t5 23.5v250q0 12-5 23.5T822-312L648-138q-8 8-19.5 13t-23.5 5H355z"/></svg> </span><strong>Important</strong></p><p><p>Compose v2.9.0 contains changes to the environment variable's precedence that have since been reverted. We recommend using v2.10+ to avoid compatibility issues.</p></blockquote><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>This release reverts the breaking changes introduced in <a class=link href=#280>Compose v2.8.0</a> by <a class=link href=https://github.com/compose-spec/compose-go/releases/tag/v1.3.0 rel=noopener><code>compose-go v1.3.0</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>.</p></blockquote><h3 class=scroll-mt-20 id=updates-9><a class="text-black dark:text-white no-underline hover:underline" href=#updates-9>Updates</a></h3><ul><li>Updated <a class=link href=https://github.com/compose-spec/compose-go/releases/tag/v1.4.0 rel=noopener><code>compose-go</code> to v1.4.0<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> as previous version introduced breaking changes. Fixes <a class=link href=https://github.com/docker/compose/issues/9700 rel=noopener>compose#9700<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>.</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-54><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-54>Bug fixes and enhancements</a></h3><ul><li>Overwritten parent commands PreRun code for <code>compose version</code>. Fixes <a class=link href=https://github.com/docker/compose/issues/9698 rel=noopener>compose#9698<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>.</li><li>Fixed <code>LinkLocalIPs</code> in V2. Fixes <a class=link href=https://github.com/docker/compose/issues/9692 rel=noopener>compose#9692<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>.</li><li>Linked to <code>BUILDING.md</code> for testing instructions. Fixes <a class=link href=https://github.com/docker/compose/issues/9439 rel=noopener>compose#9439<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>.</li></ul><p>For the full change log or additional information, check the <a class=link href=https://github.com/docker/compose/releases/tag/v2.9.0 rel=noopener>Compose repository 2.9.0 release page<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>.</p><h2 class=scroll-mt-20 id=280><a class="text-black dark:text-white no-underline hover:underline" href=#280>2.8.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-07-29</em><blockquote class="px-4 border-l-4 border-violet-light dark:border-violet-dark"><p class="flex gap-2 items-center text-violet-light dark:text-violet-dark"><span class="icon-svg pb-1"><svg width="48" height="48" viewBox="0 -960 960 960"><path d="M480-281q14 0 24.5-10.5T515-316t-10.5-24.5T480-351t-24.5 10.5T445-316t10.5 24.5T480-281zm0-144q13 0 21.5-8.5T510-455v-203q0-13-8.5-21.5T480-688t-21.5 8.5T450-658v203q0 13 8.5 21.5T480-425zM355-120q-12 0-23.5-5T312-138L138-312q-8-8-13-19.5t-5-23.5v-250q0-12 5-23.5t13-19.5l174-174q8-8 19.5-13t23.5-5h250q12 0 23.5 5t19.5 13l174 174q8 8 13 19.5t5 23.5v250q0 12-5 23.5T822-312L648-138q-8 8-19.5 13t-23.5 5H355z"/></svg> </span><strong>Important</strong></p><p><p>This release introduced a breaking change via <code>compose-go v1.3.0</code> and this <a class=link href=https://github.com/compose-spec/compose-go/pull/294 rel=noopener>PR<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>. In this release, Docker Compose recreates new resources (networks, volumes, secrets, configs, etc.) with new names, using a <code>-</code> (dash) instead an <code>_</code> (underscore) and tries to connect to or use these newly created resources instead of your existing ones!</p><p>Please use Compose the v2.9.0 release instead.</p></blockquote><h3 class=scroll-mt-20 id=new-1><a class="text-black dark:text-white no-underline hover:underline" href=#new-1>New</a></h3><ul><li>Introduced <code>--pull</code> flag to allow the force pull of updated service images. Fixes <a class=link href=https://github.com/docker/compose/issues/9451 rel=noopener>compose#9451<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>.</li><li>Increased code quality by adding <code>gocritic</code> to the linters.</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-55><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-55>Bug fixes and enhancements</a></h3><ul><li>Fixed interpolation error message output. Fixes <a class=link href=https://github.com/compose-spec/compose-go/pull/292 rel=noopener>compose-spec/compose-go#292<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>.</li><li>Defined precedence of the environment variables evaluation. Fixes <a class=link href=https://github.com/docker/compose/issues/9606 rel=noopener>compose#9521<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>, <a class=link href=https://github.com/docker/compose/issues/9638 rel=noopener>compose#9638<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>, <a class=link href=https://github.com/docker/compose/issues/9608 rel=noopener>compose#9608<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>, <a class=link href=https://github.com/docker/compose/issues/9578 rel=noopener>compose#9578<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>. <a class=link href=https://github.com/docker/compose/issues/9468 rel=noopener>compose#9468<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>, and <a class=link href=https://github.com/docker/compose/issues/9468 rel=noopener>compose#9683<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>.</li><li>Docs CI: Fixed to use push-to-fork when creating a PR.</li><li>Used environmental variable for golang's version and updates GitHub Actions from v2 to v3.</li><li>Used <a class=link href=https://github.com/google/addlicense rel=noopener>google/addlicense<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> instead of <a class=link href=https://github.com/kunalkushwaha/ltag rel=noopener>kunalkushwaha/ltag<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>.</li></ul><p>For the full change log or additional information, check the <a class=link href=https://github.com/docker/compose/releases/tag/v2.8.0 rel=noopener>Compose repository 2.8.0 release page<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>.</p><h2 class=scroll-mt-20 id=270><a class="text-black dark:text-white no-underline hover:underline" href=#270>2.7.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-07-20</em><h3 class=scroll-mt-20 id=new-2><a class="text-black dark:text-white no-underline hover:underline" href=#new-2>New</a></h3><ul><li>Added support for environment secrets during build step. Fixes <a class=link href=https://github.com/docker/compose/issues/9606 rel=noopener>compose#9606<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>.</li></ul><h3 class=scroll-mt-20 id=updates-10><a class="text-black dark:text-white no-underline hover:underline" href=#updates-10>Updates</a></h3><ul><li>Dependencies upgrade: bumped <a class=link href=https://github.com/golang/go/compare/go1.18.3...go1.18.4 rel=noopener>go to 1.18.4<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>.</li><li>Dependencies upgrade: bumped <a class=link href=https://github.com/compose-spec/compose-go/releases/tag/v1.2.9 rel=noopener>compose-go to v1.2.9<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>.</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-56><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-56>Bug fixes and enhancements</a></h3><ul><li>Networks: prevented issues due to duplicate names. Fixes <a class=link href=https://github.com/moby/moby/issues/18864 rel=noopener>moby/moby#18864<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>.</li><li>Fixed issue with close networks name on <code>compose up</code> and <code>compose down</code> commands. Fixes <a class=link href=https://github.com/docker/compose/issues/9044 rel=noopener>compose#9630<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>.</li><li>Used appropriate dependency condition for one-shot containers when running <code>compose up --wait</code>. Fixes <a class=link href=https://github.com/docker/compose/pull/9572 rel=noopener>compose#9606<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>.</li><li>Fixed environment variable expansion.</li><li>Validated depended-on services exist in consistency check. Fixes <a class=link href=https://github.com/docker/compose/issues/8910 rel=noopener>compose#8910<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>.</li><li>Fixed hash usage in environment values. Fixes <a class=link href=https://github.com/docker/compose/issues/9509 rel=noopener>compose#9509<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>.</li><li>Docker Build: added fix to respect dependency order for classic builder. Fixes <a class=link href=https://github.com/docker/compose/issues/8538 rel=noopener>compose#8538<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>.</li><li>Fixed panic caused by empty string argument. Fixes <a class=link href=https://github.com/docker/compose-switch/issues/35 rel=noopener>compose-switch#35<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>.</li><li>Fixed start/restart as to not impact one-off containers. Fixes <a class=link href=https://github.com/docker/compose/issues/9044 rel=noopener>compose#9509<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>.</li><li>Fixed to keep the container reference when <code>volumes_from</code> targets a container and not a service. Fixes <a class=link href=https://github.com/docker/compose/issues/8874 rel=noopener>compose#8874<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>.</li><li>build.go: added fix to initialize <code>CustomLabels</code> map if <code>nil</code>.</li><li>Added new targets to build Compose binary before running e2e tests.</li><li>CI: released workflow to open a PR on docs repo with latest changes.</li><li>e2e: added test for <code>ps</code>.</li><li>e2e: split out pause tests and add more cases.</li><li>e2e: add more start/stop test cases.</li></ul><p>For the full change log or additional information, check the <a class=link href=https://github.com/docker/compose/releases/tag/v2.7.0 rel=noopener>Compose repository 2.7.0 release page<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>.</p><h2 class=scroll-mt-20 id=261><a class="text-black dark:text-white no-underline hover:underline" href=#261>2.6.1</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-06-23</em><h3 class=scroll-mt-20 id=new-3><a class="text-black dark:text-white no-underline hover:underline" href=#new-3>New</a></h3><ul><li>Added support for setting secrets from environment variable. Fixes <a class=link href=https://github.com/compose-spec/compose-spec/issues/251 rel=noopener>compose-spec/compose-spec#251<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>.</li></ul><h3 class=scroll-mt-20 id=updates-11><a class="text-black dark:text-white no-underline hover:underline" href=#updates-11>Updates</a></h3><ul><li>Upgrade: compose-go <a class=link href=https://github.com/compose-spec/compose-go/releases/tag/v1.2.8 rel=noopener>v1.2.8<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>.</li><li>Upgrade: buildx <a class=link href=https://github.com/docker/buildx/releases/tag/v0.8.2 rel=noopener>v0.8.2<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>.</li><li>Dependencies upgrade: bumped runc <a class=link href=https://github.com/opencontainers/runc/releases/tag/v1.1.2 rel=noopener>to 1.1.2<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>.</li><li>Dependencies upgrade: bumped golang to <a class=link href=https://go.dev/doc/devel/release#go1.18.minor rel=noopener>1.18.3<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>.</li><li>Dependencies upgrade: bumped compose-go to <a class=link href=https://github.com/compose-spec/compose-go/releases/tag/v1.2.8 rel=noopener>v1.2.8<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>.</li><li>Dependencies upgrade: bumped github.com/theupdateframework/notary from 0.6.1 to 0.7.0.</li><li>Dependencies upgrade: bumped github.com/cnabio/cnab-to-oci from 0.3.1-beta1 to 0.3.3.</li><li>Dependencies upgrade: bumped github.com/hashicorp/go-version from 1.3.0 to 1.5.0.</li><li>Dependencies upgrade: bumped github.com/stretchr/testify from 1.7.0 to 1.7.2.</li><li>Dependencies upgrade: bumped github.com/docker/buildx from 0.8.1 to 0.8.2.</li><li>Dependencies upgrade: bumped github.com/AlecAivazis/survey/v2 from 2.3.2 to 2.3.5.</li><li>Dependencies upgrade: bumped github.com/containerd/containerd from 1.6.2 to 1.6.6.</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-57><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-57>Bug fixes and enhancements</a></h3><ul><li>Added links to container create request. Fixes <a class=link href=https://github.com/docker/compose/issues/9513 rel=noopener>#9513<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>.</li><li>Fixed <code>compose run</code> to start only direct dependencies. Fixes <a class=link href=https://github.com/docker/compose/issues/9459 rel=noopener>#9459<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>.</li><li>Fixed <code>compose up</code> 'service not found' errors when using <code>--no-deps</code> option. Fixes <a class=link href=https://github.com/docker/compose/issues/9427 rel=noopener>#9427<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>.</li><li>Fixed <code>compose down</code> to respect <code>COMPOSE_REMOVE_ORPHANS</code> environment variable. Fixes <a class=link href=https://github.com/docker/compose/issues/9562 rel=noopener>#9562<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>.</li><li>Fixed project-level bind mount volumes. Fixes <a class=link href=https://github.com/docker/for-mac/issues/6317 rel=noopener>docker/for-mac#6317<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>.</li><li>Fixed parsing of properties <code>deploy.limits.cpus</code> and <code>deploy.limits.pids</code> to respect floating-point values. Fixes <a class=link href=https://github.com/docker/compose/issues/9542 rel=noopener>#9542<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> and <a class=link href=https://github.com/docker/compose/issues/9501 rel=noopener>#9501<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>.</li><li>Fixed <code>compose ps</code> output to list all exposed ports. Fixes <a class=link href=https://github.com/docker/compose/issues/9527 rel=noopener>#9257<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>.</li><li>Fixed spelling mistakes in <code>compose ps</code> code.</li><li>Fixed <code>docker compose</code> to honor <code>--no-ansi</code> even when deprecated option is requested.</li><li>Fixed network name and network ID possible ambiguity.</li><li>e2e: added test for <code>ps</code>.</li><li>e2e: unmarshalled json into container summaries.</li><li>e2e: fixed subtests and block parallel unsafe tests.</li><li>e2e: isolated test command env from system env.</li><li>e2e: fixed spurious <code>ps</code> failures.</li><li>e2e: ensured all compose commands standalone compatible.</li><li>e2e: improved test output on failures.</li></ul><p>For the full change log or additional information, check the <a class=link href=https://github.com/docker/compose/releases/tag/v2.6.1 rel=noopener>Compose repository 2.6.1 release page<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>.</p><h2 class=scroll-mt-20 id=260><a class="text-black dark:text-white no-underline hover:underline" href=#260>2.6.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-05-30</em><h3 class=scroll-mt-20 id=new-4><a class="text-black dark:text-white no-underline hover:underline" href=#new-4>New</a></h3><ul><li>Added the tags property to the build section. In this property tags can be defined to be applied to the final image, in addition to the one defined in the image property.</li><li>Added end-to-end tests to ensure there is no regression on environment variables precedence.</li><li>Added ddev's end-to-end test.</li></ul><h3 class=scroll-mt-20 id=updates-12><a class="text-black dark:text-white no-underline hover:underline" href=#updates-12>Updates</a></h3><ul><li>Dependencies update: bumping <a class=link href=https://github.com/compose-spec/compose-go/releases/tag/v1.2.6 rel=noopener>compose-go to 1.2.6<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>.</li><li>Dependencies update: bumping <a class=link href=https://github.com/compose-spec/compose-go/releases/tag/v1.2.7 rel=noopener>compose-go to 1.2.7<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>.</li><li>Dependencies update: bumping <a class=link href=https://go.dev/doc/devel/release#go1.18 rel=noopener>golang to 1.18<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>.</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-58><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-58>Bug fixes and enhancements</a></h3><ul><li>Fixed <code>compose up</code> to attach only to services declared in project with enabled profiles. Fixes <a class=link href=https://github.com/docker/compose/issues/9286 rel=noopener>#9286<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>.</li><li>Fixed flickering prompt when pulling same image from multiple services. Fixes <a class=link href=https://github.com/docker/compose/issues/9469 rel=noopener>#9469<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>.</li><li>Fixed compose go to import .env file to OS environment to allow setting variables (such as DOCKER_BUILDKIT) through this file. Fixes <a class=link href=https://github.com/docker/compose/issues/9345 rel=noopener>#9345<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>.</li><li>Fixed <code>TestLocalComposeUp</code> that failed locally.</li><li>Fixed local run of make <code>e2e-compose-standalone</code>.</li></ul><p>For the full change log or additional information, check the <a class=link href=https://github.com/docker/compose/releases/tag/v2.6.0 rel=noopener>Compose repository 2.6.0 release page<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>.</p><h2 class=scroll-mt-20 id=251><a class="text-black dark:text-white no-underline hover:underline" href=#251>2.5.1</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-05-17</em><h3 class=scroll-mt-20 id=updates-13><a class="text-black dark:text-white no-underline hover:underline" href=#updates-13>Updates</a></h3><ul><li>Dependencies updates: bumping compose-go to 1.2.5.</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-59><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-59>Bug fixes and enhancements</a></h3><ul><li>Fixed resolution of project's working directive absolute path when a relative path is declared using '--env-file'. Fixes <a class=link href=https://github.com/docker/for-mac/issues/6229 rel=noopener>docker/for-mac#6229<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>.</li><li>Fixed <code>compose down</code>: now rejects all arguments in order to clarify usage. Fixes <a class=link href=https://github.com/docker/compose/issues/9151 rel=noopener>#9151<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>.</li><li>Fixed <code>compose down</code>: now exits with status=0 if there is nothing to remove. Fixes <a class=link href=https://github.com/docker/compose/issues/9426 rel=noopener>#9426<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>.</li><li>Fixed extra space printed in logs output lines with --no-log-prefix option. Fixes <a class=link href=https://github.com/docker/compose/issues/9464 rel=noopener>#9464<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>.</li><li>Clarified what the default work dir is when multiple compose files are passed.</li><li>cp command: copy to all containers of a service as default behavior.</li></ul><p>For the full change log or additional information, check the <a class=link href=https://github.com/docker/compose/releases/tag/v2.5.1 rel=noopener>Compose repository 2.5.1 release page<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>.</p><h2 class=scroll-mt-20 id=250><a class="text-black dark:text-white no-underline hover:underline" href=#250>2.5.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-04-29</em><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-60><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-60>Bug fixes and enhancements</a></h3><ul><li>Fixed panic with <code>compose down</code> command when <code>-p</code> flag specified. Fixes <a class=link href=https://github.com/docker/compose/issues/9353 rel=noopener>#9353<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>.</li><li>Passed newly created project as input to start services (<code>docker compose up</code>). Fixes <a class=link href=https://github.com/docker/compose/issues/9356 rel=noopener>#9356<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>.</li><li>Included services declared under links in docker-compose file as implicit dependencies. Fixes <a class=link href=https://github.com/docker/compose/issues/9301 rel=noopener>#9301<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>.</li><li>Added changes <code>docker compose pull</code> command to respect defined policy: 1) skip services configured as <code>pull_policy: never</code> and 2) ignore those with an existing image and <code>pull_policy: missing</code>. Fixes <a class=link href=https://github.com/docker/compose/issues/3660 rel=noopener>#3660<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>.</li><li>Error building project from resources is no longer ignored in order to prevent <code>down</code> panic. Fixes <a class=link href=https://github.com/docker/compose/issues/9383 rel=noopener>#9383<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>.</li><li>Enforced project name to be lowercase. Fixes <a class=link href=https://github.com/docker/compose/issues/9378 rel=noopener>#9378<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>.</li><li>Added support to build-time secrets. Fixes <a class=link href=https://github.com/docker/compose/issues/6358 rel=noopener>#6358<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>.</li><li>Changed <code>compose-go</code> to allow (re)building volume string to be used by engine <code>bind</code> API when mount can't be used. Fixes <a class=link href=https://github.com/docker/compose/issues/9380 rel=noopener>#9380<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>.</li><li>Provided checksums.txt file and added <code>--binary</code> to allow verification in different OS. Fixes <a class=link href=https://github.com/docker/compose/issues/9388 rel=noopener>#9388<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>.</li><li>Added changes so locally pulled image's ID is inspected and persisted to <code>com.docker.compose.image</code>. Fixes <a class=link href=https://github.com/docker/compose/issues/9357 rel=noopener>#9357<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>.</li><li>Fixed issue regarding IPAM gateway setup. Fixes <a class=link href=https://github.com/docker/compose/issues/9330 rel=noopener>#9330<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>.</li><li>Added support for ppc64le architecture for docker compose binary.</li><li>Fixed search/replace typo in <code>--no-TTY</code> documentation.</li></ul><p>For the full change log or additional information, check the <a class=link href=https://github.com/docker/compose/releases/tag/v2.5.0 rel=noopener>Compose repository 2.5.0 release page<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>.</p><h2 class=scroll-mt-20 id=241><a class="text-black dark:text-white no-underline hover:underline" href=#241>2.4.1</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-04-04</em><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-61><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-61>Bug fixes and enhancements</a></h3><ul><li>Passed the <code>--rm flag</code> value as is to the Docker CLI when running a container with this flag. Fixes <a class=link href=https://github.com/docker/compose/issues/9314 rel=noopener>#9314<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>.</li><li>Added ssh config to the build options when building an image from a <code>docker compose up</code> command. Fixes <a class=link href=https://github.com/docker/compose/issues/9338 rel=noopener>#9338<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>.</li><li>Added inspection to container checking if a TTY is required. Running services with <code>tty:true</code> specified now show console output. Fixes <a class=link href=https://github.com/docker/compose/issues/9288 rel=noopener>#9288<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>.</li></ul><p>For the full change log or additional information, check the <a class=link href=https://github.com/docker/compose/releases/tag/v2.4.1 rel=noopener>Compose repository 2.4.1 release page<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>.</p><h2 class=scroll-mt-20 id=240><a class="text-black dark:text-white no-underline hover:underline" href=#240>2.4.0</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-04-1</em><h3 class=scroll-mt-20 id=updates-14><a class="text-black dark:text-white no-underline hover:underline" href=#updates-14>Updates</a></h3><ul><li>Dependencies update: Bumped buildx to v0.8.1. to fix possible panic on handling build context scanning errors.</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-62><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-62>Bug fixes and enhancements</a></h3><ul><li>Passed the interactive flag '-i' from the Compose CLI to the Docker one to run exec command. Fixes <a class=link href=https://github.com/docker/compose/issues/9315 rel=noopener>#9315<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>.</li><li>Compose commands now take the value of <code>COMPOSE_PROJECT_NAME</code> environmental variable into consideration. Fixes <a class=link href=https://github.com/docker/compose/issues/9316 rel=noopener>#9316<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>.</li><li>Fixed issue of <code>compose down</code> command that when executed in contexts without any services started or resources to be deleted was returning an error. Error was due to command trying to delete an inexistent default network. Fixes <a class=link href=https://github.com/docker/compose/issues/9333 rel=noopener>#9333<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>.</li><li>Introduced support for <code>cache_from</code>, <code>cache_to</code>, <code>no_cache</code> and <code>pull</code> attributes in the build section. These attributes allow forcing a complete rebuild from sources and checking with registry for images used. These changes provide the basis for offering <code>--no-cache</code> and <code>--pull</code> options for compose build (or equivalent) command down the line.</li><li>Introduced support of an <code>--ssh</code> flag for the <code>build</code> command from CLI and Compose file. Fixes <a class=link href=https://github.com/docker/compose/issues/7025 rel=noopener>#7025<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>.</li><li>Fixed typo in <code>--ssh</code> flag description. Related to <a class=link href=https://github.com/docker/compose/issues/7025 rel=noopener>#7025<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>.</li><li>Pinned Kubernetes dependencies to the same version as in buildx.</li><li>Passed the interactive flag from the Compose CLI to the Docker one to run exec command.</li><li>Fixed race condition on start-stop end-to-end tests running in parallel.</li><li>Removed code regarding an obsolete warning.</li><li>Vendor: github.com/containerd/containerd v1.6.2. Includes a fix for CVE-2022-24769 (doesn't affect our codebase).</li></ul><p>For the full change log or additional information, check the <a class=link href=https://github.com/docker/compose/releases/tag/v2.4.0 rel=noopener>Compose repository 2.4.0 release page<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>.</p><h2 class=scroll-mt-20 id=234><a class="text-black dark:text-white no-underline hover:underline" href=#234>2.3.4</a></h2><em class="italic text-gray-light-500 dark:text-gray-dark-500">2022-03-25</em><h3 class=scroll-mt-20 id=new-5><a class="text-black dark:text-white no-underline hover:underline" href=#new-5>New</a></h3><ul><li>Introduced changes to use RunExec and RunStart from docker/cli to handle all the interactive/tty/* terminal logic.</li></ul><h3 class=scroll-mt-20 id=removed><a class="text-black dark:text-white no-underline hover:underline" href=#removed>Removed</a></h3><ul><li>Removed a container with no candidate now produces a warning instead of an error. Fixes <a class=link href=https://github.com/docker/compose/issues/9255 rel=noopener>#9255<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>.</li><li>Removed the "Deprecated" mentions from -i and -t options to run and exec commands. These options are on by default and in use. Fixes <a class=link href=https://github.com/docker/compose/pull/9229#discussion_r819730788 rel=noopener>#9229<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>.</li><li>Removed the "Deprecated" mention from the --filter flag, to keep consistency with other commands.</li><li>Removed the need to get the original compose.yaml file to run 'docker compose kill'.</li></ul><h3 class=scroll-mt-20 id=updates-15><a class="text-black dark:text-white no-underline hover:underline" href=#updates-15>Updates</a></h3><ul><li>Dependencies update: Bumped github.com/spf13/cobra from 1.3.0 to 1.4.0. Cobra library no longer requires Viper and all of its indirect dependencies <a class=link href=https://github.com/spf13/cobra/releases rel=noopener>See cobra's release page<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>.</li><li>Dependencies update: Bumped buildx from v0.7.1 to v0.8.0.</li></ul><h3 class=scroll-mt-20 id=bug-fixes-and-enhancements-63><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-and-enhancements-63>Bug fixes and enhancements</a></h3><ul><li>Recovered behavior for 'compose up -d' of recreating containers of compose file images with refreshed content. Fixes <a class=link href=https://github.com/docker/compose/issues/9259 rel=noopener>#9259<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>.</li><li>Docker compose --status, --filter and --format flags documentation updates.</li><li><code>docker compose down -v</code> now does not remove external volumes and networks as per the option's expected and documented behavior. Whenever project is specified it is also now used to enforce down to only remove resources listed in compose.yaml file. Fixes <a class=link href=https://github.com/docker/compose/issues/9172 rel=noopener>#9172<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>, <a class=link href=https://github.com/docker/compose/issues/9145 rel=noopener>#9145<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>.</li><li>Changed Compose API reference docs automation to pick up diffs code vs. docs.</li></ul><p>For the full change log or additional information, check the <a class=link href=https://github.com/docker/compose/releases/tag/v2.3.4 rel=noopener>Compose repository 2.3.4 release page<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>.</p><h2 class=scroll-mt-20 id=other-releases><a class="text-black dark:text-white no-underline hover:underline" href=#other-releases>Other Releases</a></h2><p>(2022-03-8 to 2022-04-14)</p><p>For the releases later than 1.29.2 and earlier than 2.3.4, please check the <a class=link href=https://github.com/docker/compose/releases rel=noopener>Compose repository release pages<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>.</p><h2 class=scroll-mt-20 id=1292><a class="text-black dark:text-white no-underline hover:underline" href=#1292>1.29.2</a></h2><p>(2021-05-10)</p><h3 class=scroll-mt-20 id=miscellaneous><a class="text-black dark:text-white no-underline hover:underline" href=#miscellaneous>Miscellaneous</a></h3><ul><li><p>Removed the prompt to use <code>docker-compose</code> in the <code>up</code> command.</p></li><li><p>Bumped <code>py</code> to <code>1.10.0</code> in <code>requirements-indirect.txt</code>.</p></li></ul><h2 class=scroll-mt-20 id=1291><a class="text-black dark:text-white no-underline hover:underline" href=#1291>1.29.1</a></h2><p>(2021-04-13)</p><h3 class=scroll-mt-20 id=bugs><a class="text-black dark:text-white no-underline hover:underline" href=#bugs>Bugs</a></h3><ul><li><p>Fixed invalid handler warning on Windows builds.</p></li><li><p>Fixed config hash to trigger container re-creation on IPC mode updates.</p></li><li><p>Fixed conversion map for <code>placement.max_replicas_per_node</code>.</p></li><li><p>Removed extra scan suggestion on build.</p></li></ul><h2 class=scroll-mt-20 id=1290><a class="text-black dark:text-white no-underline hover:underline" href=#1290>1.29.0</a></h2><p>(2021-04-06)</p><h3 class=scroll-mt-20 id=features><a class="text-black dark:text-white no-underline hover:underline" href=#features>Features</a></h3><ul><li><p>Added profile filter to <code>docker-compose config</code>.</p></li><li><p>Added a <code>depends_on</code> condition to wait for successful service completion.</p></li></ul><h3 class=scroll-mt-20 id=miscellaneous-1><a class="text-black dark:text-white no-underline hover:underline" href=#miscellaneous-1>Miscellaneous</a></h3><ul><li><p>Added an image scan message on build.</p></li><li><p>Updated warning message for <code>--no-ansi</code> to mention <code>--ansi never</code> as alternative.</p></li><li><p>Bumped docker-py to 5.0.0.</p></li><li><p>Bumped PyYAML to 5.4.1.</p></li><li><p>Bumped python-dotenv to 0.17.0.</p></li></ul><h2 class=scroll-mt-20 id=1286><a class="text-black dark:text-white no-underline hover:underline" href=#1286>1.28.6</a></h2><p>(2021-03-23)</p><h3 class=scroll-mt-20 id=bug-fixes><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes>Bug fixes</a></h3><ul><li><p>Made <code>--env-file</code> relative to the current working directory. Environment file paths set with <code>--env-file</code> are now relative to the current working directory and override the default <code>.env</code> file located in the project directory.</p></li><li><p>Fixed missing service property <code>storage_opt</code> by updating the Compose schema.</p></li><li><p>Fixed build <code>extra_hosts</code> list format.</p></li><li><p>Removed additional error message on <code>exec</code>.</p></li></ul><h3 class=scroll-mt-20 id=miscellaneous-2><a class="text-black dark:text-white no-underline hover:underline" href=#miscellaneous-2>Miscellaneous</a></h3><ul><li>Added <code>compose.yml</code> and <code>compose.yaml</code> to the default filename list.</li></ul><h2 class=scroll-mt-20 id=1285><a class="text-black dark:text-white no-underline hover:underline" href=#1285>1.28.5</a></h2><p>(2021-02-26)</p><h3 class=scroll-mt-20 id=bugs-1><a class="text-black dark:text-white no-underline hover:underline" href=#bugs-1>Bugs</a></h3><ul><li><p>Fixed the OpenSSL version mismatch error when shelling out to the SSH client (via bump to docker-py 4.4.4 which contains the fix).</p></li><li><p>Added missing build flags to the native builder: <code>platform</code>, <code>isolation</code> and <code>extra_hosts</code>.</p></li><li><p>Removed info message on native build.</p></li><li><p>Fixed the log fetching bug when service logging driver is set to 'none'.</p></li></ul><h2 class=scroll-mt-20 id=1284><a class="text-black dark:text-white no-underline hover:underline" href=#1284>1.28.4</a></h2><p>(2021-02-18)</p><h3 class=scroll-mt-20 id=bug-fixes-1><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-1>Bug fixes</a></h3><ul><li>Fixed SSH port parsing by bumping docker-py to 4.4.3.</li></ul><h3 class=scroll-mt-20 id=miscellaneous-3><a class="text-black dark:text-white no-underline hover:underline" href=#miscellaneous-3>Miscellaneous</a></h3><ul><li>Bumped Python to 3.7.10.</li></ul><h2 class=scroll-mt-20 id=1283><a class="text-black dark:text-white no-underline hover:underline" href=#1283>1.28.3</a></h2><p>(2021-02-17)</p><h3 class=scroll-mt-20 id=bug-fixes-2><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-2>Bug fixes</a></h3><ul><li><p>Fixed SSH hostname parsing when it contains a leading 's'/'h', and removed the quiet option that was hiding the error (via docker-py bump to 4.4.2).</p></li><li><p>Fixed key error for <code>--no-log-prefix</code> option.</p></li><li><p>Fixed incorrect CLI environment variable name for service profiles: <code>COMPOSE_PROFILES</code> instead of <code>COMPOSE_PROFILE</code>.</p></li><li><p>Fixed the fish completion.</p></li></ul><h3 class=scroll-mt-20 id=miscellaneous-4><a class="text-black dark:text-white no-underline hover:underline" href=#miscellaneous-4>Miscellaneous</a></h3><ul><li><p>Bumped cryptography to 3.3.2.</p></li><li><p>Removed the log driver filter.</p></li></ul><p>For a list of PRs and issues fixed in this release, see <a class=link href="https://github.com/docker/compose/milestone/53?closed=1" rel=noopener>Compose 1.28.3<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>.</p><h2 class=scroll-mt-20 id=1282><a class="text-black dark:text-white no-underline hover:underline" href=#1282>1.28.2</a></h2><p>(2021-01-26)</p><h3 class=scroll-mt-20 id=bug-fixes-3><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-3>Bug fixes</a></h3><ul><li><p>Revert to Python 3.7 bump for Linux static builds</p></li><li><p>Add bash completion for <code>docker-compose logs|up --no-log-prefix</code></p></li></ul><h3 class=scroll-mt-20 id=miscellaneous-5><a class="text-black dark:text-white no-underline hover:underline" href=#miscellaneous-5>Miscellaneous</a></h3><ul><li>CI setup update</li></ul><h2 class=scroll-mt-20 id=1280><a class="text-black dark:text-white no-underline hover:underline" href=#1280>1.28.0</a></h2><p>(2021-01-20)</p><h3 class=scroll-mt-20 id=features-1><a class="text-black dark:text-white no-underline hover:underline" href=#features-1>Features</a></h3><ul><li><p>Added support for NVIDIA GPUs through device requests.</p></li><li><p>Added support for service profiles.</p></li><li><p>Changed the SSH connection approach to the Docker CLI by shelling out to the local SSH client. Set the <code>COMPOSE_PARAMIKO_SSH=1</code> environment variable to enable the old behavior.</p></li><li><p>Added a flag to disable log prefix.</p></li><li><p>Added a flag for ANSI output control.</p></li><li><p>Docker Compose now uses the native Docker CLI's <code>build</code> command when building images. Set the <code>COMPOSE_DOCKER_CLI_BUILD=0</code> environment variable to disable this feature.</p></li></ul><h3 class=scroll-mt-20 id=bug-fixes-4><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-4>Bug fixes</a></h3><ul><li><p>Made <code>parallel_pull=True</code> by default.</p></li><li><p>Restored the warning for configs in non-swarm mode.</p></li><li><p>Took <code>--file</code> into account when defining <code>project_dir</code>.</p></li><li><p>Fixed a service attach bug on <code>compose up</code>.</p></li></ul><h3 class=scroll-mt-20 id=miscellaneous-6><a class="text-black dark:text-white no-underline hover:underline" href=#miscellaneous-6>Miscellaneous</a></h3><ul><li><p>Added usage metrics.</p></li><li><p>Synced schema with COMPOSE specification.</p></li><li><p>Improved failure report for missing mandatory environment variables.</p></li><li><p>Bumped <code>attrs</code> to 20.3.0.</p></li><li><p>Bumped <code>more_itertools</code> to 8.6.0.</p></li><li><p>Bumped <code>cryptograhy</code> to 3.2.1.</p></li><li><p>Bumped <code>cffi</code> to 1.14.4.</p></li><li><p>Bumped <code>virtualenv</code> to 20.2.2.</p></li><li><p>Bumped <code>bcrypt</code> to 3.2.0.</p></li><li><p>Bumped GitPython to 3.1.11.</p></li><li><p>Bumped <code>docker-py</code> to 4.4.1.</p></li><li><p>Bumped Python to 3.9.</p></li><li><p>Linux: bumped Debian base image from stretch to buster (required for Python 3.9).</p></li><li><p>macOS: Bumped OpenSSL 1.1.1g to 1.1.1h, and Python 3.7.7 to 3.9.0.</p></li><li><p>Bumped PyInstaller to 4.1.</p></li><li><p>Relaxed the restriction on base images to latest minor.</p></li><li><p>Updated READMEs.</p></li></ul><h2 class=scroll-mt-20 id=1274><a class="text-black dark:text-white no-underline hover:underline" href=#1274>1.27.4</a></h2><p>(2020-09-24)</p><h3 class=scroll-mt-20 id=bug-fixes-5><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-5>Bug fixes</a></h3><ul><li><p>Removed path checks for bind mounts.</p></li><li><p>Fixed port rendering to output long form syntax for non-v1.</p></li><li><p>Added protocol to the Docker socket address.</p></li></ul><h2 class=scroll-mt-20 id=1273><a class="text-black dark:text-white no-underline hover:underline" href=#1273>1.27.3</a></h2><p>(2020-09-16)</p><h3 class=scroll-mt-20 id=bug-fixes-6><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-6>Bug fixes</a></h3><ul><li><p>Merged <code>max_replicas_per_node</code> on <code>docker-compose config</code>.</p></li><li><p>Fixed <code>depends_on</code> serialization on <code>docker-compose config</code>.</p></li><li><p>Fixed scaling when some containers are not running on <code>docker-compose up</code>.</p></li><li><p>Enabled relative paths for <code>driver_opts.device</code> for <code>local</code> driver.</p></li><li><p>Allowed strings for <code>cpus</code> fields.</p></li></ul><h2 class=scroll-mt-20 id=1272><a class="text-black dark:text-white no-underline hover:underline" href=#1272>1.27.2</a></h2><p>(2020-09-10)</p><h3 class=scroll-mt-20 id=bug-fixes-7><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-7>Bug fixes</a></h3><ul><li>Fixed bug on <code>docker-compose run</code> container attach.</li></ul><h2 class=scroll-mt-20 id=1271><a class="text-black dark:text-white no-underline hover:underline" href=#1271>1.27.1</a></h2><p>(2020-09-10)</p><h3 class=scroll-mt-20 id=bug-fixes-8><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-8>Bug fixes</a></h3><ul><li><p>Fixed <code>docker-compose run</code> when <code>service.scale</code> is specified.</p></li><li><p>Allowed the <code>driver</code> property for external networks as a temporary workaround for the Swarm network propagation issue.</p></li><li><p>Pinned the new internal schema version to <code>3.9</code> as the default.</p></li><li><p>Preserved the version number configured in the Compose file.</p></li></ul><h2 class=scroll-mt-20 id=1270><a class="text-black dark:text-white no-underline hover:underline" href=#1270>1.27.0</a></h2><p>(2020-09-07)</p><h3 class=scroll-mt-20 id=features-2><a class="text-black dark:text-white no-underline hover:underline" href=#features-2>Features</a></h3><ul><li><p>Merged 2.x and 3.x Compose formats and aligned with <code>COMPOSE_SPEC</code> schema.</p></li><li><p>Implemented service mode for <code>ipc</code>.</p></li><li><p>Passed <code>COMPOSE_PROJECT_NAME</code> environment variable in container mode.</p></li><li><p>Made <code>run</code> behave in the same way as <code>up</code>.</p></li><li><p>Used <code>docker build</code> on <code>docker-compose run</code> when <code>COMPOSE_DOCKER_CLI_BUILD</code> environment variable is set.</p></li><li><p>Used the docker-py default API version for engine queries (<code>auto</code>).</p></li><li><p>Parsed <code>network_mode</code> on build.</p></li></ul><h3 class=scroll-mt-20 id=bug-fixes-9><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-9>Bug fixes</a></h3><ul><li><p>Ignored build context path validation when building is not required.</p></li><li><p>Fixed float to bytes conversion via docker-py bump to 4.3.1.</p></li><li><p>Fixed the scale bug when the deploy section is set.</p></li><li><p>Fixed <code>docker-py</code> bump in <code>setup.py</code>.</p></li><li><p>Fixed experimental build failure detection.</p></li><li><p>Fixed context propagation to the Docker CLI.</p></li></ul><h3 class=scroll-mt-20 id=miscellaneous-7><a class="text-black dark:text-white no-underline hover:underline" href=#miscellaneous-7>Miscellaneous</a></h3><ul><li><p>Bumped <code>docker-py</code> to 4.3.1.</p></li><li><p>Bumped <code>tox</code> to 3.19.0.</p></li><li><p>Bumped <code>virtualenv</code> to 20.0.30.</p></li><li><p>Added script for Docs synchronization.</p></li></ul><h2 class=scroll-mt-20 id=1262><a class="text-black dark:text-white no-underline hover:underline" href=#1262>1.26.2</a></h2><p>(2020-07-02)</p><h3 class=scroll-mt-20 id=bug-fixes-10><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-10>Bug fixes</a></h3><ul><li>Enforced <code>docker-py</code> 4.2.2 as minimum version when installing with pip.</li></ul><h2 class=scroll-mt-20 id=1261><a class="text-black dark:text-white no-underline hover:underline" href=#1261>1.26.1</a></h2><p>(2020-06-30)</p><h3 class=scroll-mt-20 id=features-3><a class="text-black dark:text-white no-underline hover:underline" href=#features-3>Features</a></h3><ul><li>Bumped <code>docker-py</code> from 4.2.1 to 4.2.2.</li></ul><h3 class=scroll-mt-20 id=bug-fixes-11><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-11>Bug fixes</a></h3><ul><li><p>Enforced <code>docker-py</code> 4.2.1 as minimum version when installing with pip.</p></li><li><p>Fixed context load for non-docker endpoints.</p></li></ul><h2 class=scroll-mt-20 id=1260><a class="text-black dark:text-white no-underline hover:underline" href=#1260>1.26.0</a></h2><p>(2020-06-03)</p><h3 class=scroll-mt-20 id=features-4><a class="text-black dark:text-white no-underline hover:underline" href=#features-4>Features</a></h3><ul><li><p>Added <code>docker context</code> support.</p></li><li><p>Added missing test dependency <code>ddt</code> to <code>setup.py</code>.</p></li><li><p>Added <code>--attach-dependencies</code> to command <code>up</code> for attaching to dependencies.</p></li><li><p>Allowed compatibility option with <code>COMPOSE_COMPATIBILITY</code> environment variable.</p></li><li><p>Bumped <code>Pytest</code> to 5.3.4 and add refactor compatibility with the new version.</p></li><li><p>Bumped <code>OpenSSL</code> from 1.1.1f to 1.1.1g.</p></li><li><p>Bumped <code>certifi</code> from 2019.11.28 to 2020.4.5.1.</p></li><li><p>Bumped <code>docker-py</code> from 4.2.0 to 4.2.1.</p></li></ul><h3 class=scroll-mt-20 id=bug-fixes-12><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-12>Bug fixes</a></h3><ul><li><p>Properly escaped values coming from <code>env_files</code>.</p></li><li><p>Synchronized compose-schemas with upstream (docker/cli).</p></li><li><p>Removed <code>None</code> entries on exec command.</p></li><li><p>Added <code>distribution</code> package to get distribution information.</p></li><li><p>Added <code>python-dotenv</code> to delegate <code>.env</code> file processing.</p></li><li><p>Stopped adjusting output on terminal width when piped into another command.</p></li><li><p>Showed an error message when <code>version</code> attribute is malformed.</p></li><li><p>Fixed HTTPS connection when <code>DOCKER_HOST</code> is remote.</p></li></ul><h2 class=scroll-mt-20 id=1255><a class="text-black dark:text-white no-underline hover:underline" href=#1255>1.25.5</a></h2><p>(2020-04-10)</p><h3 class=scroll-mt-20 id=features-5><a class="text-black dark:text-white no-underline hover:underline" href=#features-5>Features</a></h3><ul><li><p>Bumped OpenSSL from 1.1.1d to 1.1.1f.</p></li><li><p>Added Compose version 3.8.</p><ul><li>Limited service scale to the size specified by the field <code>deploy.placement.max_replicas_per_node</code>.</li></ul></li></ul><h2 class=scroll-mt-20 id=1254><a class="text-black dark:text-white no-underline hover:underline" href=#1254>1.25.4</a></h2><p>(2020-02-03)</p><h3 class=scroll-mt-20 id=bug-fixes-13><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-13>Bug fixes</a></h3><ul><li><p>Fixed the CI script to enforce the minimal MacOS version to 10.11.</p></li><li><p>Fixed docker-compose exec for keys with no value on environment files.</p></li></ul><h2 class=scroll-mt-20 id=1253><a class="text-black dark:text-white no-underline hover:underline" href=#1253>1.25.3</a></h2><p>(2020-01-23)</p><h3 class=scroll-mt-20 id=bug-fixes-14><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-14>Bug fixes</a></h3><ul><li><p>Fixed the CI script to enforce the compilation with Python3.</p></li><li><p>Updated the binary's sha256 on the release page.</p></li></ul><h2 class=scroll-mt-20 id=1252><a class="text-black dark:text-white no-underline hover:underline" href=#1252>1.25.2</a></h2><p>(2020-01-20)</p><h3 class=scroll-mt-20 id=new-features><a class="text-black dark:text-white no-underline hover:underline" href=#new-features>New features</a></h3><ul><li>Docker Compose now allows the compatibility option with <code>COMPOSE_COMPATIBILITY</code> environment variable.</li></ul><h3 class=scroll-mt-20 id=bug-fixes-15><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-15>Bug fixes</a></h3><ul><li><p>Fixed an issue that caused Docker Compose to crash when the <code>version</code> field was set to an invalid value. Docker Compose now displays an error message when invalid values are used in the version field.</p></li><li><p>Fixed an issue that caused Docker Compose to render messages incorrectly when running commands outside a terminal.</p></li></ul><h2 class=scroll-mt-20 id=1251><a class="text-black dark:text-white no-underline hover:underline" href=#1251>1.25.1</a></h2><p>(2020-01-06)</p><h3 class=scroll-mt-20 id=bugfixes><a class="text-black dark:text-white no-underline hover:underline" href=#bugfixes>Bugfixes</a></h3><ul><li><p>Decoded the <code>APIError</code> explanation to Unicode before using it to create and start a container.</p></li><li><p>Docker Compose discards <code>com.docker.compose.filepaths</code> labels that have <code>None</code> as value. This usually occurs when labels originate from stdin.</p></li><li><p>Added OS X binary as a directory to solve slow start up time issues caused by macOS Catalina binary scan.</p></li><li><p>Passed the <code>HOME</code> environment variable in container mode when running with <code>script/run/run.sh</code>.</p></li><li><p>Docker Compose now reports images that cannot be pulled, however, are required to be built.</p></li></ul><h2 class=scroll-mt-20 id=1250><a class="text-black dark:text-white no-underline hover:underline" href=#1250>1.25.0</a></h2><p>(2019-11-18)</p><h3 class=scroll-mt-20 id=new-features-1><a class="text-black dark:text-white no-underline hover:underline" href=#new-features-1>New features</a></h3><ul><li><p>Set no-colors to true by changing <code>CLICOLOR</code> env variable to <code>0</code>.</p></li><li><p>Added working directory, config files, and env file to service labels.</p></li><li><p>Added ARM build dependencies.</p></li><li><p>Added BuildKit support (use <code>DOCKER_BUILDKIT=1</code> and <code>COMPOSE_DOCKER_CLI_BUILD=1</code>).</p></li><li><p>Raised Paramiko to version 2.6.0.</p></li><li><p>Added the following tags: <code>docker-compose:latest</code>, <code>docker-compose:<version>-alpine</code>, and <code>docker-compose:<version>-debian</code>.</p></li><li><p>Raised <code>docker-py</code> to version 4.1.0.</p></li><li><p>Enhanced support for <code>requests</code>, up to version 2.22.0.</p></li><li><p>Removed empty tag on <code>build:cache_from</code>.</p></li><li><p><code>Dockerfile</code> enhancement that provides for the generation of <code>libmusl</code> binaries for Alpine Linux.</p></li><li><p>Pulling only of images that cannot be built.</p></li><li><p>The <code>scale</code> attribute now accepts <code>0</code> as a value.</p></li><li><p>Added a <code>--quiet</code> option and a <code>--no-rm</code> option to the <code>docker-compose build</code> command.</p></li><li><p>Added a <code>--no-interpolate</code> option to the <code>docker-compose config</code> command.</p></li><li><p>Raised OpenSSL for MacOS build from <code>1.1.0</code> to <code>1.1.1c</code>.</p></li><li><p>Added support for the <code>docker-compose.yml</code> file's <code>credential_spec</code> configuration option.</p></li><li><p>Resolution of digests without having to pull the image.</p></li><li><p>Upgraded <code>pyyaml</code> to version <code>4.2b1</code>.</p></li><li><p>Lowered the severity to <code>warning</code> for instances in which <code>down</code> attempts to remove a non-existent image.</p></li><li><p>Mandated the use of improved API fields for project events, when possible.</p></li><li><p>Updated <code>setup.py</code> for modern <code>pypi/setuptools</code>, and removed <code>pandoc</code> dependencies.</p></li><li><p>Removed <code>Dockerfile.armhf</code>, which is no longer required.</p></li></ul><h3 class=scroll-mt-20 id=bug-fixes-16><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-16>Bug fixes</a></h3><ul><li><p>Made container service color deterministic, including the removal of the color red.</p></li><li><p>Fixed non-ASCII character errors (Python 2 only).</p></li><li><p>Changed image sizing to decimal format, to align with Docker CLI.</p></li><li><p><code>tty</code> size acquired through Python POSIX support.</p></li><li><p>Fixed same file <code>extends</code> optimization.</p></li><li><p>Fixed <code>stdin_open</code>.</p></li><li><p>Fixed the issue of <code>--remove-orphans</code> being ignored encountered during use with <code>up --no-start</code> option.</p></li><li><p>Fixed <code>docker-compose ps --all</code> command.</p></li><li><p>Fixed the <code>depends_on</code> dependency recreation behavior.</p></li><li><p>Fixed bash completion for the <code>docker-compose build --memory</code> command.</p></li><li><p>Fixed the misleading environmental variables warning that occurs when the <code>docker-compose exec</code> command is performed.</p></li><li><p>Fixed the failure check in the <code>parallel_execute_watch function</code>.</p></li><li><p>Fixed the race condition that occurs following the pulling of an image.</p></li><li><p>Fixed error on duplicate mount points (a configuration error message now displays).</p></li><li><p>Fixed the merge on <code>networks</code> section.</p></li><li><p>Compose container is always connected to <code>stdin</code> by default.</p></li><li><p>Fixed the presentation of failed services on the <code>docker-compose start</code> command when containers are not available.</p></li></ul><h2 class=scroll-mt-20 id=1241><a class="text-black dark:text-white no-underline hover:underline" href=#1241>1.24.1</a></h2><p>(2019-06-24)</p><p>This release contains minor improvements and bug fixes.</p><h2 class=scroll-mt-20 id=1240><a class="text-black dark:text-white no-underline hover:underline" href=#1240>1.24.0</a></h2><p>(2019-03-28)</p><h3 class=scroll-mt-20 id=features-6><a class="text-black dark:text-white no-underline hover:underline" href=#features-6>Features</a></h3><ul><li><p>Added support for connecting to the Docker Engine using the <code>ssh</code> protocol.</p></li><li><p>Added an <code>--all</code> flag to <code>docker-compose ps</code> to include stopped one-off containers in the command's output.</p></li><li><p>Added bash completion for <code>ps --all|-a</code>.</p></li><li><p>Added support for credential_spec.</p></li><li><p>Added <code>--parallel</code> to <code>docker build</code>'s options in <code>bash</code> and <code>zsh</code> completion.</p></li></ul><h3 class=scroll-mt-20 id=bug-fixes-17><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-17>Bug fixes</a></h3><ul><li><p>Fixed a bug where some valid credential helpers weren't properly handled by Compose when attempting to pull images from private registries.</p></li><li><p>Fixed an issue where the output of <code>docker-compose start</code> before containers were created was misleading.</p></li><li><p>Compose will no longer accept whitespace in variable names sourced from environment files. This matches the Docker CLI behavior.</p></li><li><p>Compose will now report a configuration error if a service attempts to declare duplicate mount points in the volumes section.</p></li><li><p>Fixed an issue with the containerized version of Compose that prevented users from writing to stdin during interactive sessions started by <code>run</code> or <code>exec</code>.</p></li><li><p>One-off containers started by <code>run</code> no longer adopt the restart policy of the service, and are instead set to never restart.</p></li><li><p>Fixed an issue that caused some container events to not appear in the output of the <code>docker-compose events</code> command.</p></li><li><p>Missing images will no longer stop the execution of <code>docker-compose down</code> commands. A warning is now displayed instead.</p></li><li><p>Force <code>virtualenv</code> version for macOS CI.</p></li><li><p>Fixed merging of Compose files when network has <code>None</code> config.</p></li><li><p>Fixed <code>CTRL+C</code> issues by enabling <code>bootloader_ignore_signals</code> in <code>pyinstaller</code>.</p></li><li><p>Bumped <code>docker-py</code> version to <code>3.7.2</code> to fix SSH and proxy configuration issues.</p></li><li><p>Fixed release script and some typos on release documentation.</p></li></ul><h2 class=scroll-mt-20 id=1232><a class="text-black dark:text-white no-underline hover:underline" href=#1232>1.23.2</a></h2><p>(2018-11-28)</p><h3 class=scroll-mt-20 id=bug-fixes-18><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-18>Bug fixes</a></h3><ul><li><p>Reverted a 1.23.0 change that appended random strings to container names created by <code>docker-compose up</code>, causing addressability issues.</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>Containers created by <code>docker-compose run</code> will continue to use randomly generated names to avoid collisions during parallel runs.</p></blockquote></li><li><p>Fixed an issue where some <code>dockerfile</code> paths would fail unexpectedly when attempting to build on Windows.</p></li><li><p>Fixed a bug where build context URLs would fail to build on Windows.</p></li><li><p>Fixed a bug that caused <code>run</code> and <code>exec</code> commands to fail for some otherwise accepted values of the <code>--host</code> parameter.</p></li><li><p>Fixed an issue where overrides for the <code>storage_opt</code> and <code>isolation</code> keys in service definitions weren't properly applied.</p></li><li><p>Fixed a bug where some invalid Compose files would raise an uncaught exception during validation.</p></li></ul><h2 class=scroll-mt-20 id=1231><a class="text-black dark:text-white no-underline hover:underline" href=#1231>1.23.1</a></h2><p>(2018-11-01)</p><h3 class=scroll-mt-20 id=bug-fixes-19><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-19>Bug fixes</a></h3><ul><li><p>Fixed a bug where working with containers created with a version of Compose earlier than <code>1.23.0</code> would cause unexpected crashes.</p></li><li><p>Fixed an issue where the behavior of the <code>--project-directory</code> flag would vary depending on which subcommand was used.</p></li></ul><h2 class=scroll-mt-20 id=1230><a class="text-black dark:text-white no-underline hover:underline" href=#1230>1.23.0</a></h2><p>(2018-10-30)</p><h3 class=scroll-mt-20 id=important-note><a class="text-black dark:text-white no-underline hover:underline" href=#important-note>Important note</a></h3><p>The default naming scheme for containers created by Compose in this version has changed from <code><project>_<service>_<index></code> to <code><project>_<service>_<index>_<slug></code>, where <code><slug></code> is a randomly-generated hexadecimal string. Please make sure to update scripts relying on the old naming scheme accordingly before upgrading.</p><h3 class=scroll-mt-20 id=features-7><a class="text-black dark:text-white no-underline hover:underline" href=#features-7>Features</a></h3><ul><li><p>Logs for containers restarting after a crash will now appear in the output of the <code>up</code> and <code>logs</code> commands.</p></li><li><p>Added <code>--hash</code> option to the <code>docker-compose config</code> command, allowing users to print a hash string for each service's configuration to facilitate rolling updates.</p></li><li><p>Added <code>--parallel</code> flag to the <code>docker-compose build</code> command, allowing Compose to build up to 5 images simultaneously.</p></li><li><p>Output for the <code>pull</code> command now reports status / progress even when pulling multiple images in parallel.</p></li><li><p>For images with multiple names, Compose will now attempt to match the one present in the service configuration in the output of the <code>images</code> command.</p></li></ul><h3 class=scroll-mt-20 id=bug-fixes-20><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-20>Bug fixes</a></h3><ul><li><p>Fixed an issue where parallel <code>run</code> commands for the same service would fail due to name collisions.</p></li><li><p>Fixed an issue where paths longer than 260 characters on Windows clients would cause <code>docker-compose build</code> to fail.</p></li><li><p>Fixed a bug where attempting to mount <code>/var/run/docker.sock</code> with Docker Desktop for Windows would result in failure.</p></li><li><p>The <code>--project-directory</code> option is now used by Compose to determine where to look for the <code>.env</code> file.</p></li><li><p><code>docker-compose build</code> no longer fails when attempting to pull an image with credentials provided by the <em><strong>gcloud credential helper</strong></em>.</p></li><li><p>Fixed the <code>--exit-code-from</code> option in <code>docker-compose up</code> to always report the actual exit code even when the watched container is not the cause of the exit.</p></li><li><p>Fixed an issue that would prevent recreating a service in some cases where a volume would be mapped to the same mountpoint as a volume declared within the Dockerfile for that image.</p></li><li><p>Fixed a bug that caused hash configuration with multiple networks to be inconsistent, causing some services to be unnecessarily restarted.</p></li><li><p>Fixed a bug that would cause failures with variable substitution for services with a name containing one or more dot characters.</p></li><li><p>Fixed a pipe handling issue when using the containerized version of Compose.</p></li><li><p>Fixed a bug causing <code>external: false</code> entries in the Compose file to be printed as <code>external: true</code> in the output of <code>docker-compose config</code>.</p></li><li><p>Fixed a bug where issuing a <code>docker-compose pull</code> command on services without a defined image key would cause Compose to crash.</p></li><li><p>Volumes and binds are now mounted in the order they are declared in the service definition.</p></li></ul><h3 class=scroll-mt-20 id=miscellaneous-8><a class="text-black dark:text-white no-underline hover:underline" href=#miscellaneous-8>Miscellaneous</a></h3><ul><li>The <code>zsh</code> completion script has been updated with new options, and no longer suggests container names where service names are expected.</li></ul><h2 class=scroll-mt-20 id=1220><a class="text-black dark:text-white no-underline hover:underline" href=#1220>1.22.0</a></h2><p>(2018-07-17)</p><h3 class=scroll-mt-20 id=new-features-2><a class="text-black dark:text-white no-underline hover:underline" href=#new-features-2>New features</a></h3><h4 class=scroll-mt-20 id=compose-format-version-37><a class="text-black dark:text-white no-underline hover:underline" href=#compose-format-version-37>Compose format version 3.7</a></h4><ul><li><p>Introduced version 3.7 of the <code>docker-compose.yml</code> specification. This version requires Docker Engine 18.06.0 or above.</p></li><li><p>Added support for <code>rollback_config</code> in the deploy configuration</p></li><li><p>Added support for the <code>init</code> parameter in service configurations</p></li><li><p>Added support for extension fields in service, network, volume, secret, and config configurations</p></li></ul><h4 class=scroll-mt-20 id=compose-format-version-24><a class="text-black dark:text-white no-underline hover:underline" href=#compose-format-version-24>Compose format version 2.4</a></h4><ul><li>Added support for extension fields in service, network, and volume configurations</li></ul><h3 class=scroll-mt-20 id=bug-fixes-21><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-21>Bug fixes</a></h3><ul><li><p>Fixed a bug that prevented deployment with some Compose files when <code>DOCKER_DEFAULT_PLATFORM</code> was set</p></li><li><p>Compose will no longer try to create containers or volumes with invalid starting characters</p></li><li><p>Fixed several bugs that prevented Compose commands from working properly with containers created with an older version of Compose</p></li><li><p>Fixed an issue with the output of <code>docker-compose config</code> with the <code>--compatibility-mode</code> flag enabled when the source file contains attachable networks</p></li><li><p>Fixed a bug that prevented the <code>gcloud</code> credential store from working properly when used with the Compose binary on UNIX</p></li><li><p>Fixed a bug that caused connection errors when trying to operate over a non-HTTPS TCP connection on Windows</p></li><li><p>Fixed a bug that caused builds to fail on Windows if the Dockerfile was located in a subdirectory of the build context</p></li><li><p>Fixed an issue that prevented proper parsing of UTF-8 BOM encoded Compose files on Windows</p></li><li><p>Fixed an issue with handling of the double-wildcard (<code>**</code>) pattern in <code>.dockerignore</code> files when using <code>docker-compose build</code></p></li><li><p>Fixed a bug that caused auth values in legacy <code>.dockercfg</code> files to be ignored</p></li><li><p><code>docker-compose build</code> will no longer attempt to create image names starting with an invalid character</p></li></ul><h2 class=scroll-mt-20 id=1212><a class="text-black dark:text-white no-underline hover:underline" href=#1212>1.21.2</a></h2><p>(2018-05-03)</p><h3 class=scroll-mt-20 id=bug-fixes-22><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-22>Bug fixes</a></h3><ul><li>Fixed a bug where the ip_range attribute in IPAM configs was prevented from passing validation</li></ul><h2 class=scroll-mt-20 id=1211><a class="text-black dark:text-white no-underline hover:underline" href=#1211>1.21.1</a></h2><p>(2018-04-27)</p><h3 class=scroll-mt-20 id=bug-fixes-23><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-23>Bug fixes</a></h3><ul><li><p>In 1.21.0, we introduced a change to how project names are sanitized for internal use in resource names. This caused issues when manipulating an existing, deployed application whose name had changed as a result. This release properly detects resources using "legacy" naming conventions.</p></li><li><p>Fixed an issue where specifying an in-context Dockerfile using an absolute path would fail despite being valid.</p></li><li><p>Fixed a bug where IPAM option changes were incorrectly detected, preventing redeployments.</p></li><li><p>Validation of v2 files now properly checks the structure of IPAM configs.</p></li><li><p>Improved support for credentials stores on Windows to include binaries using extensions other than <code>.exe</code>. The list of valid extensions is determined by the contents of the <code>PATHEXT</code> environment variable.</p></li><li><p>Fixed a bug where Compose would generate invalid binds containing duplicate elements with some v3.2 files, triggering errors at the Engine level during deployment.</p></li></ul><h2 class=scroll-mt-20 id=1210><a class="text-black dark:text-white no-underline hover:underline" href=#1210>1.21.0</a></h2><p>(2018-04-11)</p><h3 class=scroll-mt-20 id=new-features-3><a class="text-black dark:text-white no-underline hover:underline" href=#new-features-3>New features</a></h3><h4 class=scroll-mt-20 id=compose-file-version-24><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-24>Compose file version 2.4</a></h4><ul><li><p>Introduced version 2.4 of the <code>docker-compose.yml</code> specification. This version requires Docker Engine 17.12.0 or above.</p></li><li><p>Added support for the <code>platform</code> parameter in service definitions. If supplied, the parameter is also used when performing build for the service.</p></li></ul><h4 class=scroll-mt-20 id=compose-file-version-22-and-up><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-22-and-up>Compose file version 2.2 and up</a></h4><ul><li>Added support for the <code>cpu_rt_period</code> and <code>cpu_rt_runtime</code> parameters in service definitions (2.x only).</li></ul><h4 class=scroll-mt-20 id=compose-file-version-21-and-up><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-21-and-up>Compose file version 2.1 and up</a></h4><ul><li><p>Added support for the <code>cpu_period</code> parameter in service definitions (2.x only).</p></li><li><p>Added support for the <code>isolation</code> parameter in service build configurations. Additionally, the <code>isolation</code> parameter in service definitions is used for builds as well if no <code>build.isolation</code> parameter is defined. (2.x only)</p></li></ul><h4 class=scroll-mt-20 id=all-formats><a class="text-black dark:text-white no-underline hover:underline" href=#all-formats>All formats</a></h4><ul><li><p>Added support for the <code>--workdir</code> flag in <code>docker-compose exec</code>.</p></li><li><p>Added support for the <code>--compress</code> flag in <code>docker-compose build</code>.</p></li><li><p><code>docker-compose pull</code> is now performed in parallel by default. You can opt out using the <code>--no-parallel</code> flag. The <code>--parallel</code> flag is now deprecated and will be removed in a future version.</p></li><li><p>Dashes and underscores in project names are no longer stripped out.</p></li><li><p><code>docker-compose build</code> now supports the use of Dockerfile from outside the build context.</p></li></ul><h3 class=scroll-mt-20 id=bug-fixes-24><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-24>Bug fixes</a></h3><ul><li><p>Compose now checks that the volume's configuration matches the remote volume, and errors out if a mismatch is detected.</p></li><li><p>Fixed a bug that caused Compose to raise unexpected errors when attempting to create several one-off containers in parallel.</p></li><li><p>Fixed a bug with argument parsing when using <code>docker-machine config</code> to generate TLS flags for <code>exec</code> and <code>run</code> commands.</p></li><li><p>Fixed a bug where variable substitution with an empty default value (e.g. <code>${VAR:-}</code>) would print an incorrect warning.</p></li><li><p>Improved resilience when encoding of the Compose file doesn't match the system's. Users are encouraged to use UTF-8 when possible.</p></li><li><p>Fixed a bug where external overlay networks in Swarm would be incorrectly recognized as inexistent by Compose, interrupting otherwise valid operations.</p></li></ul><h2 class=scroll-mt-20 id=1200><a class="text-black dark:text-white no-underline hover:underline" href=#1200>1.20.0</a></h2><p>(2018-03-20)</p><h3 class=scroll-mt-20 id=new-features-4><a class="text-black dark:text-white no-underline hover:underline" href=#new-features-4>New features</a></h3><h4 class=scroll-mt-20 id=compose-file-version-36><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-36>Compose file version 3.6</a></h4><ul><li><p>Introduced version 3.6 of the <code>docker-compose.yml</code> specification. This version must be used with Docker Engine 18.02.0 or above.</p></li><li><p>Added support for the <code>tmpfs.size</code> property in volume mappings</p></li></ul><h4 class=scroll-mt-20 id=compose-file-version-32-and-up><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-32-and-up>Compose file version 3.2 and up</a></h4><ul><li>The <code>--build-arg</code> option can now be used without specifying a service in <code>docker-compose build</code></li></ul><h4 class=scroll-mt-20 id=compose-file-version-23><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-23>Compose file version 2.3</a></h4><ul><li><p>Added support for <code>device_cgroup_rules</code> in service definitions</p></li><li><p>Added support for the <code>tmpfs.size</code> property in long-form volume mappings</p></li><li><p>The <code>--build-arg</code> option can now be used without specifying a service in <code>docker-compose build</code></p></li></ul><h4 class=scroll-mt-20 id=all-formats-1><a class="text-black dark:text-white no-underline hover:underline" href=#all-formats-1>All formats</a></h4><ul><li><p>Added a <code>--log-level</code> option to the top-level <code>docker-compose</code> command. Accepted values are <code>debug</code>, <code>info</code>, <code>warning</code>, <code>error</code>, <code>critical</code>. Default log level is <code>info</code></p></li><li><p><code>docker-compose run</code> now allows users to unset the container's entrypoint</p></li><li><p>Proxy configuration found in the <code>~/.docker/config.json</code> file now populates environment and build args for containers created by Compose</p></li><li><p>Added the <code>--use-aliases</code> flag to <code>docker-compose run</code>, indicating that network aliases declared in the service's config should be used for the running container</p></li><li><p>Added the <code>--include-deps</code> flag to <code>docker-compose pull</code></p></li><li><p><code>docker-compose run</code> now kills and removes the running container upon receiving <code>SIGHUP</code></p></li><li><p><code>docker-compose ps</code> now shows the containers' health status if available</p></li><li><p>Added the long-form <code>--detach</code> option to the <code>exec</code>, <code>run</code> and <code>up</code> commands</p></li></ul><h3 class=scroll-mt-20 id=bug-fixes-25><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-25>Bug fixes</a></h3><ul><li><p>Fixed <code>.dockerignore</code> handling, notably with regard to absolute paths and last-line precedence rules</p></li><li><p>Fixed an issue where Compose would make costly DNS lookups when connecting to the Engine when using Docker For Mac</p></li><li><p>Fixed a bug introduced in 1.19.0 which caused the default certificate path to not be honored by Compose</p></li><li><p>Fixed a bug where Compose would incorrectly check whether a symlink's destination was accessible when part of a build context</p></li><li><p>Fixed a bug where <code>.dockerignore</code> files containing lines of whitespace caused Compose to error out on Windows</p></li><li><p>Fixed a bug where <code>--tls*</code> and <code>--host</code> options wouldn't be properly honored for interactive <code>run</code> and <code>exec</code> commands</p></li><li><p>A <code>seccomp:<filepath></code> entry in the <code>security_opt</code> config now correctly sends the contents of the file to the engine</p></li><li><p>ANSI output for <code>up</code> and <code>down</code> operations should no longer affect the wrong lines</p></li><li><p>Improved support for non-unicode locales</p></li><li><p>Fixed a crash occurring on Windows when the user's home directory name contained non-ASCII characters</p></li><li><p>Fixed a bug occurring during builds caused by files with a negative <code>mtime</code> values in the build context</p></li><li><p>Fixed an encoding bug when streaming build progress</p></li></ul><h2 class=scroll-mt-20 id=1190><a class="text-black dark:text-white no-underline hover:underline" href=#1190>1.19.0</a></h2><p>(2018-02-07)</p><h3 class=scroll-mt-20 id=breaking-changes><a class="text-black dark:text-white no-underline hover:underline" href=#breaking-changes>Breaking changes</a></h3><ul><li>On UNIX platforms, interactive <code>run</code> and <code>exec</code> commands now require the <code>docker</code> CLI to be installed on the client by default. To revert to the previous behavior, users may set the <code>COMPOSE_INTERACTIVE_NO_CLI</code> environment variable.</li></ul><h3 class=scroll-mt-20 id=new-features-5><a class="text-black dark:text-white no-underline hover:underline" href=#new-features-5>New features</a></h3><h4 class=scroll-mt-20 id=compose-file-version-3x><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-3x>Compose file version 3.x</a></h4><ul><li>The output of the <code>config</code> command should now merge <code>deploy</code> options from several Compose files in a more accurate manner</li></ul><h4 class=scroll-mt-20 id=compose-file-version-23-1><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-23-1>Compose file version 2.3</a></h4><ul><li>Added support for the <code>runtime</code> option in service definitions</li></ul><h4 class=scroll-mt-20 id=compose-file-version-21-and-up-1><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-21-and-up-1>Compose file version 2.1 and up</a></h4><ul><li>Added support for the <code>${VAR:?err}</code> and <code>${VAR?err}</code> variable interpolation syntax to indicate mandatory variables</li></ul><h4 class=scroll-mt-20 id=compose-file-version-2x><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-2x>Compose file version 2.x</a></h4><ul><li>Added <code>priority</code> key to service network mappings, allowing the user to define in which order the specified service will connect to each network</li></ul><h4 class=scroll-mt-20 id=all-formats-2><a class="text-black dark:text-white no-underline hover:underline" href=#all-formats-2>All formats</a></h4><ul><li><p>Added <code>--renew-anon-volumes</code> (shorthand <code>-V</code>) to the <code>up</code> command, preventing Compose from recovering volume data from previous containers for anonymous volumes</p></li><li><p>Added limit for number of simultaneous parallel operations, which should prevent accidental resource exhaustion of the server. Default is 64 and can be configured using the <code>COMPOSE_PARALLEL_LIMIT</code> environment variable</p></li><li><p>Added <code>--always-recreate-deps</code> flag to the <code>up</code> command to force recreating dependent services along with the dependency owner</p></li><li><p>Added <code>COMPOSE_IGNORE_ORPHANS</code> environment variable to forgo orphan container detection and suppress warnings</p></li><li><p>Added <code>COMPOSE_FORCE_WINDOWS_HOST</code> environment variable to force Compose to parse volume definitions as if the Docker host was a Windows system, even if Compose itself is currently running on UNIX</p></li><li><p>Bash completion should now be able to better differentiate between running, stopped and paused services</p></li></ul><h3 class=scroll-mt-20 id=bug-fixes-26><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-26>Bug fixes</a></h3><ul><li><p>Fixed a bug that would cause the <code>build</code> command to report a connection error when the build context contained unreadable files or FIFO objects. These file types will now be handled appropriately</p></li><li><p>Fixed various issues around interactive <code>run</code>/<code>exec</code> sessions.</p></li><li><p>Fixed a bug where setting TLS options with environment and CLI flags simultaneously would result in part of the configuration being ignored</p></li><li><p>Fixed a bug where the DOCKER_TLS_VERIFY environment variable was being ignored by Compose</p></li><li><p>Fixed a bug where the <code>-d</code> and <code>--timeout</code> flags in <code>up</code> were erroneously marked as incompatible</p></li><li><p>Fixed a bug where the recreation of a service would break if the image associated with the previous container had been removed</p></li><li><p>Fixed a bug where updating a mount's target would break Compose when trying to recreate the associated service</p></li><li><p>Fixed a bug where <code>tmpfs</code> volumes declared using the extended syntax in Compose files using version 3.2 would be erroneously created as anonymous volumes instead</p></li><li><p>Fixed a bug where type conversion errors would print a stacktrace instead of exiting gracefully</p></li><li><p>Fixed some errors related to unicode handling</p></li><li><p>Dependent services no longer get recreated along with the dependency owner if their configuration hasn't changed</p></li><li><p>Added better validation of <code>labels</code> fields in Compose files. Label values containing scalar types (number, boolean) now get automatically converted to strings</p></li></ul><h2 class=scroll-mt-20 id=1180><a class="text-black dark:text-white no-underline hover:underline" href=#1180>1.18.0</a></h2><p>(2017-12-18)</p><h3 class=scroll-mt-20 id=new-features-6><a class="text-black dark:text-white no-underline hover:underline" href=#new-features-6>New features</a></h3><h4 class=scroll-mt-20 id=compose-file-version-35><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-35>Compose file version 3.5</a></h4><ul><li><p>Introduced version 3.5 of the <code>docker-compose.yml</code> specification. This version requires Docker Engine 17.06.0 or above</p></li><li><p>Added support for the <code>shm_size</code> parameter in build configurations</p></li><li><p>Added support for the <code>isolation</code> parameter in service definitions</p></li><li><p>Added support for custom names for network, secret and config definitions</p></li></ul><h4 class=scroll-mt-20 id=compose-file-version-23-2><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-23-2>Compose file version 2.3</a></h4><ul><li><p>Added support for <code>extra_hosts</code> in build configuration</p></li><li><p>Added support for the <a class=link href=https://docs.docker.com/reference/compose-file/legacy-versions/>long syntax</a> for volume entries, as previously introduced in the 3.2 format. Using this syntax will create <a class=link href=https://docs.docker.com/engine/storage/bind-mounts/>mounts</a> instead of volumes.</p></li></ul><h4 class=scroll-mt-20 id=compose-file-version-21-and-up-2><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-21-and-up-2>Compose file version 2.1 and up</a></h4><ul><li><p>Added support for the <code>oom_kill_disable</code> parameter in service definitions (2.x only)</p></li><li><p>Added support for custom names for network definitions (2.x only)</p></li></ul><h4 class=scroll-mt-20 id=all-formats-3><a class="text-black dark:text-white no-underline hover:underline" href=#all-formats-3>All formats</a></h4><ul><li><p>Values interpolated from the environment will now be converted to the proper type when used in non-string fields.</p></li><li><p>Added support for <code>--label</code> in <code>docker-compose run</code></p></li><li><p>Added support for <code>--timeout</code> in <code>docker-compose down</code></p></li><li><p>Added support for <code>--memory</code> in <code>docker-compose build</code></p></li><li><p>Setting <code>stop_grace_period</code> in service definitions now also sets the container's <code>stop_timeout</code></p></li></ul><h3 class=scroll-mt-20 id=bug-fixes-27><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-27>Bug fixes</a></h3><ul><li><p>Fixed an issue where Compose was still handling service hostname according to legacy engine behavior, causing hostnames containing dots to be cut up</p></li><li><p>Fixed a bug where the <code>X-Y:Z</code> syntax for ports was considered invalid by Compose</p></li><li><p>Fixed an issue with CLI logging causing duplicate messages and inelegant output to occur</p></li><li><p>Fixed an issue that caused <code>stop_grace_period</code> to be ignored when using multiple Compose files</p></li><li><p>Fixed a bug that caused <code>docker-compose images</code> to crash when using untagged images</p></li><li><p>Fixed a bug where the valid <code>${VAR:-}</code> syntax would cause Compose to error out</p></li><li><p>Fixed a bug where <code>env_file</code> entries using an UTF-8 BOM were being read incorrectly</p></li><li><p>Fixed a bug where missing secret files would generate an empty directory in their place</p></li><li><p>Fixed character encoding issues in the CLI's error handlers</p></li><li><p>Added validation for the <code>test</code> field in healthchecks</p></li><li><p>Added validation for the <code>subnet</code> field in IPAM configurations</p></li><li><p>Added validation for <code>volumes</code> properties when using the long syntax in service definitions</p></li><li><p>The CLI now explicit prevents using <code>-d</code> and <code>--timeout</code> together in <code>docker-compose up</code></p></li></ul><h2 class=scroll-mt-20 id=1170><a class="text-black dark:text-white no-underline hover:underline" href=#1170>1.17.0</a></h2><p>(2017-11-01)</p><h3 class=scroll-mt-20 id=new-features-7><a class="text-black dark:text-white no-underline hover:underline" href=#new-features-7>New features</a></h3><h4 class=scroll-mt-20 id=compose-file-version-34><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-34>Compose file version 3.4</a></h4><ul><li><p>Introduced version 3.4 of the <code>docker-compose.yml</code> specification. This version requires to be used with Docker Engine 17.06.0 or above.</p></li><li><p>Added support for <code>cache_from</code>, <code>network</code> and <code>target</code> options in build configurations</p></li><li><p>Added support for the <code>order</code> parameter in the <code>update_config</code> section</p></li><li><p>Added support for setting a custom name in volume definitions using the <code>name</code> parameter</p></li></ul><h4 class=scroll-mt-20 id=compose-file-version-23-3><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-23-3>Compose file version 2.3</a></h4><ul><li>Added support for <code>shm_size</code> option in build configuration</li></ul><h4 class=scroll-mt-20 id=compose-file-version-2x-1><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-2x-1>Compose file version 2.x</a></h4><ul><li>Added support for extension fields (<code>x-*</code>). Also available for v3.4 files</li></ul><h4 class=scroll-mt-20 id=all-formats-4><a class="text-black dark:text-white no-underline hover:underline" href=#all-formats-4>All formats</a></h4><ul><li>Added new <code>--no-start</code> to the <code>up</code> command, allowing users to create all resources (networks, volumes, containers) without starting services. The <code>create</code> command is deprecated in favor of this new option</li></ul><h3 class=scroll-mt-20 id=bug-fixes-28><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-28>Bug fixes</a></h3><ul><li><p>Fixed a bug where <code>extra_hosts</code> values would be overridden by extension files instead of merging together</p></li><li><p>Fixed a bug where the validation for v3.2 files would prevent using the <code>consistency</code> field in service volume definitions</p></li><li><p>Fixed a bug that would cause a crash when configuration fields expecting unique items would contain duplicates</p></li><li><p>Fixed a bug where mount overrides with a different mode would create a duplicate entry instead of overriding the original entry</p></li><li><p>Fixed a bug where build labels declared as a list wouldn't be properly parsed</p></li><li><p>Fixed a bug where the output of <code>docker-compose config</code> would be invalid for some versions if the file contained custom-named external volumes</p></li><li><p>Improved error handling when issuing a build command on Windows using an unsupported file version</p></li><li><p>Fixed an issue where networks with identical names would sometimes be created when running <code>up</code> commands concurrently.</p></li></ul><h2 class=scroll-mt-20 id=1160><a class="text-black dark:text-white no-underline hover:underline" href=#1160>1.16.0</a></h2><p>(2017-08-31)</p><h3 class=scroll-mt-20 id=new-features-8><a class="text-black dark:text-white no-underline hover:underline" href=#new-features-8>New features</a></h3><h4 class=scroll-mt-20 id=compose-file-version-23-4><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-23-4>Compose file version 2.3</a></h4><ul><li><p>Introduced version 2.3 of the <code>docker-compose.yml</code> specification. This version requires to be used with Docker Engine 17.06.0 or above.</p></li><li><p>Added support for the <code>target</code> parameter in build configurations</p></li><li><p>Added support for the <code>start_period</code> parameter in healthcheck configurations</p></li></ul><h4 class=scroll-mt-20 id=compose-file-version-2x-2><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-2x-2>Compose file version 2.x</a></h4><ul><li><p>Added support for the <code>blkio_config</code> parameter in service definitions</p></li><li><p>Added support for setting a custom name in volume definitions using the <code>name</code> parameter (not available for version 2.0)</p></li></ul><h4 class=scroll-mt-20 id=all-formats-5><a class="text-black dark:text-white no-underline hover:underline" href=#all-formats-5>All formats</a></h4><ul><li>Added new CLI flag <code>--no-ansi</code> to suppress ANSI control characters in output</li></ul><h3 class=scroll-mt-20 id=bug-fixes-29><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-29>Bug fixes</a></h3><ul><li><p>Fixed a bug where nested <code>extends</code> instructions weren't resolved properly, causing "file not found" errors</p></li><li><p>Fixed several issues with <code>.dockerignore</code> parsing</p></li><li><p>Fixed issues where logs of TTY-enabled services were being printed incorrectly and causing <code>MemoryError</code> exceptions</p></li><li><p>Fixed a bug where printing application logs would sometimes be interrupted by a <code>UnicodeEncodeError</code> exception on Python 3</p></li><li><p>The <code>$</code> character in the output of <code>docker-compose config</code> is now properly escaped</p></li><li><p>Fixed a bug where running <code>docker-compose top</code> would sometimes fail with an uncaught exception</p></li><li><p>Fixed a bug where <code>docker-compose pull</code> with the <code>--parallel</code> flag would return a <code>0</code> exit code when failing</p></li><li><p>Fixed an issue where keys in <code>deploy.resources</code> were not being validated</p></li><li><p>Fixed an issue where the <code>logging</code> options in the output of <code>docker-compose config</code> would be set to <code>null</code>, an invalid value</p></li><li><p>Fixed the output of the <code>docker-compose images</code> command when an image would come from a private repository using an explicit port number</p></li><li><p>Fixed the output of <code>docker-compose config</code> when a port definition used <code>0</code> as the value for the published port</p></li></ul><h2 class=scroll-mt-20 id=1150><a class="text-black dark:text-white no-underline hover:underline" href=#1150>1.15.0</a></h2><p>(2017-07-26)</p><h3 class=scroll-mt-20 id=new-features-9><a class="text-black dark:text-white no-underline hover:underline" href=#new-features-9>New features</a></h3><h4 class=scroll-mt-20 id=compose-file-version-22><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-22>Compose file version 2.2</a></h4><ul><li>Added support for the <code>network</code> parameter in build configurations.</li></ul><h4 class=scroll-mt-20 id=compose-file-version-21-and-up-3><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-21-and-up-3>Compose file version 2.1 and up</a></h4><ul><li><p>The <code>pid</code> option in a service's definition now supports a <code>service:<name></code> value.</p></li><li><p>Added support for the <code>storage_opt</code> parameter in service definitions. This option is not available for the v3 format</p></li></ul><h4 class=scroll-mt-20 id=all-formats-6><a class="text-black dark:text-white no-underline hover:underline" href=#all-formats-6>All formats</a></h4><ul><li><p>Added <code>--quiet</code> flag to <code>docker-compose pull</code>, suppressing progress output</p></li><li><p>Some improvements to CLI output</p></li></ul><h3 class=scroll-mt-20 id=bug-fixes-30><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-30>Bug fixes</a></h3><ul><li><p>Volumes specified through the <code>--volume</code> flag of <code>docker-compose run</code> now complement volumes declared in the service's definition instead of replacing them</p></li><li><p>Fixed a bug where using multiple Compose files would unset the scale value defined inside the Compose file.</p></li><li><p>Fixed an issue where the <code>credHelpers</code> entries in the <code>config.json</code> file were not being honored by Compose</p></li><li><p>Fixed a bug where using multiple Compose files with port declarations would cause failures in Python 3 environments</p></li><li><p>Fixed a bug where some proxy-related options present in the user's environment would prevent Compose from running</p></li><li><p>Fixed an issue where the output of <code>docker-compose config</code> would be invalid if the original file used <code>Y</code> or <code>N</code> values</p></li><li><p>Fixed an issue preventing <code>up</code> operations on a previously created stack on Windows Engine.</p></li></ul><h2 class=scroll-mt-20 id=1140><a class="text-black dark:text-white no-underline hover:underline" href=#1140>1.14.0</a></h2><p>(2017-06-19)</p><h3 class=scroll-mt-20 id=new-features-10><a class="text-black dark:text-white no-underline hover:underline" href=#new-features-10>New features</a></h3><h4 class=scroll-mt-20 id=compose-file-version-33><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-33>Compose file version 3.3</a></h4><ul><li>Introduced version 3.3 of the <code>docker-compose.yml</code> specification. This version requires to be used with Docker Engine 17.06.0 or above. Note: the <code>credential_spec</code> and <code>configs</code> keys only apply to Swarm services and will be ignored by Compose</li></ul><h4 class=scroll-mt-20 id=compose-file-version-22-1><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-22-1>Compose file version 2.2</a></h4><ul><li>Added the following parameters in service definitions: <code>cpu_count</code>, <code>cpu_percent</code>, <code>cpus</code></li></ul><h4 class=scroll-mt-20 id=compose-file-version-21><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-21>Compose file version 2.1</a></h4><ul><li>Added support for build labels. This feature is also available in the 2.2 and 3.3 formats.</li></ul><h4 class=scroll-mt-20 id=all-formats-7><a class="text-black dark:text-white no-underline hover:underline" href=#all-formats-7>All formats</a></h4><ul><li><p>Added shorthand <code>-u</code> for <code>--user</code> flag in <code>docker-compose exec</code></p></li><li><p>Differences in labels between the Compose file and remote network will now print a warning instead of preventing redeployment.</p></li></ul><h3 class=scroll-mt-20 id=bug-fixes-31><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-31>Bug fixes</a></h3><ul><li><p>Fixed a bug where service's dependencies were being rescaled to their default scale when running a <code>docker-compose run</code> command</p></li><li><p>Fixed a bug where <code>docker-compose rm</code> with the <code>--stop</code> flag was not behaving properly when provided with a list of services to remove</p></li><li><p>Fixed a bug where <code>cache_from</code> in the build section would be ignored when using more than one Compose file.</p></li><li><p>Fixed a bug that prevented binding the same port to different IPs when using more than one Compose file.</p></li><li><p>Fixed a bug where override files would not be picked up by Compose if they had the <code>.yaml</code> extension</p></li><li><p>Fixed a bug on Windows Engine where networks would be incorrectly flagged for recreation</p></li><li><p>Fixed a bug where services declaring ports would cause crashes on some versions of Python 3</p></li><li><p>Fixed a bug where the output of <code>docker-compose config</code> would sometimes contain invalid port definitions</p></li></ul><h2 class=scroll-mt-20 id=1130><a class="text-black dark:text-white no-underline hover:underline" href=#1130>1.13.0</a></h2><p>(2017-05-02)</p><h3 class=scroll-mt-20 id=breaking-changes-1><a class="text-black dark:text-white no-underline hover:underline" href=#breaking-changes-1>Breaking changes</a></h3><ul><li><code>docker-compose up</code> now resets a service's scaling to its default value. You can use the newly introduced <code>--scale</code> option to specify a custom scale value</li></ul><h3 class=scroll-mt-20 id=new-features-11><a class="text-black dark:text-white no-underline hover:underline" href=#new-features-11>New features</a></h3><h4 class=scroll-mt-20 id=compose-file-version-22-2><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-22-2>Compose file version 2.2</a></h4><ul><li><p>Introduced version 2.2 of the <code>docker-compose.yml</code> specification. This version requires to be used with Docker Engine 1.13.0 or above</p></li><li><p>Added support for <code>init</code> in service definitions.</p></li><li><p>Added support for <code>scale</code> in service definitions. The configuration's value can be overridden using the <code>--scale</code> flag in <code>docker-compose up</code>. The <code>scale</code> command is disabled for this file format</p></li></ul><h4 class=scroll-mt-20 id=compose-file-version-2x-3><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-2x-3>Compose file version 2.x</a></h4><ul><li>Added support for <code>options</code> in the <code>ipam</code> section of network definitions</li></ul><h3 class=scroll-mt-20 id=bug-fixes-32><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-32>Bug fixes</a></h3><ul><li><p>Fixed a bug where paths provided to compose via the <code>-f</code> option were not being resolved properly</p></li><li><p>Fixed a bug where the <code>ext_ip::target_port</code> notation in the ports section was incorrectly marked as invalid</p></li><li><p>Fixed an issue where the <code>exec</code> command would sometimes not return control to the terminal when using the <code>-d</code> flag</p></li><li><p>Fixed a bug where secrets were missing from the output of the <code>config</code> command for v3.2 files</p></li><li><p>Fixed an issue where <code>docker-compose</code> would hang if no internet connection was available</p></li><li><p>Fixed an issue where paths containing unicode characters passed via the <code>-f</code> flag were causing Compose to crash</p></li><li><p>Fixed an issue where the output of <code>docker-compose config</code> would be invalid if the Compose file contained external secrets</p></li><li><p>Fixed a bug where using <code>--exit-code-from</code> with <code>up</code> would fail if Compose was installed in a Python 3 environment</p></li><li><p>Fixed a bug where recreating containers using a combination of <code>tmpfs</code> and <code>volumes</code> would result in an invalid config state</p></li></ul><h2 class=scroll-mt-20 id=1120><a class="text-black dark:text-white no-underline hover:underline" href=#1120>1.12.0</a></h2><p>(2017-04-04)</p><h3 class=scroll-mt-20 id=new-features-12><a class="text-black dark:text-white no-underline hover:underline" href=#new-features-12>New features</a></h3><h4 class=scroll-mt-20 id=compose-file-version-32><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-32>Compose file version 3.2</a></h4><ul><li><p>Introduced version 3.2 of the <code>docker-compose.yml</code> specification</p></li><li><p>Added support for <code>cache_from</code> in the <code>build</code> section of services</p></li><li><p>Added support for the new expanded ports syntax in service definitions</p></li><li><p>Added support for the new expanded volumes syntax in service definitions</p></li></ul><h4 class=scroll-mt-20 id=compose-file-version-21-1><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-21-1>Compose file version 2.1</a></h4><ul><li>Added support for <code>pids_limit</code> in service definitions</li></ul><h4 class=scroll-mt-20 id=compose-file-version-20-and-up><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-20-and-up>Compose file version 2.0 and up</a></h4><ul><li><p>Added <code>--volumes</code> option to <code>docker-compose config</code> that lists named volumes declared for that project</p></li><li><p>Added support for <code>mem_reservation</code> in service definitions (2.x only)</p></li><li><p>Added support for <code>dns_opt</code> in service definitions (2.x only)</p></li></ul><h4 class=scroll-mt-20 id=all-formats-8><a class="text-black dark:text-white no-underline hover:underline" href=#all-formats-8>All formats</a></h4><ul><li><p>Added a new <code>docker-compose images</code> command that lists images used by the current project's containers</p></li><li><p>Added a <code>--stop</code> (shorthand <code>-s</code>) option to <code>docker-compose rm</code> that stops the running containers before removing them</p></li><li><p>Added a <code>--resolve-image-digests</code> option to <code>docker-compose config</code> that pins the image version for each service to a permanent digest</p></li><li><p>Added a <code>--exit-code-from SERVICE</code> option to <code>docker-compose up</code>. When used, <code>docker-compose</code> will exit on any container's exit with the code corresponding to the specified service's exit code</p></li><li><p>Added a <code>--parallel</code> option to <code>docker-compose pull</code> that enables images for multiple services to be pulled simultaneously</p></li><li><p>Added a <code>--build-arg</code> option to <code>docker-compose build</code></p></li><li><p>Added a <code>--volume <volume_mapping></code> (shorthand <code>-v</code>) option to <code>docker-compose run</code> to declare runtime volumes to be mounted</p></li><li><p>Added a <code>--project-directory PATH</code> option to <code>docker-compose</code> that will affect path resolution for the project</p></li><li><p>When using <code>--abort-on-container-exit</code> in <code>docker-compose up</code>, the exit code for the container that caused the abort will be the exit code of the <code>docker-compose up</code> command</p></li><li><p>Users can now configure which path separator character they want to use to separate the <code>COMPOSE_FILE</code> environment value using the <code>COMPOSE_PATH_SEPARATOR</code> environment variable</p></li><li><p>Added support for port range to a single port in port mappings, such as <code>8000-8010:80</code>.</p></li></ul><h3 class=scroll-mt-20 id=bug-fixes-33><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-33>Bug fixes</a></h3><ul><li><p><code>docker-compose run --rm</code> now removes anonymous volumes after execution, matching the behavior of <code>docker run --rm</code>.</p></li><li><p>Fixed a bug where override files containing port lists would cause a TypeError to be raised</p></li><li><p>Fixed a bug where the <code>deploy</code> key would be missing from the output of <code>docker-compose config</code></p></li><li><p>Fixed a bug where scaling services up or down would sometimes re-use obsolete containers</p></li><li><p>Fixed a bug where the output of <code>docker-compose config</code> would be invalid if the project declared anonymous volumes</p></li><li><p>Variable interpolation now properly occurs in the <code>secrets</code> section of the Compose file</p></li><li><p>The <code>secrets</code> section now properly appears in the output of <code>docker-compose config</code></p></li><li><p>Fixed a bug where changes to some networks properties would not be detected against previously created networks</p></li><li><p>Fixed a bug where <code>docker-compose</code> would crash when trying to write into a closed pipe</p></li><li><p>Fixed an issue where Compose would not pick up on the value of COMPOSE_TLS_VERSION when used in combination with command-line TLS flags</p></li></ul><h2 class=scroll-mt-20 id=1112><a class="text-black dark:text-white no-underline hover:underline" href=#1112>1.11.2</a></h2><p>(2017-02-17)</p><h3 class=scroll-mt-20 id=bug-fixes-34><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-34>Bug fixes</a></h3><ul><li><p>Fixed a bug that was preventing secrets configuration from being loaded properly</p></li><li><p>Fixed a bug where the <code>docker-compose config</code> command would fail if the config file contained secrets definitions</p></li><li><p>Fixed an issue where Compose on some linux distributions would pick up and load an outdated version of the requests library</p></li><li><p>Fixed an issue where socket-type files inside a build folder would cause <code>docker-compose</code> to crash when trying to build that service</p></li><li><p>Fixed an issue where recursive wildcard patterns <code>**</code> were not being recognized in <code>.dockerignore</code> files.</p></li></ul><h2 class=scroll-mt-20 id=1111><a class="text-black dark:text-white no-underline hover:underline" href=#1111>1.11.1</a></h2><p>(2017-02-09)</p><h3 class=scroll-mt-20 id=bug-fixes-35><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-35>Bug fixes</a></h3><ul><li>Fixed a bug where the 3.1 file format was not being recognized as valid by the Compose parser</li></ul><h2 class=scroll-mt-20 id=1110><a class="text-black dark:text-white no-underline hover:underline" href=#1110>1.11.0</a></h2><p>(2017-02-08)</p><h3 class=scroll-mt-20 id=new-features-13><a class="text-black dark:text-white no-underline hover:underline" href=#new-features-13>New Features</a></h3><h4 class=scroll-mt-20 id=compose-file-version-31><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-31>Compose file version 3.1</a></h4><ul><li>Introduced version 3.1 of the <code>docker-compose.yml</code> specification. This version requires Docker Engine 1.13.0 or above. It introduces support for secrets. See the documentation for more information</li></ul><h4 class=scroll-mt-20 id=compose-file-version-20-and-up-1><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-20-and-up-1>Compose file version 2.0 and up</a></h4><ul><li>Introduced the <code>docker-compose top</code> command that displays processes running for the different services managed by Compose.</li></ul><h3 class=scroll-mt-20 id=bug-fixes-36><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-36>Bug fixes</a></h3><ul><li><p>Fixed a bug where extending a service defining a healthcheck dictionary would cause <code>docker-compose</code> to error out.</p></li><li><p>Fixed an issue where the <code>pid</code> entry in a service definition was being ignored when using multiple Compose files.</p></li></ul><h2 class=scroll-mt-20 id=1101><a class="text-black dark:text-white no-underline hover:underline" href=#1101>1.10.1</a></h2><p>(2017-02-01)</p><h3 class=scroll-mt-20 id=bug-fixes-37><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-37>Bug fixes</a></h3><ul><li><p>Fixed an issue where the presence of older versions of the docker-py package would cause unexpected crashes while running Compose</p></li><li><p>Fixed an issue where healthcheck dependencies would be lost when using multiple compose files for a project</p></li><li><p>Fixed a few issues that made the output of the <code>config</code> command invalid</p></li><li><p>Fixed an issue where adding volume labels to v3 Compose files would result in an error</p></li><li><p>Fixed an issue on Windows where build context paths containing unicode characters were being improperly encoded</p></li><li><p>Fixed a bug where Compose would occasionally crash while streaming logs when containers would stop or restart</p></li></ul><h2 class=scroll-mt-20 id=1100><a class="text-black dark:text-white no-underline hover:underline" href=#1100>1.10.0</a></h2><p>(2017-01-18)</p><h3 class=scroll-mt-20 id=new-features-14><a class="text-black dark:text-white no-underline hover:underline" href=#new-features-14>New Features</a></h3><h4 class=scroll-mt-20 id=compose-file-version-30><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-30>Compose file version 3.0</a></h4><ul><li>Introduced version 3.0 of the <code>docker-compose.yml</code> specification. This version requires to be used with Docker Engine 1.13 or above and is specifically designed to work with the <code>docker stack</code> commands.</li></ul><h4 class=scroll-mt-20 id=compose-file-version-21-and-up-4><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-21-and-up-4>Compose file version 2.1 and up</a></h4><ul><li><p>Healthcheck configuration can now be done in the service definition using the <code>healthcheck</code> parameter</p></li><li><p>Containers dependencies can now be set up to wait on positive healthchecks when declared using <code>depends_on</code>. See the documentation for the updated syntax.</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>This feature will not be ported to version 3 Compose files.</p></blockquote></li><li><p>Added support for the <code>sysctls</code> parameter in service definitions</p></li><li><p>Added support for the <code>userns_mode</code> parameter in service definitions</p></li><li><p>Compose now adds identifying labels to networks and volumes it creates</p></li></ul><h4 class=scroll-mt-20 id=compose-file-version-20-and-up-2><a class="text-black dark:text-white no-underline hover:underline" href=#compose-file-version-20-and-up-2>Compose file version 2.0 and up</a></h4><ul><li>Added support for the <code>stop_grace_period</code> option in service definitions.</li></ul><h3 class=scroll-mt-20 id=bug-fixes-38><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-38>Bug fixes</a></h3><ul><li><p>Colored output now works properly on Windows.</p></li><li><p>Fixed a bug where docker-compose run would fail to set up link aliases in interactive mode on Windows.</p></li><li><p>Networks created by Compose are now always made attachable (Compose files v2.1 and up).</p></li><li><p>Fixed a bug where falsy values of <code>COMPOSE_CONVERT_WINDOWS_PATHS</code> (<code>0</code>, <code>false</code>, empty value) were being interpreted as true.</p></li><li><p>Fixed a bug where forward slashes in some .dockerignore patterns weren't being parsed correctly on Windows</p></li></ul><h2 class=scroll-mt-20 id=190><a class="text-black dark:text-white no-underline hover:underline" href=#190>1.9.0</a></h2><p>(2016-11-16)</p><p><strong>Breaking changes</strong></p><ul><li>When using Compose with Docker Toolbox/Machine on Windows, volume paths are no longer converted from <code>C:\Users</code> to <code>/c/Users</code>-style by default. To re-enable this conversion so that your volumes keep working, set the environment variable <code>COMPOSE_CONVERT_WINDOWS_PATHS=1</code>. Users of Docker for Windows are not affected and do not need to set the variable.</li></ul><h3 class=scroll-mt-20 id=new-features-15><a class="text-black dark:text-white no-underline hover:underline" href=#new-features-15>New Features</a></h3><ul><li><p>Interactive mode for <code>docker-compose run</code> and <code>docker-compose exec</code> is now supported on Windows platforms. The <code>docker</code> binary is required to be present on the system for this feature to work.</p></li><li><p>Introduced version 2.1 of the <code>docker-compose.yml</code> specification. This version requires to be used with Docker Engine 1.12 or above.</p><ul><li>Added support for setting volume labels and network labels in <code>docker-compose.yml</code>.</li><li>Added support for the <code>isolation</code> parameter in service definitions.</li><li>Added support for link-local IPs in the service networks definitions.</li><li>Added support for shell-style inline defaults in variable interpolation. The supported forms are <code>${FOO-default}</code> (fall back if FOO is unset) and <code>${FOO:-default}</code> (fall back if FOO is unset or empty).</li></ul></li><li><p>Added support for the <code>group_add</code> and <code>oom_score_adj</code> parameters in service definitions.</p></li><li><p>Added support for the <code>internal</code> and <code>enable_ipv6</code> parameters in network definitions.</p></li><li><p>Compose now defaults to using the <code>npipe</code> protocol on Windows.</p></li><li><p>Overriding a <code>logging</code> configuration will now properly merge the <code>options</code> mappings if the <code>driver</code> values do not conflict.</p></li></ul><h3 class=scroll-mt-20 id=bug-fixes-39><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-39>Bug fixes</a></h3><ul><li><p>Fixed several bugs related to <code>npipe</code> protocol support on Windows.</p></li><li><p>Fixed an issue with Windows paths being incorrectly converted when using Docker on Windows Server.</p></li><li><p>Fixed a bug where an empty <code>restart</code> value would sometimes result in an exception being raised.</p></li><li><p>Fixed an issue where service logs containing unicode characters would sometimes cause an error to occur.</p></li><li><p>Fixed a bug where unicode values in environment variables would sometimes raise a unicode exception when retrieved.</p></li><li><p>Fixed an issue where Compose would incorrectly detect a configuration mismatch for overlay networks.</p></li></ul><h2 class=scroll-mt-20 id=181><a class="text-black dark:text-white no-underline hover:underline" href=#181>1.8.1</a></h2><p>(2016-09-22)</p><h3 class=scroll-mt-20 id=bug-fixes-40><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-40>Bug fixes</a></h3><ul><li><p>Fixed a bug where users using a credentials store were not able to access their private images.</p></li><li><p>Fixed a bug where users using identity tokens to authenticate were not able to access their private images.</p></li><li><p>Fixed a bug where an <code>HttpHeaders</code> entry in the docker configuration file would cause Compose to crash when trying to build an image.</p></li><li><p>Fixed a few bugs related to the handling of Windows paths in volume binding declarations.</p></li><li><p>Fixed a bug where Compose would sometimes crash while trying to read a streaming response from the engine.</p></li><li><p>Fixed an issue where Compose would crash when encountering an API error while streaming container logs.</p></li><li><p>Fixed an issue where Compose would erroneously try to output logs from drivers not handled by the Engine's API.</p></li><li><p>Fixed a bug where options from the <code>docker-machine config</code> command would not be properly interpreted by Compose.</p></li><li><p>Fixed a bug where the connection to the Docker Engine would sometimes fail when running a large number of services simultaneously.</p></li><li><p>Fixed an issue where Compose would sometimes print a misleading suggestion message when running the <code>bundle</code> command.</p></li><li><p>Fixed a bug where connection errors would not be handled properly by Compose during the project initialization phase.</p></li><li><p>Fixed a bug where a misleading error would appear when encountering a connection timeout.</p></li></ul><h2 class=scroll-mt-20 id=180><a class="text-black dark:text-white no-underline hover:underline" href=#180>1.8.0</a></h2><p>(2016-06-14)</p><h3 class=scroll-mt-20 id=breaking-changes-2><a class="text-black dark:text-white no-underline hover:underline" href=#breaking-changes-2>Breaking Changes</a></h3><ul><li><p>As announced in 1.7.0, <code>docker-compose rm</code> now removes containers created by <code>docker-compose run</code> by default.</p></li><li><p>Setting <code>entrypoint</code> on a service now empties out any default command that was set on the image (i.e. any <code>CMD</code> instruction in the Dockerfile used to build it). This makes it consistent with the <code>--entrypoint</code> flag to <code>docker run</code>.</p></li></ul><h3 class=scroll-mt-20 id=new-features-16><a class="text-black dark:text-white no-underline hover:underline" href=#new-features-16>New Features</a></h3><ul><li><p>Added <code>docker-compose bundle</code>, a command that builds a bundle file to be consumed by the new <em>Docker Stack</em> commands in Docker 1.12.</p></li><li><p>Added <code>docker-compose push</code>, a command that pushes service images to a registry.</p></li><li><p>Compose now supports specifying a custom TLS version for interaction with the Docker Engine using the <code>COMPOSE_TLS_VERSION</code> environment variable.</p></li></ul><h3 class=scroll-mt-20 id=bug-fixes-41><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-41>Bug fixes</a></h3><ul><li><p>Fixed a bug where Compose would erroneously try to read <code>.env</code> at the project's root when it is a directory.</p></li><li><p><code>docker-compose run -e VAR</code> now passes <code>VAR</code> through from the shell to the container, as with <code>docker run -e VAR</code>.</p></li><li><p>Improved config merging when multiple compose files are involved for several service sub-keys.</p></li><li><p>Fixed a bug where volume mappings containing Windows drives would sometimes be parsed incorrectly.</p></li><li><p>Fixed a bug in Windows environment where volume mappings of the host's root directory would be parsed incorrectly.</p></li><li><p>Fixed a bug where <code>docker-compose config</code> would output an invalid Compose file if external networks were specified.</p></li><li><p>Fixed an issue where unset buildargs would be assigned a string containing <code>'None'</code> instead of the expected empty value.</p></li><li><p>Fixed a bug where yes/no prompts on Windows would not show before receiving input.</p></li><li><p>Fixed a bug where trying to <code>docker-compose exec</code> on Windows without the <code>-d</code> option would exit with a stacktrace. This will still fail for the time being, but should do so gracefully.</p></li><li><p>Fixed a bug where errors during <code>docker-compose up</code> would show an unrelated stacktrace at the end of the process.</p></li><li><p><code>docker-compose create</code> and <code>docker-compose start</code> show more descriptive error messages when something goes wrong.</p></li></ul><h2 class=scroll-mt-20 id=171><a class="text-black dark:text-white no-underline hover:underline" href=#171>1.7.1</a></h2><p>(2016-05-04)</p><h3 class=scroll-mt-20 id=bug-fixes-42><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-42>Bug fixes</a></h3><ul><li><p>Fixed a bug where the output of <code>docker-compose config</code> for v1 files would be an invalid configuration file.</p></li><li><p>Fixed a bug where <code>docker-compose config</code> would not check the validity of links.</p></li><li><p>Fixed an issue where <code>docker-compose help</code> would not output a list of available commands and generic options as expected.</p></li><li><p>Fixed an issue where filtering by service when using <code>docker-compose logs</code> would not apply for newly created services.</p></li><li><p>Fixed a bug where unchanged services would sometimes be recreated in in the up phase when using Compose with Python 3.</p></li><li><p>Fixed an issue where API errors encountered during the up phase would not be recognized as a failure state by Compose.</p></li><li><p>Fixed a bug where Compose would raise a NameError because of an undefined exception name on non-Windows platforms.</p></li><li><p>Fixed a bug where the wrong version of <code>docker-py</code> would sometimes be installed alongside Compose.</p></li><li><p>Fixed a bug where the host value output by <code>docker-machine config default</code> would not be recognized as valid options by the <code>docker-compose</code> command line.</p></li><li><p>Fixed an issue where Compose would sometimes exit unexpectedly while reading events broadcasted by a Swarm cluster.</p></li><li><p>Corrected a statement in the docs about the location of the <code>.env</code> file, which is indeed read from the current directory, instead of in the same location as the Compose file.</p></li></ul><h2 class=scroll-mt-20 id=170><a class="text-black dark:text-white no-underline hover:underline" href=#170>1.7.0</a></h2><p>(2016-04-13)</p><h3 class=scroll-mt-20 id=breaking-changes-3><a class="text-black dark:text-white no-underline hover:underline" href=#breaking-changes-3>Breaking Changes</a></h3><ul><li><p><code>docker-compose logs</code> no longer follows log output by default. It now matches the behavior of <code>docker logs</code> and exits after the current logs are printed. Use <code>-f</code> to get the old default behavior.</p></li><li><p>Booleans are no longer allows as values for mappings in the Compose file (for keys <code>environment</code>, <code>labels</code> and <code>extra_hosts</code>). Previously this was a warning. Boolean values should be quoted so they become string values.</p></li></ul><h3 class=scroll-mt-20 id=new-features-17><a class="text-black dark:text-white no-underline hover:underline" href=#new-features-17>New Features</a></h3><ul><li><p>Compose now looks for a <code>.env</code> file in the directory where it's run and reads any environment variables defined inside, if they're not already set in the shell environment. This lets you easily set defaults for variables used in the Compose file, or for any of the <code>COMPOSE_*</code> or <code>DOCKER_*</code> variables.</p></li><li><p>Added a <code>--remove-orphans</code> flag to both <code>docker-compose up</code> and <code>docker-compose down</code> to remove containers for services that were removed from the Compose file.</p></li><li><p>Added a <code>--all</code> flag to <code>docker-compose rm</code> to include containers created by <code>docker-compose run</code>. This will become the default behavior in the next version of Compose.</p></li><li><p>Added support for all the same TLS configuration flags used by the <code>docker</code> client: <code>--tls</code>, <code>--tlscert</code>, <code>--tlskey</code>, etc.</p></li><li><p>Compose files now support the <code>tmpfs</code> and <code>shm_size</code> options.</p></li><li><p>Added the <code>--workdir</code> flag to <code>docker-compose run</code></p></li><li><p><code>docker-compose logs</code> now shows logs for new containers that are created after it starts.</p></li><li><p>The <code>COMPOSE_FILE</code> environment variable can now contain multiple files, separated by the host system's standard path separator (<code>:</code> on Mac/Linux, <code>;</code> on Windows).</p></li><li><p>You can now specify a static IP address when connecting a service to a network with the <code>ipv4_address</code> and <code>ipv6_address</code> options.</p></li><li><p>Added <code>--follow</code>, <code>--timestamp</code>, and <code>--tail</code> flags to the <code>docker-compose logs</code> command.</p></li><li><p><code>docker-compose up</code>, and <code>docker-compose start</code> will now start containers in parallel where possible.</p></li><li><p><code>docker-compose stop</code> now stops containers in reverse dependency order instead of all at once.</p></li><li><p>Added the <code>--build</code> flag to <code>docker-compose up</code> to force it to build a new image. It now shows a warning if an image is automatically built when the flag is not used.</p></li><li><p>Added the <code>docker-compose exec</code> command for executing a process in a running container.</p></li></ul><h3 class=scroll-mt-20 id=bug-fixes-43><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-43>Bug fixes</a></h3><ul><li><p><code>docker-compose down</code> now removes containers created by <code>docker-compose run</code>.</p></li><li><p>A more appropriate error is shown when a timeout is hit during <code>up</code> when using a tty.</p></li><li><p>Fixed a bug in <code>docker-compose down</code> where it would abort if some resources had already been removed.</p></li><li><p>Fixed a bug where changes to network aliases would not trigger a service to be recreated.</p></li><li><p>Fix a bug where a log message was printed about creating a new volume when it already existed.</p></li><li><p>Fixed a bug where interrupting <code>up</code> would not always shut down containers.</p></li><li><p>Fixed a bug where <code>log_opt</code> and <code>log_driver</code> were not properly carried over when extending services in the v1 Compose file format.</p></li><li><p>Fixed a bug where empty values for build args would cause file validation to fail.</p></li></ul><h2 class=scroll-mt-20 id=162><a class="text-black dark:text-white no-underline hover:underline" href=#162>1.6.2</a></h2><p>(2016-02-23)</p><ul><li>Fixed a bug where connecting to a TLS-enabled Docker Engine would fail with a certificate verification error.</li></ul><h2 class=scroll-mt-20 id=161><a class="text-black dark:text-white no-underline hover:underline" href=#161>1.6.1</a></h2><p>(2016-02-23)</p><h3 class=scroll-mt-20 id=bug-fixes-44><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-44>Bug fixes</a></h3><ul><li><p>Fixed a bug where recreating a container multiple times would cause the new container to be started without the previous volumes.</p></li><li><p>Fixed a bug where Compose would set the value of unset environment variables to an empty string, instead of a key without a value.</p></li><li><p>Provide a better error message when Compose requires a more recent version of the Docker API.</p></li><li><p>Add a missing config field <code>network.aliases</code> which allows setting a network scoped alias for a service.</p></li><li><p>Fixed a bug where <code>run</code> would not start services listed in <code>depends_on</code>.</p></li><li><p>Fixed a bug where <code>networks</code> and <code>network_mode</code> where not merged when using extends or multiple Compose files.</p></li><li><p>Fixed a bug with service aliases where the short container id alias was only contained 10 characters, instead of the 12 characters used in previous versions.</p></li><li><p>Added a missing log message when creating a new named volume.</p></li><li><p>Fixed a bug where <code>build.args</code> was not merged when using <code>extends</code> or multiple Compose files.</p></li><li><p>Fixed some bugs with config validation when null values or incorrect types were used instead of a mapping.</p></li><li><p>Fixed a bug where a <code>build</code> section without a <code>context</code> would show a stack trace instead of a helpful validation message.</p></li><li><p>Improved compatibility with swarm by only setting a container affinity to the previous instance of a services' container when the service uses an anonymous container volume. Previously the affinity was always set on all containers.</p></li><li><p>Fixed the validation of some <code>driver_opts</code> would cause an error if a number was used instead of a string.</p></li><li><p>Some improvements to the <code>run.sh</code> script used by the Compose container install option.</p></li><li><p>Fixed a bug with <code>up --abort-on-container-exit</code> where Compose would exit, but would not stop other containers.</p></li><li><p>Corrected the warning message that is printed when a boolean value is used as a value in a mapping.</p></li></ul><h2 class=scroll-mt-20 id=160><a class="text-black dark:text-white no-underline hover:underline" href=#160>1.6.0</a></h2><p>(2016-01-15)</p><h3 class=scroll-mt-20 id=major-features><a class="text-black dark:text-white no-underline hover:underline" href=#major-features>Major Features</a></h3><ul><li><p>Compose 1.6 introduces a new format for <code>docker-compose.yml</code> which lets you define networks and volumes in the Compose file as well as services. It also makes a few changes to the structure of some configuration options.</p><p>You don't have to use it - your existing Compose files will run on Compose 1.6 exactly as they do today.</p><p>Check the <a class=link href=https://docs.docker.com/reference/compose-file/legacy-versions/>upgrade guide</a> for full details.</p></li><li><p>Support for networking has exited experimental status and is the recommended way to enable communication between containers.</p><p>If you use the new file format, your app will use networking. If you aren't ready yet, just leave your Compose file as it is and it'll continue to work just the same.</p><p>By default, you don't have to configure any networks. In fact, using networking with Compose involves even less configuration than using links. Consult the <a class=link href=https://docs.docker.com/compose/how-tos/networking/>networking guide</a> for how to use it.</p><p>The experimental flags <code>--x-networking</code> and <code>--x-network-driver</code>, introduced in Compose 1.5, have been removed.</p></li><li><p>You can now pass arguments to a build if you're using the new file format:</p><pre><code>build: context: . args: buildno: 1 </code></pre></li><li><p>You can now specify both a <code>build</code> and an <code>image</code> key if you're using the new file format. <code>docker-compose build</code> will build the image and tag it with the name you've specified, while <code>docker-compose pull</code> will attempt to pull it.</p></li><li><p>There's a new <code>events</code> command for monitoring container events from the application, much like <code>docker events</code>. This is a good primitive for building tools on top of Compose for performing actions when particular things happen, such as containers starting and stopping.</p></li><li><p>There's a new <code>depends_on</code> option for specifying dependencies between services. This enforces the order of startup, and ensures that when you run <code>docker-compose up SERVICE</code> on a service with dependencies, those are started as well.</p></li></ul><h3 class=scroll-mt-20 id=new-features-18><a class="text-black dark:text-white no-underline hover:underline" href=#new-features-18>New Features</a></h3><ul><li><p>Added a new command <code>config</code> which validates and prints the Compose configuration after interpolating variables, resolving relative paths, and merging multiple files and <code>extends</code>.</p></li><li><p>Added a new command <code>create</code> for creating containers without starting them.</p></li><li><p>Added a new command <code>down</code> to stop and remove all the resources created by <code>up</code> in a single command.</p></li><li><p>Added support for the <code>cpu_quota</code> configuration option.</p></li><li><p>Added support for the <code>stop_signal</code> configuration option.</p></li><li><p>Commands <code>start</code>, <code>restart</code>, <code>pause</code>, and <code>unpause</code> now exit with an error status code if no containers were modified.</p></li><li><p>Added a new <code>--abort-on-container-exit</code> flag to <code>up</code> which causes <code>up</code> to stop all container and exit once the first container exits.</p></li><li><p>Removed support for <code>FIG_FILE</code>, <code>FIG_PROJECT_NAME</code>, and no longer reads <code>fig.yml</code> as a default Compose file location.</p></li><li><p>Removed the <code>migrate-to-labels</code> command.</p></li><li><p>Removed the <code>--allow-insecure-ssl</code> flag.</p></li></ul><h3 class=scroll-mt-20 id=bug-fixes-45><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-45>Bug fixes</a></h3><ul><li><p>Fixed a validation bug that prevented the use of a range of ports in the <code>expose</code> field.</p></li><li><p>Fixed a validation bug that prevented the use of arrays in the <code>entrypoint</code> field if they contained duplicate entries.</p></li><li><p>Fixed a bug that caused <code>ulimits</code> to be ignored when used with <code>extends</code>.</p></li><li><p>Fixed a bug that prevented ipv6 addresses in <code>extra_hosts</code>.</p></li><li><p>Fixed a bug that caused <code>extends</code> to be ignored when included from multiple Compose files.</p></li><li><p>Fixed an incorrect warning when a container volume was defined in the Compose file.</p></li><li><p>Fixed a bug that prevented the force shutdown behavior of <code>up</code> and <code>logs</code>.</p></li><li><p>Fixed a bug that caused <code>None</code> to be printed as the network driver name when the default network driver was used.</p></li><li><p>Fixed a bug where using the string form of <code>dns</code> or <code>dns_search</code> would cause an error.</p></li><li><p>Fixed a bug where a container would be reported as "Up" when it was in the restarting state.</p></li><li><p>Fixed a confusing error message when DOCKER_CERT_PATH was not set properly.</p></li><li><p>Fixed a bug where attaching to a container would fail if it was using a non-standard logging driver (or none at all).</p></li></ul><h2 class=scroll-mt-20 id=152><a class="text-black dark:text-white no-underline hover:underline" href=#152>1.5.2</a></h2><p>(2015-12-03)</p><ul><li><p>Fixed a bug which broke the use of <code>environment</code> and <code>env_file</code> with <code>extends</code>, and caused environment keys without values to have a <code>None</code> value, instead of a value from the host environment.</p></li><li><p>Fixed a regression in 1.5.1 that caused a warning about volumes to be raised incorrectly when containers were recreated.</p></li><li><p>Fixed a bug which prevented building a <code>Dockerfile</code> that used <code>ADD <url></code></p></li><li><p>Fixed a bug with <code>docker-compose restart</code> which prevented it from starting stopped containers.</p></li><li><p>Fixed handling of SIGTERM and SIGINT to properly stop containers</p></li><li><p>Add support for using a url as the value of <code>build</code></p></li><li><p>Improved the validation of the <code>expose</code> option</p></li></ul><h2 class=scroll-mt-20 id=151><a class="text-black dark:text-white no-underline hover:underline" href=#151>1.5.1</a></h2><p>(2015-11-12)</p><ul><li><p>Add the <code>--force-rm</code> option to <code>build</code>.</p></li><li><p>Add the <code>ulimit</code> option for services in the Compose file.</p></li><li><p>Fixed a bug where <code>up</code> would error with "service needs to be built" if a service changed from using <code>image</code> to using <code>build</code>.</p></li><li><p>Fixed a bug that would cause incorrect output of parallel operations on some terminals.</p></li><li><p>Fixed a bug that prevented a container from being recreated when the mode of a <code>volumes_from</code> was changed.</p></li><li><p>Fixed a regression in 1.5.0 where non-utf-8 unicode characters would cause <code>up</code> or <code>logs</code> to crash.</p></li><li><p>Fixed a regression in 1.5.0 where Compose would use a success exit status code when a command fails due to an HTTP timeout communicating with the docker daemon.</p></li><li><p>Fixed a regression in 1.5.0 where <code>name</code> was being accepted as a valid service option which would override the actual name of the service.</p></li><li><p>When using <code>--x-networking</code> Compose no longer sets the hostname to the container name.</p></li><li><p>When using <code>--x-networking</code> Compose will only create the default network if at least one container is using the network.</p></li><li><p>When printings logs during <code>up</code> or <code>logs</code>, flush the output buffer after each line to prevent buffering issues from hiding logs.</p></li><li><p>Recreate a container if one of its dependencies is being created. Previously a container was only recreated if it's dependencies already existed, but were being recreated as well.</p></li><li><p>Add a warning when a <code>volume</code> in the Compose file is being ignored and masked by a container volume from a previous container.</p></li><li><p>Improve the output of <code>pull</code> when run without a tty.</p></li><li><p>When using multiple Compose files, validate each before attempting to merge them together. Previously invalid files would result in not helpful errors.</p></li><li><p>Allow dashes in keys in the <code>environment</code> service option.</p></li><li><p>Improve validation error messages by including the filename as part of the error message.</p></li></ul><h2 class=scroll-mt-20 id=150><a class="text-black dark:text-white no-underline hover:underline" href=#150>1.5.0</a></h2><p>(2015-11-03)</p><h3 class=scroll-mt-20 id=breaking-changes-4><a class="text-black dark:text-white no-underline hover:underline" href=#breaking-changes-4>Breaking changes</a></h3><p>With the introduction of variable substitution support in the Compose file, any Compose file that uses an environment variable (<code>$VAR</code> or <code>${VAR}</code>) in the <code>command:</code> or <code>entrypoint:</code> field will break.</p><p>Previously these values were interpolated inside the container, with a value from the container environment. In Compose 1.5.0, the values will be interpolated on the host, with a value from the host environment.</p><p>To migrate a Compose file to 1.5.0, escape the variables with an extra <code>$</code> (ex: <code>$$VAR</code> or <code>$${VAR}</code>). See <a class=link href=https://github.com/docker/compose/blob/8cc8e61/docs/compose-file.md#variable-substitution rel=noopener>https://github.com/docker/compose/blob/8cc8e61/docs/compose-file.md#variable-substitution<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></p><h3 class=scroll-mt-20 id=major-features-1><a class="text-black dark:text-white no-underline hover:underline" href=#major-features-1>Major features</a></h3><ul><li><p>Compose is now available for Windows.</p></li><li><p>Environment variables can be used in the Compose file. See <a class=link href=https://github.com/docker/compose/blob/8cc8e61/docs/compose-file.md#variable-substitution rel=noopener>https://github.com/docker/compose/blob/8cc8e61/docs/compose-file.md#variable-substitution<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></p></li><li><p>Multiple compose files can be specified, allowing you to override settings in the default Compose file. See <a class=link href=https://github.com/docker/compose/blob/8cc8e61/docs/reference/docker-compose.md rel=noopener>https://github.com/docker/compose/blob/8cc8e61/docs/reference/docker-compose.md<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> for more details.</p></li><li><p>Compose now produces better error messages when a file contains invalid configuration.</p></li><li><p><code>up</code> now waits for all services to exit before shutting down, rather than shutting down as soon as one container exits.</p></li><li><p>Experimental support for the new docker networking system can be enabled with the <code>--x-networking</code> flag. Read more here: <a class=link href=https://github.com/docker/docker/blob/8fee1c20/docs/userguide/dockernetworks.md rel=noopener>https://github.com/docker/docker/blob/8fee1c20/docs/userguide/dockernetworks.md<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></p></li></ul><h3 class=scroll-mt-20 id=new-features-19><a class="text-black dark:text-white no-underline hover:underline" href=#new-features-19>New features</a></h3><ul><li><p>You can now optionally pass a mode to <code>volumes_from</code>. For example, <code>volumes_from: ["servicename:ro"]</code>.</p></li><li><p>Since Docker now lets you create volumes with names, you can refer to those volumes by name in <code>docker-compose.yml</code>. For example, <code>volumes: ["mydatavolume:/data"]</code> will mount the volume named <code>mydatavolume</code> at the path <code>/data</code> inside the container.</p><p>If the first component of an entry in <code>volumes</code> starts with a <code>.</code>, <code>/</code> or <code>~</code>, it is treated as a path and expansion of relative paths is performed as necessary. Otherwise, it is treated as a volume name and passed straight through to Docker.</p><p>Read more on named volumes and volume drivers here: <a class=link href=https://github.com/docker/docker/blob/244d9c33/docs/userguide/dockervolumes.md rel=noopener>https://github.com/docker/docker/blob/244d9c33/docs/userguide/dockervolumes.md<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></p></li><li><p><code>docker-compose build --pull</code> instructs Compose to pull the base image for each Dockerfile before building.</p></li><li><p><code>docker-compose pull --ignore-pull-failures</code> instructs Compose to continue if it fails to pull a single service's image, rather than aborting.</p></li><li><p>You can now specify an IPC namespace in <code>docker-compose.yml</code> with the <code>ipc</code> option.</p></li><li><p>Containers created by <code>docker-compose run</code> can now be named with the <code>--name</code> flag.</p></li><li><p>If you install Compose with pip or use it as a library, it now works with Python 3.</p></li><li><p><code>image</code> now supports image digests (in addition to ids and tags). For example, <code>image: "busybox@sha256:38a203e1986cf79639cfb9b2e1d6e773de84002feea2d4eb006b52004ee8502d"</code></p></li><li><p><code>ports</code> now supports ranges of ports. For example,</p><pre><code>ports: - "3000-3005" - "9000-9001:8000-8001" </code></pre></li><li><p><code>docker-compose run</code> now supports a <code>-p|--publish</code> parameter, much like <code>docker run -p</code>, for publishing specific ports to the host.</p></li><li><p><code>docker-compose pause</code> and <code>docker-compose unpause</code> have been implemented, analogous to <code>docker pause</code> and <code>docker unpause</code>.</p></li><li><p>When using <code>extends</code> to copy configuration from another service in the same Compose file, you can omit the <code>file</code> option.</p></li><li><p>Compose can be installed and run as a Docker image. This is an experimental feature.</p></li></ul><h3 class=scroll-mt-20 id=bug-fixes-46><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-46>Bug fixes</a></h3><ul><li><p>All values for the <code>log_driver</code> option which are supported by the Docker daemon are now supported by Compose.</p></li><li><p><code>docker-compose build</code> can now be run successfully against a Swarm cluster.</p></li></ul><h2 class=scroll-mt-20 id=142><a class="text-black dark:text-white no-underline hover:underline" href=#142>1.4.2</a></h2><p>(2015-09-22)</p><ul><li>Fixed a regression in the 1.4.1 release that would cause <code>docker-compose up</code> without the <code>-d</code> option to exit immediately.</li></ul><h2 class=scroll-mt-20 id=141><a class="text-black dark:text-white no-underline hover:underline" href=#141>1.4.1</a></h2><p>(2015-09-10)</p><h3 class=scroll-mt-20 id=bug-fixes-47><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-47>Bug fixes</a></h3><ul><li>Some configuration changes (notably changes to <code>links</code>, <code>volumes_from</code>, and <code>net</code>) were not properly triggering a container recreate as part of <code>docker-compose up</code>.</li><li><code>docker-compose up <service></code> was showing logs for all services instead of just the specified services.</li><li>Containers with custom container names were showing up in logs as <code>service_number</code> instead of their custom container name.</li><li>When scaling a service sometimes containers would be recreated even when the configuration had not changed.</li></ul><h2 class=scroll-mt-20 id=140><a class="text-black dark:text-white no-underline hover:underline" href=#140>1.4.0</a></h2><p>(2015-08-04)</p><ul><li><p>By default, <code>docker-compose up</code> now only recreates containers for services whose configuration has changed since they were created. This should result in a dramatic speed-up for many applications.</p><p>The experimental <code>--x-smart-recreate</code> flag which introduced this feature in Compose 1.3.0 has been removed, and a <code>--force-recreate</code> flag has been added for when you want to recreate everything.</p></li><li><p>Several of Compose's commands - <code>scale</code>, <code>stop</code>, <code>kill</code> and <code>rm</code> - now perform actions on multiple containers in parallel, rather than in sequence, which will run much faster on larger applications.</p></li><li><p>You can now specify a custom name for a service's container with <code>container_name</code>. Because Docker container names must be unique, this means you can't scale the service beyond one container.</p></li><li><p>You no longer have to specify a <code>file</code> option when using <code>extends</code> - it will default to the current file.</p></li><li><p>Service names can now contain dots, dashes and underscores.</p></li><li><p>Compose can now read YAML configuration from standard input, rather than from a file, by specifying <code>-</code> as the filename. This makes it easier to generate configuration dynamically:</p><pre><code>$ echo 'redis: {"image": "redis"}' | docker-compose --file - up </code></pre></li><li><p>There's a new <code>docker-compose version</code> command which prints extended information about Compose's bundled dependencies.</p></li><li><p><code>docker-compose.yml</code> now supports <code>log_opt</code> as well as <code>log_driver</code>, allowing you to pass extra configuration to a service's logging driver.</p></li><li><p><code>docker-compose.yml</code> now supports <code>memswap_limit</code>, similar to <code>docker run --memory-swap</code>.</p></li><li><p>When mounting volumes with the <code>volumes</code> option, you can now pass in any mode supported by the daemon, not just <code>:ro</code> or <code>:rw</code>. For example, SELinux users can pass <code>:z</code> or <code>:Z</code>.</p></li><li><p>You can now specify a custom volume driver with the <code>volume_driver</code> option in <code>docker-compose.yml</code>, much like <code>docker run --volume-driver</code>.</p></li><li><p>A bug has been fixed where Compose would fail to pull images from private registries serving plain (unsecured) HTTP. The <code>--allow-insecure-ssl</code> flag, which was previously used to work around this issue, has been deprecated and now has no effect.</p></li><li><p>A bug has been fixed where <code>docker-compose build</code> would fail if the build depended on a private Hub image or an image from a private registry.</p></li><li><p>A bug has been fixed where Compose would crash if there were containers which the Docker daemon had not finished removing.</p></li><li><p>Two bugs have been fixed where Compose would sometimes fail with a "Duplicate bind mount" error, or fail to attach volumes to a container, if there was a volume path specified in <code>docker-compose.yml</code> with a trailing slash.</p></li></ul><p>Thanks @mnowster, @dnephin, @ekristen, @funkyfuture, @jeffk and @lukemarsden!</p><h2 class=scroll-mt-20 id=133><a class="text-black dark:text-white no-underline hover:underline" href=#133>1.3.3</a></h2><p>(2015-07-15)</p><h3 class=scroll-mt-20 id=regression-fixes><a class="text-black dark:text-white no-underline hover:underline" href=#regression-fixes>Regression fixes</a></h3><ul><li>When stopping containers gracefully, Compose was setting the timeout to 0, effectively forcing a SIGKILL every time.</li><li>Compose would sometimes crash depending on the formatting of container data returned from the Docker API.</li></ul><h2 class=scroll-mt-20 id=132><a class="text-black dark:text-white no-underline hover:underline" href=#132>1.3.2</a></h2><p>(2015-07-14)</p><h3 class=scroll-mt-20 id=bug-fixes-48><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-48>Bug fixes</a></h3><ul><li>When there were one-off containers created by running <code>docker-compose run</code> on an older version of Compose, <code>docker-compose run</code> would fail with a name collision. Compose now shows an error if you have leftover containers of this type lying around, and tells you how to remove them.</li><li>Compose was not reading Docker authentication config files created in the new location, <code>~/docker/config.json</code>, and authentication against private registries would therefore fail.</li><li>When a container had a pseudo-TTY attached, its output in <code>docker-compose up</code> would be truncated.</li><li><code>docker-compose up --x-smart-recreate</code> would sometimes fail when an image tag was updated.</li><li><code>docker-compose up</code> would sometimes create two containers with the same numeric suffix.</li><li><code>docker-compose rm</code> and <code>docker-compose ps</code> would sometimes list services that aren't part of the current project (though no containers were erroneously removed).</li><li>Some <code>docker-compose</code> commands would not show an error if invalid service names were passed in.</li></ul><p>Thanks @dano, @josephpage, @kevinsimper, @lieryan, @phemmer, @soulrebel and @sschepens!</p><h2 class=scroll-mt-20 id=131><a class="text-black dark:text-white no-underline hover:underline" href=#131>1.3.1</a></h2><p>(2015-06-21)</p><h3 class=scroll-mt-20 id=bug-fixes-49><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-49>Bug fixes</a></h3><ul><li><code>docker-compose build</code> would always attempt to pull the base image before building.</li><li><code>docker-compose help migrate-to-labels</code> failed with an error.</li><li>If no network mode was specified, Compose would set it to "bridge", rather than allowing the Docker daemon to use its configured default network mode.</li></ul><h2 class=scroll-mt-20 id=130><a class="text-black dark:text-white no-underline hover:underline" href=#130>1.3.0</a></h2><p>(2015-06-18)</p><h3 class=scroll-mt-20 id=important-notes><a class="text-black dark:text-white no-underline hover:underline" href=#important-notes>Important notes</a></h3><ul><li><p><strong>This release contains breaking changes, and you will need to either remove or migrate your existing containers before running your app</strong> - see the <a class=link href=https://github.com/docker/compose/blob/1.3.0rc1/docs/install.md#upgrading rel=noopener>upgrading section of the install docs<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> for details.</p></li><li><p>Compose now requires Docker 1.6.0 or later.</p></li></ul><h3 class=scroll-mt-20 id=improvements><a class="text-black dark:text-white no-underline hover:underline" href=#improvements>Improvements</a></h3><ul><li><p>Compose now uses container labels, rather than names, to keep track of containers. This makes Compose both faster and easier to integrate with your own tools.</p></li><li><p>Compose no longer uses "intermediate containers" when recreating containers for a service. This makes <code>docker-compose up</code> less complex and more resilient to failure.</p></li></ul><h3 class=scroll-mt-20 id=new-features-20><a class="text-black dark:text-white no-underline hover:underline" href=#new-features-20>New features</a></h3><ul><li><p><code>docker-compose up</code> has an <strong>experimental</strong> new behavior: it will only recreate containers for services whose configuration has changed in <code>docker-compose.yml</code>. This will eventually become the default, but for now you can take it for a spin:</p><pre><code> $ docker-compose up --x-smart-recreate </code></pre></li><li><p>When invoked in a subdirectory of a project, <code>docker-compose</code> will now climb up through parent directories until it finds a <code>docker-compose.yml</code>.</p></li></ul><p>Several new configuration keys have been added to <code>docker-compose.yml</code>:</p><ul><li><code>dockerfile</code>, like <code>docker build --file</code>, lets you specify an alternate Dockerfile to use with <code>build</code>.</li><li><code>labels</code>, like <code>docker run --labels</code>, lets you add custom metadata to containers.</li><li><code>extra_hosts</code>, like <code>docker run --add-host</code>, lets you add entries to a container's <code>/etc/hosts</code> file.</li><li><code>pid: host</code>, like <code>docker run --pid=host</code>, lets you reuse the same PID namespace as the host machine.</li><li><code>cpuset</code>, like <code>docker run --cpuset-cpus</code>, lets you specify which CPUs to allow execution in.</li><li><code>read_only</code>, like <code>docker run --read-only</code>, lets you mount a container's filesystem as read-only.</li><li><code>security_opt</code>, like <code>docker run --security-opt</code>, lets you specify <a class=link href=/reference/cli/docker/container/run/#security-opt>security options</a>.</li><li><code>log_driver</code>, like <code>docker run --log-driver</code>, lets you specify a <a class=link href=/reference/cli/docker/container/run/#log-driver>log driver</a>.</li></ul><h3 class=scroll-mt-20 id=bug-fixes-50><a class="text-black dark:text-white no-underline hover:underline" href=#bug-fixes-50>Bug fixes</a></h3><ul><li>The output of <code>docker-compose run</code> was sometimes truncated, especially when running under Jenkins.</li><li>A service's volumes would sometimes not update after volume configuration was changed in <code>docker-compose.yml</code>.</li><li>Authenticating against third-party registries would sometimes fail.</li><li><code>docker-compose run --rm</code> would fail to remove the container if the service had a <code>restart</code> policy in place.</li><li><code>docker-compose scale</code> would refuse to scale a service beyond 1 container if it exposed a specific port number on the host.</li><li>Compose would refuse to create multiple volume entries with the same host path.</li></ul><p>Thanks @ahromis, @albers, @aleksandr-vin, @antoineco, @ccverak, @chernjie, @dnephin, @edmorley, @fordhurley, @josephpage, @KyleJamesWalker, @lsowen, @mchasal, @noironetworks, @sdake, @sdurrheimer, @sherter, @stephenlawrence, @thaJeztah, @thieman, @turtlemonvh, @twhiteman, @vdemeester, @xuxinkun and @zwily!</p><h2 class=scroll-mt-20 id=120><a class="text-black dark:text-white no-underline hover:underline" href=#120>1.2.0</a></h2><p>(2015-04-16)</p><ul><li><p><code>docker-compose.yml</code> now supports an <code>extends</code> option, which enables a service to inherit configuration from another service in another configuration file. This is really good for sharing common configuration between apps, or for configuring the same app for different environments. Here's the <a class=link href=https://github.com/docker/compose/blob/master/docs/ rel=noopener>documentation<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>.</p></li><li><p>When using Compose with a Swarm cluster, containers that depend on one another will be co-scheduled on the same node. This means that most Compose apps will now work out of the box, as long as they don't use <code>build</code>.</p></li><li><p>Repeated invocations of <code>docker-compose up</code> when using Compose with a Swarm cluster now work reliably.</p></li><li><p>Directories passed to <code>build</code>, filenames passed to <code>env_file</code> and volume host paths passed to <code>volumes</code> are now treated as relative to the <em>directory of the configuration file</em>, not the directory that <code>docker-compose</code> is being run in. In the majority of cases, those are the same, but if you use the <code>-f|--file</code> argument to specify a configuration file in another directory, <strong>this is a breaking change</strong>.</p></li><li><p>A service can now share another service's network namespace with <code>net: container:<service></code>.</p></li><li><p><code>volumes_from</code> and <code>net: container:<service></code> entries are taken into account when resolving dependencies, so <code>docker-compose up <service></code> will correctly start all dependencies of <code><service></code>.</p></li><li><p><code>docker-compose run</code> now accepts a <code>--user</code> argument to specify a user to run the command as, just like <code>docker run</code>.</p></li><li><p>The <code>up</code>, <code>stop</code> and <code>restart</code> commands now accept a <code>--timeout</code> (or <code>-t</code>) argument to specify how long to wait when attempting to gracefully stop containers, just like <code>docker stop</code>.</p></li><li><p><code>docker-compose rm</code> now accepts <code>-f</code> as a shorthand for <code>--force</code>, just like <code>docker rm</code>.</p></li></ul><p>Thanks, @abesto, @albers, @alunduil, @dnephin, @funkyfuture, @gilclark, @IanVS, @KingsleyKelly, @knutwalker, @thaJeztah and @vmalloc!</p><h2 class=scroll-mt-20 id=110><a class="text-black dark:text-white no-underline hover:underline" href=#110>1.1.0</a></h2><p>(2015-02-25)</p><p>Fig has been renamed to Docker Compose, or just Compose for short. This has several implications for you:</p><ul><li>The command you type is now <code>docker-compose</code>, not <code>fig</code>.</li><li>You should rename your fig.yml to docker-compose.yml.</li><li>If you’re installing via PyPI, the package is now <code>docker-compose</code>, so install it with <code>pip install docker-compose</code>.</li></ul><p>Besides that, there’s a lot of new stuff in this release:</p><ul><li><p>We’ve made a few small changes to ensure that Compose will work with Swarm, Docker’s new clustering tool ( <a class=link href=https://github.com/docker/swarm%29 rel=noopener>https://github.com/docker/swarm)<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>. Eventually you'll be able to point Compose at a Swarm cluster instead of a standalone Docker host and it’ll run your containers on the cluster with no extra work from you. As Swarm is still developing, integration is rough and lots of Compose features don't work yet.</p></li><li><p><code>docker-compose run</code> now has a <code>--service-ports</code> flag for exposing ports on the given service. This is useful for running your webapp with an interactive debugger, for example.</p></li><li><p>You can now link to containers outside your app with the <code>external_links</code> option in docker-compose.yml.</p></li><li><p>You can now prevent <code>docker-compose up</code> from automatically building images with the <code>--no-build</code> option. This will make fewer API calls and run faster.</p></li><li><p>If you don’t specify a tag when using the <code>image</code> key, Compose will default to the <code>latest</code> tag, rather than pulling all tags.</p></li><li><p><code>docker-compose kill</code> now supports the <code>-s</code> flag, allowing you to specify the exact signal you want to send to a service’s containers.</p></li><li><p>docker-compose.yml now has an <code>env_file</code> key, analogous to <code>docker run --env-file</code>, letting you specify multiple environment variables in a separate file. This is great if you have a lot of them, or if you want to keep sensitive information out of version control.</p></li><li><p>docker-compose.yml now supports the <code>dns_search</code>, <code>cap_add</code>, <code>cap_drop</code>, <code>cpu_shares</code> and <code>restart</code> options, analogous to <code>docker run</code>’s <code>--dns-search</code>, <code>--cap-add</code>, <code>--cap-drop</code>, <code>--cpu-shares</code> and <code>--restart</code> options.</p></li><li><p>Compose now ships with Bash tab completion - see the installation and usage docs at <a class=link href=https://github.com/docker/compose/blob/1.1.0/docs/completion.md rel=noopener>https://github.com/docker/compose/blob/1.1.0/docs/completion.md<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></p></li><li><p>A number of bugs have been fixed - see the milestone for details: <a class=link href="https://github.com/docker/compose/issues?q=milestone%3A1.1.0+" rel=noopener>https://github.com/docker/compose/issues?q=milestone%3A1.1.0+<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></p></li></ul><p>Thanks @dnephin, @squebe, @jbalonso, @raulcd, @benlangfield, @albers, @ggtools, @bersace, @dtenenba, @petercv, @drewkett, @TFenby, @paulRbr, @Aigeruth and @salehe!</p><h2 class=scroll-mt-20 id=101><a class="text-black dark:text-white no-underline hover:underline" href=#101>1.0.1</a></h2><p>(2014-11-04)</p><ul><li>Added an <code>--allow-insecure-ssl</code> option to allow <code>fig up</code>, <code>fig run</code> and <code>fig pull</code> to pull from insecure registries.</li><li>Fixed <code>fig run</code> not showing output in Jenkins.</li><li>Fixed a bug where Fig couldn't build Dockerfiles with ADD statements pointing at URLs.</li></ul><h2 class=scroll-mt-20 id=100><a class="text-black dark:text-white no-underline hover:underline" href=#100>1.0.0</a></h2><p>(2014-10-16)</p><p>The highlights:</p><ul><li><p><a class=link href=https://www.orchardup.com/blog/orchard-is-joining-docker rel=noopener>Fig has joined Docker.<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> Fig will continue to be maintained, but we'll also be incorporating the best bits of Fig into Docker itself.</p><p>This means the GitHub repository has moved to <a class=link href=https://github.com/docker/fig rel=noopener>https://github.com/docker/fig<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> and our IRC channel is now #docker-fig on Freenode.</p></li><li><p>Fig can be used with the <a class=link href=https://docs.docker.com/desktop/setup/install/mac-install/>official Docker OS X installer</a>. Boot2Docker will mount the home directory from your host machine so volumes work as expected.</p></li><li><p>Fig supports Docker 1.3.</p></li><li><p>It is now possible to connect to the Docker daemon using TLS by using the <code>DOCKER_CERT_PATH</code> and <code>DOCKER_TLS_VERIFY</code> environment variables.</p></li><li><p>There is a new <code>fig port</code> command which outputs the host port binding of a service, in a similar way to <code>docker port</code>.</p></li><li><p>There is a new <code>fig pull</code> command which pulls the latest images for a service.</p></li><li><p>There is a new <code>fig restart</code> command which restarts a service's containers.</p></li><li><p>Fig creates multiple containers in service by appending a number to the service name. For example, <code>db_1</code>, <code>db_2</code>. As a convenience, Fig will now give the first container an alias of the service name. For example, <code>db</code>.</p><p>This link alias is also a valid hostname and added to <code>/etc/hosts</code> so you can connect to linked services using their hostname. For example, instead of resolving the environment variables <code>DB_PORT_5432_TCP_ADDR</code> and <code>DB_PORT_5432_TCP_PORT</code>, you could just use the hostname <code>db</code> and port <code>5432</code> directly.</p></li><li><p>Volume definitions now support <code>ro</code> mode, expanding <code>~</code> and expanding environment variables.</p></li><li><p><code>.dockerignore</code> is supported when building.</p></li><li><p>The project name can be set with the <code>FIG_PROJECT_NAME</code> environment variable.</p></li><li><p>The <code>--env</code> and <code>--entrypoint</code> options have been added to <code>fig run</code>.</p></li><li><p>The Fig binary for Linux is now linked against an older version of glibc so it works on CentOS 6 and Debian Wheezy.</p></li></ul><p>Other things:</p><ul><li><code>fig ps</code> now works on Jenkins and makes fewer API calls to the Docker daemon.</li><li><code>--verbose</code> displays more useful debugging output.</li><li>When starting a service where <code>volumes_from</code> points to a service without any containers running, that service will now be started.</li><li>Lots of docs improvements. Notably, environment variables are documented and official repositories are used throughout.</li></ul><p>Thanks @dnephin, @d11wtq, @marksteve, @rubbish, @jbalonso, @timfreund, @alunduil, @mieciu, @shuron, @moss, @suzaku and @chmouel! Whew.</p><h2 class=scroll-mt-20 id=052><a class="text-black dark:text-white no-underline hover:underline" href=#052>0.5.2</a></h2><p>(2014-07-28)</p><ul><li>Added a <code>--no-cache</code> option to <code>fig build</code>, which bypasses the cache just like <code>docker build --no-cache</code>.</li><li>Fixed the <code>dns:</code> fig.yml option, which was causing fig to error out.</li><li>Fixed a bug where fig couldn't start under Python 2.6.</li><li>Fixed a log-streaming bug that occasionally caused fig to exit.</li></ul><p>Thanks @dnephin and @marksteve!</p><h2 class=scroll-mt-20 id=051><a class="text-black dark:text-white no-underline hover:underline" href=#051>0.5.1</a></h2><p>(2014-07-11)</p><ul><li>If a service has a command defined, <code>fig run [service]</code> with no further arguments will run it.</li><li>The project name now defaults to the directory containing fig.yml, not the current working directory (if they're different)</li><li><code>volumes_from</code> now works properly with containers as well as services</li><li>Fixed a race condition when recreating containers in <code>fig up</code></li></ul><p>Thanks @ryanbrainard and @d11wtq!</p><h2 class=scroll-mt-20 id=050><a class="text-black dark:text-white no-underline hover:underline" href=#050>0.5.0</a></h2><p>(2014-07-11)</p><ul><li><p>Fig now starts links when you run <code>fig run</code> or <code>fig up</code>.</p><p>For example, if you have a <code>web</code> service which depends on a <code>db</code> service, <code>fig run web ...</code> will start the <code>db</code> service.</p></li><li><p>Environment variables can now be resolved from the environment that Fig is running in. Just specify it as a blank variable in your <code>fig.yml</code> and, if set, it'll be resolved:</p><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'ZW52aXJvbm1lbnQ6CiAgUkFDS19FTlY6IGRldmVsb3BtZW50CiAgU0VTU0lPTl9TRUNSRVQ6', 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-yaml data-lang=yaml><span class=line><span class=cl><span class=nt>environment</span><span class=p>:</span><span class=w> </span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>RACK_ENV</span><span class=p>:</span><span class=w> </span><span class=l>development</span><span class=w> </span></span></span><span class=line><span class=cl><span class=w> </span><span class=l>SESSION_SECRET:</span></span></span></code></pre></div></div></div></div></li><li><p><code>volumes_from</code> is now supported in <code>fig.yml</code>. All of the volumes from the specified services and containers will be mounted:</p><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'dm9sdW1lc19mcm9tOgogLSBzZXJ2aWNlX25hbWUKIC0gY29udGFpbmVyX25hbWU=', 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-yaml data-lang=yaml><span class=line><span class=cl><span class=nt>volumes_from</span><span class=p>:</span><span class=w> </span></span></span><span class=line><span class=cl><span class=w> </span>- <span class=l>service_name</span><span class=w> </span></span></span><span class=line><span class=cl><span class=w> </span>- <span class=l>container_name</span></span></span></code></pre></div></div></div></div></li><li><p>A host address can now be specified in <code>ports</code>:</p><div data-pagefind-ignore class=scroll-mt-20 x-data x-ref=root><div class="group relative"><button x-data="{ code: 'cG9ydHM6CiAtICIwLjAuMC4wOjgwMDA6ODAwMCIKIC0gIjEyNy4wLjAuMTo4MDAxOjgwMDEi', 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-yaml data-lang=yaml><span class=line><span class=cl><span class=nt>ports</span><span class=p>:</span><span class=w> </span></span></span><span class=line><span class=cl><span class=w> </span>- <span class=s2>"0.0.0.0:8000:8000"</span><span class=w> </span></span></span><span class=line><span class=cl><span class=w> </span>- <span class=s2>"127.0.0.1:8001:8001"</span></span></span></code></pre></div></div></div></div></li><li><p>The <code>net</code> and <code>workdir</code> options are now supported in <code>fig.yml</code>.</p></li><li><p>The <code>hostname</code> option now works in the same way as the Docker CLI, splitting out into a <code>domainname</code> option.</p></li><li><p>TTY behavior is far more robust, and resizes are supported correctly.</p></li><li><p>Load YAML files safely.</p></li></ul><p>Thanks to @d11wtq, @ryanbrainard, @rail44, @j0hnsmith, @binarin, @Elemecca, @mozz100 and @marksteve for their help with this release!</p><h2 class=scroll-mt-20 id=042><a class="text-black dark:text-white no-underline hover:underline" href=#042>0.4.2</a></h2><p>(2014-06-18)</p><ul><li>Fix various encoding errors when using <code>fig run</code>, <code>fig up</code> and <code>fig build</code>.</li></ul><h2 class=scroll-mt-20 id=041><a class="text-black dark:text-white no-underline hover:underline" href=#041>0.4.1</a></h2><p>(2014-05-08)</p><ul><li>Add support for Docker 0.11.0. (Thanks @marksteve!)</li><li>Make project name configurable. (Thanks @jefmathiot!)</li><li>Return correct exit code from <code>fig run</code>.</li></ul><h2 class=scroll-mt-20 id=040><a class="text-black dark:text-white no-underline hover:underline" href=#040>0.4.0</a></h2><p>(2014-04-29)</p><ul><li>Support Docker 0.9 and 0.10</li><li>Display progress bars correctly when pulling images (no more ski slopes)</li><li><code>fig up</code> now stops all services when any container exits</li><li>Added support for the <code>privileged</code> config option in fig.yml (thanks @kvz!)</li><li>Shortened and aligned log prefixes in <code>fig up</code> output</li><li>Only containers started with <code>fig run</code> link back to their own service</li><li>Handle UTF-8 correctly when streaming <code>fig build/run/up</code> output (thanks @mauvm and @shanejonas!)</li><li>Error message improvements</li></ul><h2 class=scroll-mt-20 id=032><a class="text-black dark:text-white no-underline hover:underline" href=#032>0.3.2</a></h2><p>(2014-03-05)</p><ul><li>Added an <code>--rm</code> option to <code>fig run</code>. (Thanks @marksteve!)</li><li>Added an <code>expose</code> option to <code>fig.yml</code>.</li></ul><h2 class=scroll-mt-20 id=031><a class="text-black dark:text-white no-underline hover:underline" href=#031>0.3.1</a></h2><p>(2014-03-04)</p><ul><li>Added contribution instructions. (Thanks @kvz!)</li><li>Fixed <code>fig rm</code> throwing an error.</li><li>Fixed a bug in <code>fig ps</code> on Docker 0.8.1 when there is a container with no command.</li></ul><h2 class=scroll-mt-20 id=030><a class="text-black dark:text-white no-underline hover:underline" href=#030>0.3.0</a></h2><p>(2014-03-03)</p><ul><li>We now ship binaries for OS X and Linux. No more having to install with Pip!</li><li>Add <code>-f</code> flag to specify alternate <code>fig.yml</code> files</li><li>Add support for custom link names</li><li>Fix a bug where recreating would sometimes hang</li><li>Update docker-py to support Docker 0.8.0.</li><li>Various documentation improvements</li><li>Various error message improvements</li></ul><p>Thanks @marksteve, @Gazler and @teozkr!</p><h2 class=scroll-mt-20 id=022><a class="text-black dark:text-white no-underline hover:underline" href=#022>0.2.2</a></h2><p>(2014-02-17)</p><ul><li>Resolve dependencies using Cormen/Tarjan topological sort</li><li>Fix <code>fig up</code> not printing log output</li><li>Stop containers in reverse order to starting</li><li>Fix scale command not binding ports</li></ul><p>Thanks to @barnybug and @dustinlacewell for their work on this release.</p><h2 class=scroll-mt-20 id=021><a class="text-black dark:text-white no-underline hover:underline" href=#021>0.2.1</a></h2><p>(2014-02-04)</p><ul><li>General improvements to error reporting (#77, #79)</li></ul><h2 class=scroll-mt-20 id=020><a class="text-black dark:text-white no-underline hover:underline" href=#020>0.2.0</a></h2><p>(2014-01-31)</p><ul><li>Link services to themselves so run commands can access the running service. (#67)</li><li>Much better documentation.</li><li>Make service dependency resolution more reliable. (#48)</li><li>Load Fig configurations with a <code>.yaml</code> extension. (#58)</li></ul><p>Big thanks to @cameronmaske, @mrchrisadams and @damianmoore for their help with this release.</p><h2 class=scroll-mt-20 id=014><a class="text-black dark:text-white no-underline hover:underline" href=#014>0.1.4</a></h2><p>(2014-01-27)</p><ul><li>Add a link alias without the project name. This makes the environment variables a little shorter: <code>REDIS_1_PORT_6379_TCP_ADDR</code>. (#54)</li></ul><h2 class=scroll-mt-20 id=013><a class="text-black dark:text-white no-underline hover:underline" href=#013>0.1.3</a></h2><p>(2014-01-23)</p><ul><li>Fix ports sometimes being configured incorrectly. (#46)</li><li>Fix log output sometimes not displaying. (#47)</li></ul><h2 class=scroll-mt-20 id=012><a class="text-black dark:text-white no-underline hover:underline" href=#012>0.1.2</a></h2><p>(2014-01-22)</p><ul><li>Add <code>-T</code> option to <code>fig run</code> to disable pseudo-TTY. (#34)</li><li>Fix <code>fig up</code> requiring the ubuntu image to be pulled to recreate containers. (#33) Thanks @cameronmaske!</li><li>Improve reliability, fix arrow keys and fix a race condition in <code>fig run</code>. (#34, #39, #40)</li></ul><h2 class=scroll-mt-20 id=011><a class="text-black dark:text-white no-underline hover:underline" href=#011>0.1.1</a></h2><p>(2014-01-17)</p><ul><li>Fix bug where ports were not exposed correctly (#29). Thanks @dustinlacewell!</li></ul><h2 class=scroll-mt-20 id=010><a class="text-black dark:text-white no-underline hover:underline" href=#010>0.1.0</a></h2><p>(2014-01-16)</p><ul><li>Containers are recreated on each <code>fig up</code>, ensuring config is up-to-date with <code>fig.yml</code> (#2)</li><li>Add <code>fig scale</code> command (#9)</li><li>Use <code>DOCKER_HOST</code> environment variable to find Docker daemon, for consistency with the official Docker client (was previously <code>DOCKER_URL</code>) (#19)</li><li>Truncate long commands in <code>fig ps</code> (#18)</li><li>Fill out CLI help banners for commands (#15, #16)</li><li>Show a friendlier error when <code>fig.yml</code> is missing (#4)</li><li>Fix bug with <code>fig build</code> logging (#3)</li><li>Fix bug where builds would time out if a step took a long time without generating output (#6)</li><li>Fix bug where streaming container output over the Unix socket raised an error (#7)</li></ul><p>Big thanks to @tomstuart, @EnTeQuAk, @schickling, @aronasorman and @GeoffreyPlitt.</p><h2 class=scroll-mt-20 id=002><a class="text-black dark:text-white no-underline hover:underline" href=#002>0.0.2</a></h2><p>(2014-01-02)</p><ul><li>Improve documentation</li><li>Try to connect to Docker on <code>tcp://localdocker:4243</code> and a UNIX socket in addition to <code>localhost</code>.</li><li>Improve <code>fig up</code> behavior</li><li>Add confirmation prompt to <code>fig rm</code></li><li>Add <code>fig build</code> command</li></ul><h2 class=scroll-mt-20 id=001><a class="text-black dark:text-white no-underline hover:underline" href=#001>0.0.1</a></h2><p>(2013-12-20)</p><p>Initial release.</p></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/compose/releases/release-notes.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%2fcompose%2freleases%2frelease-notes%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=#2303>2.30.3</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2302>2.30.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-1>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-1>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2301>2.30.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-2>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-2>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2300>2.30.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-3>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-3>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2297>2.29.7</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-4>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2296>2.29.6</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-4>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-5>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2295>2.29.5</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-6>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2294>2.29.4</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-5>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-7>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2293>2.29.3</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-6>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-8>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2292>2.29.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-7>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-9>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2291>2.29.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-8>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-10>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2290>2.29.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-9>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-11>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2281>2.28.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-12>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2280>2.28.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-10>Update</a></li></ul><li><a class="link lg:no-underline" href=#2273>2.27.3</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-11>Update</a></li></ul><li><a class="link lg:no-underline" href=#2272>2.27.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-12>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-13>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2271>2.27.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-13>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-14>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2270>2.27.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-14>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-15>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2261>2.26.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-15>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-16>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2260>2.26.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-16>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-17>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2250>2.25.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-17>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-18>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2247>2.24.7</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-18>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-19>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2246>2.24.6</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-19>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-20>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2245>2.24.5</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-21>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2244>2.24.4</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-20>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-22>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2243>2.24.3</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-21>Update</a></li></ul><li><a class="link lg:no-underline" href=#2242>2.24.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-22>Update</a></li></ul><li><a class="link lg:no-underline" href=#2241>2.24.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-23>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-23>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2240>2.24.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-24>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-24>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2233>2.23.3</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-25>Update</a></li></ul><li><a class="link lg:no-underline" href=#2232>2.23.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-26>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-25>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2231>2.23.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-27>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-26>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2230>2.23.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-28>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-27>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2220>2.22.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-29>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-28>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2210>2.21.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-30>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-29>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2203>2.20.3</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-31>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-30>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2202>2.20.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-31>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2201>2.20.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-32>Update</a></li></ul><li><a class="link lg:no-underline" href=#2200>2.20.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-33>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-32>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2191>2.19.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-34>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-33>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2190>2.19.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-35>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-34>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2181>2.18.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-35>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2180>2.18.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-36>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-36>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2172>2.17.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-37>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-37>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2171>2.17.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-38>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-38>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2170>2.17.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#upgrade-notes>Upgrade notes</a></li><li><a class="link lg:no-underline" href=#update-39>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-39>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2160>2.16.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-40>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-40>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2151>2.15.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-41>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-41>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2150>2.15.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-42>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-42>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2142>2.14.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#update-43>Update</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-43>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2141>2.14.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#updates>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-44>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2140>2.14.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#updates-1>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-45>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2130>2.13.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#updates-2>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-46>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2122>2.12.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#updates-3>Updates</a></li></ul><li><a class="link lg:no-underline" href=#2121>2.12.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#security>Security</a></li></ul><li><a class="link lg:no-underline" href=#2120>2.12.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#updates-4>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-47>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2112>2.11.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#updates-5>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-48>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2111>2.11.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-49>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2110>2.11.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#updates-6>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-50>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2102>2.10.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-51>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2101>2.10.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#updates-7>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-52>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#2100>2.10.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new>New</a></li><li><a class="link lg:no-underline" href=#updates-8>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-53>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#290>2.9.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#updates-9>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-54>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#280>2.8.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-1>New</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-55>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#270>2.7.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-2>New</a></li><li><a class="link lg:no-underline" href=#updates-10>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-56>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#261>2.6.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-3>New</a></li><li><a class="link lg:no-underline" href=#updates-11>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-57>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#260>2.6.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-4>New</a></li><li><a class="link lg:no-underline" href=#updates-12>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-58>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#251>2.5.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#updates-13>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-59>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#250>2.5.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-60>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#241>2.4.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-61>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#240>2.4.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#updates-14>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-62>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#234>2.3.4</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-5>New</a></li><li><a class="link lg:no-underline" href=#removed>Removed</a></li><li><a class="link lg:no-underline" href=#updates-15>Updates</a></li><li><a class="link lg:no-underline" href=#bug-fixes-and-enhancements-63>Bug fixes and enhancements</a></li></ul><li><a class="link lg:no-underline" href=#other-releases>Other Releases</a></li><li><a class="link lg:no-underline" href=#1292>1.29.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#miscellaneous>Miscellaneous</a></li></ul><li><a class="link lg:no-underline" href=#1291>1.29.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bugs>Bugs</a></li></ul><li><a class="link lg:no-underline" href=#1290>1.29.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#features>Features</a></li><li><a class="link lg:no-underline" href=#miscellaneous-1>Miscellaneous</a></li></ul><li><a class="link lg:no-underline" href=#1286>1.28.6</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes>Bug fixes</a></li><li><a class="link lg:no-underline" href=#miscellaneous-2>Miscellaneous</a></li></ul><li><a class="link lg:no-underline" href=#1285>1.28.5</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bugs-1>Bugs</a></li></ul><li><a class="link lg:no-underline" href=#1284>1.28.4</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-1>Bug fixes</a></li><li><a class="link lg:no-underline" href=#miscellaneous-3>Miscellaneous</a></li></ul><li><a class="link lg:no-underline" href=#1283>1.28.3</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-2>Bug fixes</a></li><li><a class="link lg:no-underline" href=#miscellaneous-4>Miscellaneous</a></li></ul><li><a class="link lg:no-underline" href=#1282>1.28.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-3>Bug fixes</a></li><li><a class="link lg:no-underline" href=#miscellaneous-5>Miscellaneous</a></li></ul><li><a class="link lg:no-underline" href=#1280>1.28.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#features-1>Features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-4>Bug fixes</a></li><li><a class="link lg:no-underline" href=#miscellaneous-6>Miscellaneous</a></li></ul><li><a class="link lg:no-underline" href=#1274>1.27.4</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-5>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1273>1.27.3</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-6>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1272>1.27.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-7>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1271>1.27.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-8>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1270>1.27.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#features-2>Features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-9>Bug fixes</a></li><li><a class="link lg:no-underline" href=#miscellaneous-7>Miscellaneous</a></li></ul><li><a class="link lg:no-underline" href=#1262>1.26.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-10>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1261>1.26.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#features-3>Features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-11>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1260>1.26.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#features-4>Features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-12>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1255>1.25.5</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#features-5>Features</a></li></ul><li><a class="link lg:no-underline" href=#1254>1.25.4</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-13>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1253>1.25.3</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-14>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1252>1.25.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features>New features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-15>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1251>1.25.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bugfixes>Bugfixes</a></li></ul><li><a class="link lg:no-underline" href=#1250>1.25.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-1>New features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-16>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1241>1.24.1</a></li><li><a class="link lg:no-underline" href=#1240>1.24.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#features-6>Features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-17>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1232>1.23.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-18>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1231>1.23.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-19>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1230>1.23.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#important-note>Important note</a></li><li><a class="link lg:no-underline" href=#features-7>Features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-20>Bug fixes</a></li><li><a class="link lg:no-underline" href=#miscellaneous-8>Miscellaneous</a></li></ul><li><a class="link lg:no-underline" href=#1220>1.22.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-2>New features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-21>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1212>1.21.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-22>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1211>1.21.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-23>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1210>1.21.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-3>New features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-24>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1200>1.20.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-4>New features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-25>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1190>1.19.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#breaking-changes>Breaking changes</a></li><li><a class="link lg:no-underline" href=#new-features-5>New features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-26>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1180>1.18.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-6>New features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-27>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1170>1.17.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-7>New features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-28>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1160>1.16.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-8>New features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-29>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1150>1.15.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-9>New features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-30>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1140>1.14.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-10>New features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-31>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1130>1.13.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#breaking-changes-1>Breaking changes</a></li><li><a class="link lg:no-underline" href=#new-features-11>New features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-32>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1120>1.12.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-12>New features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-33>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1112>1.11.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-34>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1111>1.11.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-35>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1110>1.11.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-13>New Features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-36>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1101>1.10.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-37>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#1100>1.10.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-14>New Features</a></li><ul class=pl-2></ul><li><a class="link lg:no-underline" href=#bug-fixes-38>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#190>1.9.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#new-features-15>New Features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-39>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#181>1.8.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-40>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#180>1.8.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#breaking-changes-2>Breaking Changes</a></li><li><a class="link lg:no-underline" href=#new-features-16>New Features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-41>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#171>1.7.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-42>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#170>1.7.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#breaking-changes-3>Breaking Changes</a></li><li><a class="link lg:no-underline" href=#new-features-17>New Features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-43>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#162>1.6.2</a></li><li><a class="link lg:no-underline" href=#161>1.6.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-44>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#160>1.6.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#major-features>Major Features</a></li><li><a class="link lg:no-underline" href=#new-features-18>New Features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-45>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#152>1.5.2</a></li><li><a class="link lg:no-underline" href=#151>1.5.1</a></li><li><a class="link lg:no-underline" href=#150>1.5.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#breaking-changes-4>Breaking changes</a></li><li><a class="link lg:no-underline" href=#major-features-1>Major features</a></li><li><a class="link lg:no-underline" href=#new-features-19>New features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-46>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#142>1.4.2</a></li><li><a class="link lg:no-underline" href=#141>1.4.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-47>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#140>1.4.0</a></li><li><a class="link lg:no-underline" href=#133>1.3.3</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#regression-fixes>Regression fixes</a></li></ul><li><a class="link lg:no-underline" href=#132>1.3.2</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-48>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#131>1.3.1</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#bug-fixes-49>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#130>1.3.0</a></li><ul class=pl-2><li><a class="link lg:no-underline" href=#important-notes>Important notes</a></li><li><a class="link lg:no-underline" href=#improvements>Improvements</a></li><li><a class="link lg:no-underline" href=#new-features-20>New features</a></li><li><a class="link lg:no-underline" href=#bug-fixes-50>Bug fixes</a></li></ul><li><a class="link lg:no-underline" href=#120>1.2.0</a></li><li><a class="link lg:no-underline" href=#110>1.1.0</a></li><li><a class="link lg:no-underline" href=#101>1.0.1</a></li><li><a class="link lg:no-underline" href=#100>1.0.0</a></li><li><a class="link lg:no-underline" href=#052>0.5.2</a></li><li><a class="link lg:no-underline" href=#051>0.5.1</a></li><li><a class="link lg:no-underline" href=#050>0.5.0</a></li><li><a class="link lg:no-underline" href=#042>0.4.2</a></li><li><a class="link lg:no-underline" href=#041>0.4.1</a></li><li><a class="link lg:no-underline" href=#040>0.4.0</a></li><li><a class="link lg:no-underline" href=#032>0.3.2</a></li><li><a class="link lg:no-underline" href=#031>0.3.1</a></li><li><a class="link lg:no-underline" href=#030>0.3.0</a></li><li><a class="link lg:no-underline" href=#022>0.2.2</a></li><li><a class="link lg:no-underline" href=#021>0.2.1</a></li><li><a class="link lg:no-underline" href=#020>0.2.0</a></li><li><a class="link lg:no-underline" href=#014>0.1.4</a></li><li><a class="link lg:no-underline" href=#013>0.1.3</a></li><li><a class="link lg:no-underline" href=#012>0.1.2</a></li><li><a class="link lg:no-underline" href=#011>0.1.1</a></li><li><a class="link lg:no-underline" href=#010>0.1.0</a></li><li><a class="link lg:no-underline" href=#002>0.0.2</a></li><li><a class="link lg:no-underline" href=#001>0.0.1</a></li></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>