Uploaded image for project: 'Bitbucket Cloud'
  1. Bitbucket Cloud
  2. BCLOUD-12757

Ability to run multiple docker containers in the same build

    • Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

      We need the ability to use something like Docker Compose to define multiple images in the same build.

      Currently, a user needs to create a custom container if they need a few different services (e.g. database + web application) running to run the whole testing suite

            [BCLOUD-12757] Ability to run multiple docker containers in the same build

            Revolutionizing Healthcare Training with Learning Management Systems is a game-changer for the healthcare industry. As a healthcare professional, I have experienced the benefits of using learning management systems firsthand. The article on TechShout highlights the importance of using technology to enhance the learning experience for healthcare professionals, and I couldn't agree more. The use of learning management systems has transformed the way healthcare professionals learn and develop their skills. The article mentions how these systems provide a personalized learning experience, and I can attest to that. The ability to customize the learning experience to fit my needs has been invaluable. I can learn at my own pace, and the system adapts to my learning style, making the process more efficient and effective. Another benefit of using learning management systems is the ability to access training materials from anywhere, at any time. This has been especially helpful during the pandemic, as many healthcare professionals have had to work remotely. The ability to access training materials online has made it possible to continue learning and developing skills, even when working from home. Overall, I highly recommend the use of learning management systems in healthcare training. The benefits are numerous, and the experience of using these systems is truly transformative. As the healthcare industry continues to evolve, it is essential that we embrace technology and use it to enhance the learning experience for healthcare professionals. The article on https://www.techshout.com/revolutionizing-healthcare-training-with-learning-management-systems/ provides an excellent overview of the benefits of using learning management systems, and I encourage all healthcare professionals to give it a read.

            Terry Tucker added a comment - Revolutionizing Healthcare Training with Learning Management Systems is a game-changer for the healthcare industry. As a healthcare professional, I have experienced the benefits of using learning management systems firsthand. The article on TechShout highlights the importance of using technology to enhance the learning experience for healthcare professionals, and I couldn't agree more. The use of learning management systems has transformed the way healthcare professionals learn and develop their skills. The article mentions how these systems provide a personalized learning experience, and I can attest to that. The ability to customize the learning experience to fit my needs has been invaluable. I can learn at my own pace, and the system adapts to my learning style, making the process more efficient and effective. Another benefit of using learning management systems is the ability to access training materials from anywhere, at any time. This has been especially helpful during the pandemic, as many healthcare professionals have had to work remotely. The ability to access training materials online has made it possible to continue learning and developing skills, even when working from home. Overall, I highly recommend the use of learning management systems in healthcare training. The benefits are numerous, and the experience of using these systems is truly transformative. As the healthcare industry continues to evolve, it is essential that we embrace technology and use it to enhance the learning experience for healthcare professionals. The article on https://www.techshout.com/revolutionizing-healthcare-training-with-learning-management-systems/ provides an excellent overview of the benefits of using learning management systems, and I encourage all healthcare professionals to give it a read.

            it's now possible to run compose files directly in Pipelines. - How do I do that without docker-compose?

            Sergey Mokhov added a comment - it's now possible to run compose files directly in Pipelines. - How do I do that without docker-compose?

            raganet added a comment -

            Hi @mryall_atlassian,
            I can't find docker-compose command. Do I need to install it on my own? How do I do it?
            Thanks

            raganet added a comment - Hi @mryall_atlassian, I can't find docker-compose command. Do I need to install it on my own? How do I do it? Thanks

            Matt Ryall added a comment -

            Just following up here because there were a few questions above about Docker compose support. I'm happy to share that with the support we added for docker run in December (#14145), it's now possible to run compose files directly in Pipelines.

            In the last two weeks, we also added configurable memory limits for services (#14752), which allows you to increase the aggregate memory available to your Docker containers (including those run via docker compose) up to 3 GB in normal mode, or 7 GB in large build mode (#13874, size: 2x). As the feature name suggests, you can also increase or decrease the memory allocation of individual service containers.

            Hopefully this covers off what everyone needs to run whatever additional containers you require for your Pipelines builds, but if not, we're happy to review any further requests as new tickets. Happy building!

            Matt Ryall added a comment - Just following up here because there were a few questions above about Docker compose support. I'm happy to share that with the support we added for docker run in December (#14145), it's now possible to run compose files directly in Pipelines. In the last two weeks, we also added configurable memory limits for services (#14752), which allows you to increase the aggregate memory available to your Docker containers (including those run via docker compose) up to 3 GB in normal mode, or 7 GB in large build mode (#13874, size: 2x ). As the feature name suggests, you can also increase or decrease the memory allocation of individual service containers. Hopefully this covers off what everyone needs to run whatever additional containers you require for your Pipelines builds, but if not, we're happy to review any further requests as new tickets. Happy building!

            Matt Ryall added a comment -

            We're happy to announce that we've made multiple containers available in Pipelines via our new service containers feature:

            https://confluence.atlassian.com/bitbucket/service-containers-for-bitbucket-pipelines-874786688.html

            We believe this feature will address the testing needs for the vast majority of our users. If you have a use case that doesn't fit within the limitations noted on the page, please raise a new ticket with details on your use case.

            Matt Ryall added a comment - We're happy to announce that we've made multiple containers available in Pipelines via our new service containers feature: https://confluence.atlassian.com/bitbucket/service-containers-for-bitbucket-pipelines-874786688.html We believe this feature will address the testing needs for the vast majority of our users. If you have a use case that doesn't fit within the limitations noted on the page, please raise a new ticket with details on your use case.

            Hi @asprega,

            We would still like to support docker compose, in a similar way to docker build and push support BCLOUD-12790 but first we need to work on enabling docker run BCLOUD-14145.

            The memory constraint is purely a technical one atm. Our current infrastructure based on Kubernetes doesn't allow us to share resources..yet. A memory limit that is global is indeed the ideal design. Please know that this is only the first version and we will improve it.

            Regards,
            Joshua
            Bitbucket Pipelines PM

            Joshua Tjhin (Inactive) added a comment - Hi @asprega, We would still like to support docker compose, in a similar way to docker build and push support BCLOUD-12790 but first we need to work on enabling docker run BCLOUD-14145 . The memory constraint is purely a technical one atm. Our current infrastructure based on Kubernetes doesn't allow us to share resources..yet. A memory limit that is global is indeed the ideal design. Please know that this is only the first version and we will improve it. Regards, Joshua Bitbucket Pipelines PM

            asprega added a comment -

            @mryall_atlassian can you confirm your intention is to NOT support docker compose? If I understand correctly, I would have to re-wire my container by hand since bitbucket pipelines still do not support docker-compose.yml. And what if I need more than 3 containers? In my case, I would actually need 5 (small on average, definitely not demanding 1 GB of memory). I don't understand why every every container will be given a fixed share of 1GB memory. It would be much simpler if the memory limit was global and more freedom was given to the pipeline job.

            All in all, I understand the huge technical challenges, but honestly these pipelines are still far too limited to even be considered over a custom Jenkins setup (or pretty much any other competitor that supports docker).

            asprega added a comment - @mryall_atlassian can you confirm your intention is to NOT support docker compose? If I understand correctly, I would have to re-wire my container by hand since bitbucket pipelines still do not support docker-compose.yml. And what if I need more than 3 containers? In my case, I would actually need 5 (small on average, definitely not demanding 1 GB of memory). I don't understand why every every container will be given a fixed share of 1GB memory. It would be much simpler if the memory limit was global and more freedom was given to the pipeline job. All in all, I understand the huge technical challenges, but honestly these pipelines are still far too limited to even be considered over a custom Jenkins setup (or pretty much any other competitor that supports docker).

            Matt Ryall added a comment -

            As noted earlier, this feature is currently under development, and last week we made it available to our Pipelines Alpha members. If you're interested in trying out this feature while it's still under development, you can read more and sign up for the program here:

            https://confluence.atlassian.com/bitbucket/pipelines-alpha-877358733.html

            Matt Ryall added a comment - As noted earlier, this feature is currently under development, and last week we made it available to our Pipelines Alpha members. If you're interested in trying out this feature while it's still under development, you can read more and sign up for the program here: https://confluence.atlassian.com/bitbucket/pipelines-alpha-877358733.html

            Thanks for the feedback, Marco. We've been working on this feature for a few weeks now, and hope to have an early release available for alpha testers within a week or two. (Unfortunately, Bitbucket Issues doesn't let us mark the issue as in-progress.)

            If you're interested in trying it out, please email me at mryall@atlassian.com with your repo details, and I'll let you know as soon as it's available to try. I agree that it's a major missing feature, and we're working on it alongside Docker build and push as our top priorities in the Pipelines team.

            Matt Ryall added a comment - Thanks for the feedback, Marco. We've been working on this feature for a few weeks now, and hope to have an early release available for alpha testers within a week or two. (Unfortunately, Bitbucket Issues doesn't let us mark the issue as in-progress.) If you're interested in trying it out, please email me at mryall@atlassian.com with your repo details, and I'll let you know as soon as it's available to try. I agree that it's a major missing feature, and we're working on it alongside Docker build and push as our top priorities in the Pipelines team.

            marco added a comment -

            Just noticed that this request (with currently 138 votes) has been open since May last year.
            I must assume that BB is not taking Pipelines seriously enough.

            Good to know, we won't use them.
            Nice try, sorry it didn't work.

            marco added a comment - Just noticed that this request (with currently 138 votes) has been open since May last year. I must assume that BB is not taking Pipelines seriously enough. Good to know, we won't use them. Nice try, sorry it didn't work.

              Unassigned Unassigned
              6424dadea396 Baris Tuncay
              Votes:
              56 Vote for this issue
              Watchers:
              54 Start watching this issue

                Created:
                Updated:
                Resolved: