{"id":24275668,"url":"https://github.com/arnemertz/docker4c","last_synced_at":"2025-07-03T22:35:14.843Z","repository":{"id":48873979,"uuid":"369476820","full_name":"arnemertz/docker4c","owner":"arnemertz","description":"Docker container with compilers and tooling for basic C++ projects","archived":false,"fork":false,"pushed_at":"2021-08-26T16:50:59.000Z","size":16,"stargazers_count":76,"open_issues_count":0,"forks_count":6,"subscribers_count":9,"default_branch":"main","last_synced_at":"2023-08-04T09:11:13.338Z","etag":null,"topics":["cpp","docker"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arnemertz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-05-21T09:03:40.000Z","updated_at":"2023-08-04T09:11:13.338Z","dependencies_parsed_at":"2022-09-02T09:22:47.375Z","dependency_job_id":null,"html_url":"https://github.com/arnemertz/docker4c","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arnemertz%2Fdocker4c","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arnemertz%2Fdocker4c/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arnemertz%2Fdocker4c/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arnemertz%2Fdocker4c/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arnemertz","download_url":"https://codeload.github.com/arnemertz/docker4c/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234106219,"owners_count":18780799,"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":["cpp","docker"],"created_at":"2025-01-15T21:43:45.725Z","updated_at":"2025-01-15T21:44:07.223Z","avatar_url":"https://github.com/arnemertz.png","language":"Dockerfile","readme":":bangbang: Very much work in progress!\n\n# The container\n\nThe Dockerfile contains two container definitions: \n\n- a CI container which should contain everything necessary to build C++ applications and run their tests\n- a DEV container which inherits the CI container and adds debugging tools like Valgrind, gdb, etc.\n\nThe compose file contains a basic setup to run the DEV container locally. Since some IDEs depend on an SSH connection to a container (or for remote development in general), SSHD is started in the service defined by the compose file.\n\nThe user for the Docker container is `dev`.\nThe compose file maps `~/git` on the host machine to `/home/dev/git` in the container, so I suggest that you check out your project there.\n\n# Scripts\n\nThe scripts directory has a few helpers for easier building and running of the container and executing commands in it. Consider adding the scripts directory to your path for ease of use.\n\n## Building the container image\n\n`docker4c build` (re)builds and tags the container image\n\n## Starting\n\n`docker4c up` starts the container in the background\n\n## Stopping\n\n`docker4c down` stops the running container\n\n## Entering the container/Running commands\n\n- Via ssh: `ssh dev@localhost -p 2222` , password is `dev`\n- Via docker exec: `docker4c run` \n    - without commands: logs into the container via bash\n    - with commands: executes the given commands in the container\n\n`docker4c run` starts the container if it is not active yet and changes to the working directory it is called from if it exists inside the container (including `${HOME}` -\u003e `/home/dev` mapping)\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farnemertz%2Fdocker4c","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farnemertz%2Fdocker4c","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farnemertz%2Fdocker4c/lists"}