{"id":20688565,"url":"https://github.com/professormanhattan/docker-test2","last_synced_at":"2026-04-09T08:20:09.538Z","repository":{"id":44337977,"uuid":"473192200","full_name":"ProfessorManhattan/docker-test2","owner":"ProfessorManhattan","description":"🚀 A Docker-in-Docker container for testing with ContainerStructureTest and GitLab Runner 👏","archived":false,"fork":false,"pushed_at":"2023-03-23T13:05:48.000Z","size":8155,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-01T05:31:42.498Z","etag":null,"topics":["ci","codeclimate","container","docker","dockerfile","github","github-actions","gitlab","gitlab-ci","mblabs","megabytelabs","pipeline","professormanhattan","virtualization","washingtondc"],"latest_commit_sha":null,"homepage":"https://megabyte.space","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ProfessorManhattan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"docs/CODEOWNERS","security":null,"support":null,"governance":null},"funding":{"github":"ProfessorManhattan","open_collective":"megabytelabs","patreon":"ProfessorManhattan","custom":["donate.givedirectly.org"]}},"created_at":"2022-03-23T13:06:54.000Z","updated_at":"2023-08-18T18:25:43.000Z","dependencies_parsed_at":"2023-01-24T10:48:39.686Z","dependency_job_id":null,"html_url":"https://github.com/ProfessorManhattan/docker-test2","commit_stats":null,"previous_names":["megabyte-labs/docker-test"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfessorManhattan%2Fdocker-test2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfessorManhattan%2Fdocker-test2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfessorManhattan%2Fdocker-test2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfessorManhattan%2Fdocker-test2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ProfessorManhattan","download_url":"https://codeload.github.com/ProfessorManhattan/docker-test2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242951172,"owners_count":20211572,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ci","codeclimate","container","docker","dockerfile","github","github-actions","gitlab","gitlab-ci","mblabs","megabytelabs","pipeline","professormanhattan","virtualization","washingtondc"],"created_at":"2024-11-16T23:06:07.265Z","updated_at":"2026-04-04T06:07:42.602Z","avatar_url":"https://github.com/ProfessorManhattan.png","language":"Shell","readme":"\u003c!-- ⚠️ This README has been generated from the file(s) \".config/docs/blueprint-readme-ci-pipeline.md\" ⚠️--\u003e\u003cdiv align=\"center\"\u003e\n  \u003ccenter\u003e\n    \u003ca href=\"https://github.com/megabyte-labs/docker-test\"\u003e\n      \u003cimg width=\"148\" height=\"148\" alt=\"Docker Test logo\" src=\"https://gitlab.com/megabyte-labs/docker/ci-pipeline/docker-test/-/raw/master/logo.png\" /\u003e\n    \u003c/a\u003e\n  \u003c/center\u003e\n\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ccenter\u003e\u003ch1 align=\"center\"\u003e\u003ci\u003e\u003c/i\u003eDocker Test Suite\u003ci\u003e\u003c/i\u003e\u003c/h1\u003e\u003c/center\u003e\n  \u003ccenter\u003e\u003ch4 style=\"color: #18c3d1;\"\u003eA CI pipeline container maintained by \u003ca href=\"https://megabyte.space\" target=\"_blank\"\u003eMegabyte Labs\u003c/a\u003e\u003c/h4\u003e\u003ci\u003e\u003c/i\u003e\u003c/center\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://megabyte.space\" title=\"Megabyte Labs homepage\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Homepage\" src=\"https://img.shields.io/website?down_color=%23FF4136\u0026down_message=Down\u0026label=Homepage\u0026logo=home-assistant\u0026logoColor=white\u0026up_color=%232ECC40\u0026up_message=Up\u0026url=https%3A%2F%2Fmegabyte.space\u0026style=for-the-badge\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/megabyte-labs/docker-test/blob/master/docs/CONTRIBUTING.md\" title=\"Learn about contributing\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Contributing\" src=\"https://img.shields.io/badge/Contributing-Guide-0074D9?logo=github-sponsors\u0026logoColor=white\u0026style=for-the-badge\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://app.slack.com/client/T01ABCG4NK1/C01NN74H0LW/details/\" title=\"Chat with us on Slack\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Slack\" src=\"https://img.shields.io/badge/Slack-Chat-e01e5a?logo=slack\u0026logoColor=white\u0026style=for-the-badge\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://gitter.im/megabyte-labs/community\" title=\"Chat with the community on Gitter\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Gitter\" src=\"https://img.shields.io/gitter/room/megabyte-labs/community?logo=gitter\u0026logoColor=white\u0026style=for-the-badge\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/megabyte-labs/docker-test\" title=\"GitHub mirror\" target=\"_blank\"\u003e\n    \u003cimg alt=\"GitHub\" src=\"https://img.shields.io/badge/Mirror-GitHub-333333?logo=github\u0026style=for-the-badge\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://gitlab.com/megabyte-labs/docker/ci-pipeline/docker-test\" title=\"GitLab repository\" target=\"_blank\"\u003e\n    \u003cimg alt=\"GitLab\" src=\"https://img.shields.io/badge/Repo-GitLab-fc6d26?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAABlBMVEUAAAD///+l2Z/dAAAAAXRSTlMAQObYZgAAAHJJREFUCNdNxKENwzAQQNEfWU1ZPUF1cxR5lYxQqQMkLEsUdIxCM7PMkMgLGB6wopxkYvAeI0xdHkqXgCLL0Beiqy2CmUIdeYs+WioqVF9C6/RlZvblRNZD8etRuKe843KKkBPw2azX13r+rdvPctEaFi4NVzAN2FhJMQAAAABJRU5ErkJggg==\u0026style=for-the-badge\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca title=\"Version: 2.9.3\" href=\"https://github.com/megabyte-labs/docker-test\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Version: 2.9.3\" src=\"https://img.shields.io/badge/version-2.9.3-blue.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAABlBMVEUAAAD///+l2Z/dAAAAAXRSTlMAQObYZgAAACNJREFUCNdjIACY//+BEp9hhM3hAzYQwoBIAqEDYQrCZLwAAGlFKxU1nF9cAAAAAElFTkSuQmCC\u0026cacheSeconds=2592000\u0026style=flat-square\" /\u003e\n  \u003c/a\u003e\n  \u003ca title=\"GitLab build status\" href=\"https://gitlab.com/megabyte-labs/docker/ci-pipeline/docker-test/-/commits/master\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Build status\" src=\"https://img.shields.io/gitlab/pipeline-status/megabyte-labs/docker/ci-pipeline/docker-test?branch=master\u0026label=build\u0026logo=gitlab\u0026logoColor=white\u0026style=flat-square\" /\u003e\n  \u003c/a\u003e\n  \u003ca title=\"DockerHub image size\" href=\"https://hub.docker.com/repository/docker/megabytelabs/docker-test\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Image size\" src=\"https://img.shields.io/docker/image-size/megabytelabs/docker-test?logo=docker\u0026sort=date\u0026logoColor=white\u0026style=flat-square\" /\u003e\n  \u003c/a\u003e\n  \u003ca title=\"DockerHub pulls\" href=\"https://hub.docker.com/repository/docker/megabytelabs/docker-test\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Pulls\" src=\"https://img.shields.io/docker/pulls/megabytelabs/docker-test?logo=docker\u0026logoColor=white\u0026style=flat-square\" /\u003e\n  \u003c/a\u003e\n  \u003ca title=\"DockerHub stars\" href=\"https://hub.docker.com/repository/docker/megabytelabs/docker-test\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Stars\" src=\"https://img.shields.io/docker/stars/megabytelabs/docker-test?logo=docker\u0026logoColor=white\u0026style=flat-square\" /\u003e\n  \u003c/a\u003e\n  \u003ca title=\"Documentation\" href=\"https://megabyte.space/docs/docker\" target=\"_blank\"\u003e\n    \u003cimg alt=\"Documentation\" src=\"https://img.shields.io/badge/documentation-yes-brightgreen.svg?logo=readthedocs\u0026logoColor=white\u0026style=flat-square\" /\u003e\n  \u003c/a\u003e\n  \u003ca title=\"License: MIT\" href=\"https://github.com/megabyte-labs/docker-test/blob/master/LICENSE\" target=\"_blank\"\u003e\n    \u003cimg alt=\"License: MIT\" src=\"https://img.shields.io/badge/license-MIT-yellow.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAABlBMVEUAAAD///+l2Z/dAAAAAXRSTlMAQObYZgAAAHpJREFUCNdjYOD/wMDAUP+PgYHxhzwDA/MB5gMM7AwMDxj4GBgKGGQYGCyAEEgbMDDwAAWAwmk8958xpIOI5zKH2RmOyhxmZjguAiKmgIgtQOIYmFgCIp4AlaQ9OczGkJYCJEAGgI0CGwo2HmwR2Eqw5SBnNIAdBHYaAJb6KLM15W/CAAAAAElFTkSuQmCC\u0026style=flat-square\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003e \u003cbr/\u003e\u003ch4 align=\"center\"\u003e**A Docker-in-Docker container for testing with ContainerStructureTest and GitLab Runner**\u003c/h4\u003e\u003cbr/\u003e\n\n\u003ca href=\"#table-of-contents\" style=\"width:100%\"\u003e\u003cimg style=\"width:100%\" src=\"https://gitlab.com/megabyte-labs/assets/-/raw/master/png/aqua-divider.png\" /\u003e\u003c/a\u003e\n\n## Table of Contents\n\n- [Overview](#overview)\n- [Requirements](#requirements)\n  - [Development Requirements](#development-requirements)\n- [Example Usage](#example-usage)\n  - [Integrating with GitLab CI](#integrating-with-gitlab-ci)\n  - [Building the Docker Container](#building-the-docker-container)\n  - [Building a Slim Container](#building-a-slim-container)\n  - [Build Tools](#build-tools)\n- [Contributing](#contributing)\n  - [Affiliates](#affiliates)\n- [License](#license)\n\n\u003ca href=\"#overview\" style=\"width:100%\"\u003e\u003cimg style=\"width:100%\" src=\"https://gitlab.com/megabyte-labs/assets/-/raw/master/png/aqua-divider.png\" /\u003e\u003c/a\u003e\n\n## Overview\n\nUtilizing Continuous Integration (CI) tools can improve developer efficiency drastically. They allow you to do things like scan new code for possible errors and automatically deploy new software.\n\nThis repository is home to the build instructions for a Docker container that is just one piece to the CI puzzle. Nearly all of [our CI pipeline Docker projects](https://gitlab.com/megabyte-labs/dockerfile/ci-pipeline) serve a single purpose.\n\nInstead of using one of the countless pretty_name public Docker images available, we create it in-house so we know exactly what code is present in the container. We also ensure that all of our CI pipeline images are as small as possible so that our CI environment can download and run the specific task as quickly as possible. Using this repository as a base, you too can easily create your own in-house CI pipeline container image.\n\nAt first glance, you might notice that there are many files in this repository. Nearly all the files and folders that have a period prepended to them are development configurations. The tools that these files and folders configure are meant to make development easier and faster. They are also meant to improve team development by forcing developers to follow strict standards so that the same design patterns are used across all of our repositories.\n\n\u003ca href=\"#requirements\" style=\"width:100%\"\u003e\u003cimg style=\"width:100%\" src=\"https://gitlab.com/megabyte-labs/assets/-/raw/master/png/aqua-divider.png\" /\u003e\u003c/a\u003e\n\n## Requirements\n\n- **[Docker](https://gitlab.com/megabyte-labs/ansible-roles/docker)**\n\n### Development Requirements\n\n- **[DockerSlim](repository.project.dockerslim)** - Used for generating compact, secure images\n- **[jq](repository.project.jq)** - Used for interacting with JSON\n- **[Node.js](repository.project.node)** (_\u003e=14.18_) - Utilized to add development features like a pre-commit hook and maintenance tasks\n- _Many more_ requirements that are _dynamically installed_ as they are needed by our `Taskfile.yml` via our custom [go-task/task](https://github.com/go-task/task) fork named **[Bodega](https://github.com/ProfessorManhattan/Bodega)**\n\nIf you choose to utilize the development tools provided by this project then at some point you will have to run `bash start.sh` (or `npm i` which calls `bash start.sh` after it is done). The `start.sh` script will attempt to automatically install any requirements (without sudo) that are not already present on your build system to the user's `~/.local/bin` folder. The `start.sh` script also takes care of other tasks such as generating the documentation by calling tasks defined in the `Taskfile.yml`. For more details on how the optional requirements are used and set up, check out the [CONTRIBUTING.md](https://gitlab.com/megabyte-labs/docker/ci-pipeline/docker-test/-/blob/master/docs/CONTRIBUTING.md) guide.\n\nWhen you are ready to start development, run `task --menu` to open an interactive dialog that will help you understand what build commands we have already engineered for you.\n\n\u003ca href=\"#example-usage\" style=\"width:100%\"\u003e\u003cimg style=\"width:100%\" src=\"https://gitlab.com/megabyte-labs/assets/-/raw/master/png/aqua-divider.png\" /\u003e\u003c/a\u003e\n\n## Example Usage\n\nThere are several different ways you can use the Docker container provided by this project. For starters, you can test the feature out locally by running:\n\n```shell\ndocker run -v ${PWD}:/work -w /work megabytelabs/docker-test:preferred_tag docker_command\n```\n\nThis allows you to run pretty_name without installing it locally. This could be good for security since the application is within a container and also keeps your file system clean.\n\nYou can also add a bash alias to your `~/.bashrc` file so that you can run the pretty_name command at any time. To do this, add the following snippet to your `~/.bashrc` file (or `~/.bash_profile` if you are on macOS):\n\n```shell\ndocker_command_alias() {\n  docker run -v ${PWD}:/work -w /work megabytelabs/docker-test:preferred_tag \"$@\"\n}\n```\n\n_Note: Some CLI tools run without any arguments passed in. For example, the CLI tool `ansible-lint` runs by simply entering `ansible-lint` in the terminal. Our Docker images default command is to show the version so to get around this quirk you would run `ansible-lint .`._\n\n### Integrating with GitLab CI\n\nThe main purpose of this project is to build a Docker container that can be used in CI pipelines. For example, if you want to incorporate this CI pipeline tool into GitLab CI project then your first step would be to create a `.gitlab-ci.yml` file in the root of your repository that is hosted by GitLab. Your `.gitlab-ci.yml` file should look something like this:\n\n```yaml\n---\nstages:\n  - lint\n\ninclude:\n  - remote: https://gitlab.com/megabyte-space/gitlab-ci-templates/-/raw/master/docker-test.gitlab-ci.yml\n```\n\nThat is it! pretty_name will now run anytime you commit code (that matches the parameters laid out in the `remote:` file above). Ideally, for production, you should copy the source code from the `remote:` link above to another location and update the `remote:` link to the file's new location. That way, you do not have to worry about any changes that are made to the `remote:` file by our team.\n\n### Building the Docker Container\n\nYou may have a use case that requires some modifications to our Docker image. After you make changes to the Dockerfile, you can upload your custom container to [Docker Hub](website.dockerhub) using the following code:\n\n```shell\nexport DOCKERHUB_USERNAME=Your_DockerHub_Username_Here\nexport DOCKERHUB_PASSWORD=Your_DockerHub_Password_Here\ndocker login -u \"$DOCKERHUB_USERNAME\" -p \"$DOCKERHUB_PASSWORD\" docker.io\ndocker build --pull -t \"$DOCKERHUB_USERNAME/docker-test:latest\" .\ndocker push \"$DOCKERHUB_USERNAME/docker-test:latest\"\n```\n\nAfter setting your DockerHub username and password, the commands above will build the Docker image and upload it to [Docker Hub](https://hub.docker.com/) where it will be publicly accessible. You can see this logic being implemented as a [GitLab CI task here](repository.link.dockerhub_ci_task). This GitLab CI task works in conjunction with the `.gitlab-ci.yml` file in the root of this repository.\n\n### Building a Slim Container\n\nSome of our repositories support creating a slim build via [DockerSlim](https://gitlab.com/megabyte-labs/ansible-roles/dockerslim). According to [DockerSlim's GitHub page](https://github.com/docker-slim/docker-slim), slimming down containers reduces the final image size and improves the security of the image by reducing the attack surface. It makes sense to create a slim build for anything that supports it, including Alpine images. On their GitHub page, they report that some images can be reduced in size by up to 448.76X. This means that if your image is naturally **700MB** then it **can be reduced to 1.56MB**! It works by removing everything that is unnecessary in the container image.\n\nThis repository, however, is not currently configured to build a slim build. If you think you can improve this container by making it smaller and more secure by utilizing DockerSlim, please check out our [CONTRIBUTING.md guide](https://gitlab.com/megabyte-labs/docker/ci-pipeline/docker-test/-/blob/master/CONTRIBUTING.md) and open a pull request. Once you come up with the options for the slim build, place them in `.blueprint.json` under the key `\"dockerslim_command\"` and then run `bash .start.sh`. When `.start.sh` is run, it will add useful build commands to the `package.json` file and even regenerate this README to reflect the fact that the repository houses a slim build. You can find an example of a repository that houses a slim build by checking out our [Updater container](repository.group.dockerfile_ci/updater).\n\n### Build Tools\n\nYou might notice that we have a lot of extra files considering that this repository basically boils down to a single Dockerfile. These extra files are meant to make team development easier, predictable, and enjoyable. If you have a recent version of [Node.js](repository.project.node) installed, you can get started using our build tools by running `npm i` (or by running `bash start.sh` if you do not currently have Node.js installed) in the root of this repository. After that, you can run `task --list` to see a list of the available development features. Alternatively, you can run `task --menu` to view an interactive menu that will guide you through the development process.\n\n_Note:_ We use a custom-built version of [go-task/task](https://github.com/go-task/task) so if you already have it installed then you should either replace it with our version or use a different bin name for `task`.\n\nFor more details, check out the [CONTRIBUTING.md](https://gitlab.com/megabyte-labs/docker/ci-pipeline/docker-test/-/blob/master/CONTRIBUTING.md) file.\n\n\u003ca href=\"#contributing\" style=\"width:100%\"\u003e\u003cimg style=\"width:100%\" src=\"https://gitlab.com/megabyte-labs/assets/-/raw/master/png/aqua-divider.png\" /\u003e\u003c/a\u003e\n\n## Contributing\n\nContributions, issues, and feature requests are welcome! Feel free to check the [issues page](https://github.com/megabyte-labs/docker-test/issues). If you would like to contribute, please take a look at the [contributing guide](https://github.com/megabyte-labs/docker-test/blob/master/docs/CONTRIBUTING.md).\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eSponsorship\u003c/b\u003e\u003c/summary\u003e\n\u003cbr/\u003e\n\u003cblockquote\u003e\n\u003cbr/\u003e\nDear Awesome Person,\u003cbr/\u003e\u003cbr/\u003e\nI create open source projects out of love. Although I have a job, shelter, and as much fast food as I can handle, it would still be pretty cool to be appreciated by the community for something I have spent a lot of time and money on. Please consider sponsoring me! Who knows? Maybe I will be able to quit my job and publish open source full time.\n\u003cbr/\u003e\u003cbr/\u003eSincerely,\u003cbr/\u003e\u003cbr/\u003e\n\n**_Brian Zalewski_**\u003cbr/\u003e\u003cbr/\u003e\n\n\u003c/blockquote\u003e\n\n\u003ca title=\"Support us on Open Collective\" href=\"https://opencollective.com/megabytelabs\" target=\"_blank\"\u003e\n  \u003cimg alt=\"Open Collective sponsors\" src=\"https://img.shields.io/opencollective/sponsors/megabytelabs?logo=opencollective\u0026label=OpenCollective\u0026logoColor=white\u0026style=for-the-badge\" /\u003e\n\u003c/a\u003e\n\u003ca title=\"Support us on GitHub\" href=\"https://github.com/ProfessorManhattan\" target=\"_blank\"\u003e\n  \u003cimg alt=\"GitHub sponsors\" src=\"https://img.shields.io/github/sponsors/ProfessorManhattan?label=GitHub%20sponsors\u0026logo=github\u0026style=for-the-badge\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.patreon.com/ProfessorManhattan\" title=\"Support us on Patreon\" target=\"_blank\"\u003e\n  \u003cimg alt=\"Patreon\" src=\"https://img.shields.io/badge/Patreon-Support-052d49?logo=patreon\u0026logoColor=white\u0026style=for-the-badge\" /\u003e\n\u003c/a\u003e\n\n### Affiliates\n\nBelow you will find a list of services we leverage that offer special incentives for signing up for their services through our special links:\n\n\u003ca href=\"http://eepurl.com/h3aEdX\" title=\"Sign up for $30 in MailChimp credits\" target=\"_blank\"\u003e\n  \u003cimg alt=\"MailChimp\" src=\"https://cdn-images.mailchimp.com/monkey_rewards/grow-business-banner-2.png\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.digitalocean.com/?refcode=751743d45e36\u0026utm_campaign=Referral_Invite\u0026utm_medium=Referral_Program\u0026utm_source=badge\"\u003e\n  \u003cimg src=\"https://web-platforms.sfo2.digitaloceanspaces.com/WWW/Badge%203.svg\" alt=\"DigitalOcean Referral Badge\" /\u003e\n\u003c/a\u003e\n\n\u003c/details\u003e\n\n\u003ca href=\"#license\" style=\"width:100%\"\u003e\u003cimg style=\"width:100%\" src=\"https://gitlab.com/megabyte-labs/assets/-/raw/master/png/aqua-divider.png\" /\u003e\u003c/a\u003e\n\n## License\n\nCopyright © 2020-2021 [Megabyte LLC](https://megabyte.space). This project is [MIT](https://gitlab.com/megabyte-labs/docker/ci-pipeline/docker-test/-/blob/master/LICENSE) licensed.\n","funding_links":["https://github.com/sponsors/ProfessorManhattan","https://opencollective.com/megabytelabs","https://patreon.com/ProfessorManhattan","donate.givedirectly.org","https://www.patreon.com/ProfessorManhattan"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofessormanhattan%2Fdocker-test2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprofessormanhattan%2Fdocker-test2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofessormanhattan%2Fdocker-test2/lists"}