{"id":15059094,"url":"https://github.com/toshikinakamura0412/dockerfiles","last_synced_at":"2025-07-10T06:31:21.300Z","repository":{"id":237260336,"uuid":"794026763","full_name":"ToshikiNakamura0412/dockerfiles","owner":"ToshikiNakamura0412","description":"Development environment using Docker for some Linux distributions","archived":false,"fork":false,"pushed_at":"2024-10-19T06:30:49.000Z","size":119,"stargazers_count":0,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-05T12:51:09.336Z","etag":null,"topics":["alpine","bash","cuda","debian","devcontainer","devcontainers","docker","docker-compose","fedora","opencv","opensuse","ros","ros-humble","ros-noetic","ros2","ubuntu","ubuntu2004","ubuntu2204","vscode","zsh"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"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/ToshikiNakamura0412.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-30T10:12:50.000Z","updated_at":"2024-10-19T06:30:48.000Z","dependencies_parsed_at":"2024-06-28T04:47:56.814Z","dependency_job_id":"967baddb-8bb0-40d8-a7cc-e4cd426cdecb","html_url":"https://github.com/ToshikiNakamura0412/dockerfiles","commit_stats":null,"previous_names":["toshikinakamura0412/dockerfiles"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ToshikiNakamura0412/dockerfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToshikiNakamura0412%2Fdockerfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToshikiNakamura0412%2Fdockerfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToshikiNakamura0412%2Fdockerfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToshikiNakamura0412%2Fdockerfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ToshikiNakamura0412","download_url":"https://codeload.github.com/ToshikiNakamura0412/dockerfiles/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToshikiNakamura0412%2Fdockerfiles/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264538581,"owners_count":23624436,"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":["alpine","bash","cuda","debian","devcontainer","devcontainers","docker","docker-compose","fedora","opencv","opensuse","ros","ros-humble","ros-noetic","ros2","ubuntu","ubuntu2004","ubuntu2204","vscode","zsh"],"created_at":"2024-09-24T22:37:06.581Z","updated_at":"2025-07-10T06:31:20.943Z","avatar_url":"https://github.com/ToshikiNakamura0412.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dockerfiles\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n![image](https://github.com/ToshikiNakamura0412/dockerfiles/wiki/images/dockerfiles.png)\n\n- Development environment using Docker for [some Linux distributions](#docker)\n- You can use GUI applications without setting up xhost.\n  - Linux Only\n  - You use macOS, you need to set up xhost.\n- [dotfiles](https://github.com/ToshikiNakamura0412/dotfiles.git) is included in the image\n  - tmux prefix set to `C-q`\n\n## Environment\n### OS\n- Linux\n- macOS (Not support GPU)\n  - Prerequisite: [XQuartz](https://www.xquartz.org/)\n\n### Architecture\n- x86_64\n- arm64\n\n### Editor\n- VSCode\n- Neovim (Not support completion: ROS2)\n  - CentOS Stream: Not support Neovim. Please use Vim.\n\n## Prerequisites\n### Common\n- make\n- [docker](https://docs.docker.com/engine/install/ubuntu/#installation-methods)\n\n### GPU\n#### Use\n- nvidia-container-runtime\n  - If you can't install this package, install [nvidia-container-toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#installing-with-apt) before installing this package.\n  - If you can't use GPU, execute the following command:\n    ```bash\n    sudo systemctl restart docker\n    ```\n#### Not use\n- Please disable GPU by [custom](#custom) setup\n\n## Installation\n### Clone\n```bash\ngit clone https://github.com/ToshikiNakamura0412/dockerfiles.git\n```\n\n### Setup\n#### Default\ncreate directories (e.g. [workspace](#workspace))\n```bash\ncd dockerfiles\nmake setup # create directories\n```\n#### Custom\n```bash\ncd dockerfiles\nmake [target] [arg=\u003carg\u003e]\n...\nmake setup # create directories\n```\n- show help of make: `make help`\n- show help of target: `make [target] arg=-h`\n  - target: `change_root_dir`, `disable_gpu`, `select_shell`, `setup`, `sync_git_user`\n\n**If you already start the container, you need to execute the following command to reflect the changes.**\n```bash\ndocker compose up [option -d]\n```\n\n## Clean\n- remove directories (e.g. [workspace](#workspace)) and revert to the default state\n  - **If the directories are not empty, they will not be deleted**\n```bash\ncd dockerfiles\nmake clean\n```\n\n## Docker\n|   | Distro | Default Shell | Base Image | Contents | README |\n|---|---|---|---|---|---|\n| [alpine3.17](alpine3.17) | Alpine3.17 | zsh | [alpine (Official)](https://hub.docker.com/_/alpine) |  |  |\n| [archlinux](archlinux) | ArchLinux | zsh | [archlinux (Official)](https://hub.docker.com/_/archlinux) |  |  |\n| [centos-stream9](centos-stream9) | CentOS Stream9 | zsh | [centos (Official)](https://quay.io/repository/centos/centos) |  |  |\n| [debian12](debian12) | Debian12 | zsh | [debian (Official)](https://hub.docker.com/_/debian) |  |  |\n| [fedora40](fedora40) | Fedora40 | zsh | [fedora (Official)](https://hub.docker.com/_/fedora) |  |  |\n| [humbe](humble) | Ubuntu22.04 | zsh | [ros (Official)](https://hub.docker.com/_/ros) | ROS2 Humble |  |\n| [noetic](noetic) | Ubuntu20.04 | zsh | [ros (Official)](https://hub.docker.com/_/ros) | ROS1 Noetic |  |\n| [noetic-cuda](noetic-cuda) | Ubuntu20.04 | zsh | [cuda (Official)](https://hub.docker.com/r/nvidia/cuda) | ROS1 Noetic + CUDA-11.6.1-devel |  |\n| [noetic-cuda-opencv](noetic-cuda-opencv) | Ubuntu20.04 | zsh | noetic-cuda (Custom) | ROS1 Noetic + CUDA-11.6.1-devel + OpenCV-5.x | [README](noetic-cuda-opencv/README.md) |\n| [noetic-cudnn](noetic-cudnn) | Ubuntu20.04 | zsh | [cuda (Official)](https://hub.docker.com/r/nvidia/cuda) | ROS1 Noetic + CUDA-11.6.1-cuDNN8-devel |  |\n| [noetic-cudnn-opencv](noetic-cudnn-opencv) | Ubuntu20.04 | zsh | noetic-cudnn (Custom) | ROS1 Noetic + CUDA-11.6.1-cuDNN8-devel + OpenCV-5.x | [README](noetic-cudnn-opencv/README.md) |\n| [noetic-pcl10](noetic-pcl10) | Ubuntu20.04 | zsh | noetic (Custom) | ROS1 Noetic + PCL10 | [README](noetic-pcl10/README.md) |\n| [noetic-pcl14](noetic-pcl14) | Ubuntu20.04 | zsh | noetic (Custom) | ROS1 Noetic + PCL14 | [README](noetic-pcl14/README.md) |\n| [opensuse-leap15.6](opensuse-leap15.6) | OpenSUSE Leap15.6 | zsh | [opensuse/leap (Official)](https://hub.docker.com/r/opensuse/leap) |  |  |\n| [ubuntu20.04](ubuntu20.04) | Ubuntu20.04 | zsh | [ubuntu (Official)](https://hub.docker.com/_/ubuntu) |  |  |\n| [ubuntu22.04](ubuntu22.04) | Ubuntu22.04 | zsh | [ubuntu (Official)](https://hub.docker.com/_/ubuntu) |  |  |\n\n- Alpine does not yet support nvidia-container-runtime\n- macOS does not support ROS, so please use virtual machines like [UTM](https://mac.getutm.app/)\n\n### Workspace\n- host:\n  - default: `~/ws`\n  - ROS1: `~/ros1_ws`\n  - ROS2: `~/ros2_ws`\n- container:\n  - all: `~/ws`\n\n### Usage\n#### Basic usage\n```bash\ncd \u003ctarget image dir\u003e\ndocker compose up [option -d]  # create and start (-d: detached)\ndocker compose start           # start\ndocker compose stop            # stop\ndocker compose down            # stop and remove\n```\n\nIf you want to create different containers of the same environment, execute the following:\n```bash\ndocker compose -p \u003cproject name\u003e up [option -d]\n```\n\n#### Use Shell\n```bash\ncd \u003ctarget image dir\u003e\ndocker compose exec ws \u003ccommand\u003e # e.g. zsh, bash, tmux\n```\n- bash: All Distro Support\n- zsh: Only Ubuntu Support\n\n#### Use VSCode\nprerequisite: extension `ms-vscode-remote.remote-containers`\n```bash\ncd \u003ctarget image dir\u003e\ncode .\n```\n- Click on `Reopen in container` to run container\n- If you don't click on `Reopen in container`, execute `~/install_vscode_extensions.sh` in the container to install the extension\n\n## Recommendation\n- If you are creating a new IMAGE, it is recommended that you build the provided image and create an image based on it.\n- Use `docker compose up` to check if the build is done correctly.\n\n## References\n- https://docs.ros.org/en/rolling/How-To-Guides/Setup-ROS-2-with-VSCode-and-Docker-Container.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoshikinakamura0412%2Fdockerfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftoshikinakamura0412%2Fdockerfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoshikinakamura0412%2Fdockerfiles/lists"}