{"id":18746077,"url":"https://github.com/fscm/docker-toolchain","last_synced_at":"2026-04-13T08:31:05.691Z","repository":{"id":202050258,"uuid":"254060059","full_name":"fscm/docker-toolchain","owner":"fscm","description":"Docker recipe to build an image with some of the GNU toolchain tools","archived":false,"fork":false,"pushed_at":"2022-01-03T15:59:35.000Z","size":61,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-25T23:50:42.952Z","etag":null,"topics":["docker","docker-image","dockerfile","gnu","toolchain"],"latest_commit_sha":null,"homepage":null,"language":"Slim","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fscm.png","metadata":{"files":{"readme":"README.build.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-04-08T10:46:15.000Z","updated_at":"2024-03-07T12:52:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"11e00bf5-8e0a-42d8-a751-2ca5009278ff","html_url":"https://github.com/fscm/docker-toolchain","commit_stats":null,"previous_names":["fscm/docker-toolchain"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/fscm/docker-toolchain","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fscm%2Fdocker-toolchain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fscm%2Fdocker-toolchain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fscm%2Fdocker-toolchain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fscm%2Fdocker-toolchain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fscm","download_url":"https://codeload.github.com/fscm/docker-toolchain/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fscm%2Fdocker-toolchain/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31746101,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T06:26:45.479Z","status":"ssl_error","status_checked_at":"2026-04-13T06:26:44.645Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["docker","docker-image","dockerfile","gnu","toolchain"],"created_at":"2024-11-07T16:20:49.846Z","updated_at":"2026-04-13T08:31:05.670Z","avatar_url":"https://github.com/fscm.png","language":"Slim","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GNU Toolchain for Docker\n\nDocker image with a GNU base Toolchain.\n\n## Synopsis\n\nThis script will create a Docker image with the following tools and libraries:\n\n- Attr\n- Autoconf\n- Automake\n- Binutils _(1)_\n- Bison\n- BZip2\n- C Library (glibc) _(1)_\n- Expat\n- Gettext\n- GCC _(1)_\n- GDBM\n- Libevent\n- Libtool _(1)_\n- Libuuid\n- Libuv\n- M4 _(1)_\n- Make _(1)_\n- Ncurses\n- OpenSSL\n- Patch\n- Perl\n- Pkg-config _(1)_\n- Python3\n- Readline\n- SQLite\n- Xz\n- Zlib _(1)_\n\nThe Docker image resulting from this script can either be used to run any of\nthose tools or as a \"source\" to include those tools on another Docker image.\n\nThe tools and libraries marked with a _(1)_ are the only ones present on the\n`slim` variant of The Docker image.\n\n## Getting Started\n\nThere are a couple of things needed for the script to work.\n\n### Prerequisites\n\nDocker, either the Community Edition (CE) or Enterprise Edition (EE), needs to\nbe installed on your local computer.\n\n#### Docker\n\nDocker installation instructions can be found\n[here](https://docs.docker.com/install/).\n\n### Usage\n\nIn order to create a Docker image using this Dockerfiles you need to run the\n`docker` command with a few options.\n\n```\ndocker image build --force-rm --no-cache --quiet --file Dockerfile.\u003cVARIANT\u003e --tag \u003cUSER\u003e/\u003cIMAGE\u003e:\u003cTAG\u003e \u003cPATH\u003e\n```\n\n* `\u003cUSER\u003e` - *[required]* The user that will own the container image (e.g.: \"johndoe\").\n* `\u003cIMAGE\u003e` - *[required]* The container name (e.g.: \"unbound\").\n* `\u003cTAG\u003e` - *[required]* The container tag (e.g.: \"latest\").\n* `\u003cPATH\u003e` - *[required]* The location of the Dockerfile folder.\n* `\u003cVARIANT\u003e` - *[required]* The variant that is being build (`slim` or `full`). The `full` variant requires the `slim` variant image.\n\nA build example:\n\n```\ndocker image build --force-rm --no-cache --quiet --file Dockerfile.slim --tag johndoe/my_toolchain:slim .\n```\n\nTo clean any _\u003cnone\u003e_ image(s) left by the build process the following\ncommand can be used:\n\n```\ndocker image rm `docker image ls --filter \"dangling=true\" --quiet`\n```\n\nYou can also use the following command to achieve the same result:\n\n```\ndocker image prune -f\n```\n\n#### Instantiate a Container\n\nThe toolchain can be used directly from the image by instantiating a container\nand executing the desired tool(s) on the container shell.\n\nTo start a container with this image - and have a shell - use the following\ncommand (the container will be deleted after exiting the shell):\n\n```\ndocker container run --rm --interactive --tty fscm/toolchain sh\n```\n\nThis will allow you to run any of the tools inside the this image. To take the\nmost out of this method you can add you project code to the running container\nby defining your project folder as a working folder inside the container.\n\nTo start a container with this image and your project folder available inside\nuse the following command:\n\n```\ndocker container run --volume LOCAL_PROJECT_PATH:/work:rw --rm --interactive --tty fscm/toolchain sh\n```\n\n#### Copy the Toolchain\n\nThe toolchain can also be used with your favorite image. The toolchain can be\ncopied over to another image when using a `Dockerfile`.\nTo use the toolchain in another image when building your own image use the\nfollowing code in your `Dockerfile`:\n\n```\nENV PATH=\"/usr/local/toolchain/bin:${PATH}\"\nCOPY --from=fscm/toolchain \"/usr/local/toolchain\" \"/usr/local/\"\n```\n\nAn example of a `Dockerfile` that copies the toolchain:\n\n```\nFROM fscm/centos\n\nENV PATH=\"/usr/local/toolchain/bin:${PATH}\"\n\nCOPY --from=fscm/toolchain \"/usr/local/toolchain\" \"/usr/local/toolchain\"\n\nRUN gcc --version\n```\n\n### Add Tags to the Docker Image\n\nAdditional tags can be added to the image using the following command:\n\n```\ndocker image tag \u003cimage_id\u003e \u003cuser\u003e/\u003cimage\u003e:\u003cextra_tag\u003e\n```\n\n### Push the image to Docker Hub\n\nAfter adding an image to Docker, that image can be pushed to a Docker\nregistry... Like Docker Hub.\n\nMake sure that you are logged in to the service.\n\n```\ndocker login\n```\n\nWhen logged in, an image can be pushed using the following command:\n\n```\ndocker image push \u003cuser\u003e/\u003cimage\u003e:\u003ctag\u003e\n```\n\nExtra tags can also be pushed.\n\n```\ndocker image push \u003cuser\u003e/\u003cimage\u003e:\u003cextra_tag\u003e\n```\n\n## Contributing\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b my-new-feature`\n3. Commit your changes: `git commit -am 'Add some feature'`\n4. Push to the branch: `git push origin my-new-feature`\n5. Submit a pull request\n\nPlease read the [CONTRIBUTING.md](CONTRIBUTING.md) file for more details on how\nto contribute to this project.\n\n## Versioning\n\nThis project uses [SemVer](http://semver.org/) for versioning. For the versions\navailable, see the [tags on this repository](https://github.com/fscm/docker-toolchain/tags).\n\n## Authors\n\n* **Frederico Martins** - [fscm](https://github.com/fscm)\n\nSee also the list of [contributors](https://github.com/fscm/docker-toolchain/contributors)\nwho participated in this project.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE)\nfile for details\n\n## Credits\n\nBased on the following projects:\n* [Linux From Scratch (LFS)](http://linuxfromscratch.org)\n* [Linuxbrew Core](https://github.com/Homebrew/linuxbrew-core)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffscm%2Fdocker-toolchain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffscm%2Fdocker-toolchain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffscm%2Fdocker-toolchain/lists"}