- Development environment using Docker for some Linux distributions
- You can use GUI applications without setting up xhost.
- Linux Only
- You use macOS, you need to set up xhost.
- dotfiles is included in the image
- tmux prefix set to
C-q
- tmux prefix set to
- Linux
- macOS (Not support GPU)
- Prerequisite: XQuartz
- x86_64
- arm64
- VSCode
- Neovim (Not support completion: ROS2)
- CentOS Stream: Not support Neovim. Please use Vim.
- make
- docker
- nvidia-container-runtime
- If you can't install this package, install nvidia-container-toolkit before installing this package.
- If you can't use GPU, execute the following command:
sudo systemctl restart docker
- Please disable GPU by custom setup
git clone https://github.com/ToshikiNakamura0412/dockerfiles.gitcreate directories (e.g. workspace)
cd dockerfiles
make setup # create directoriescd dockerfiles
make [target] [arg=<arg>]
...
make setup # create directories- show help of make:
make help - show help of target:
make [target] arg=-h- target:
change_root_dir,disable_gpu,select_shell,setup,sync_git_user
- target:
If you already start the container, you need to execute the following command to reflect the changes.
docker compose up [option -d]- remove directories (e.g. workspace) and revert to the default state
- If the directories are not empty, they will not be deleted
cd dockerfiles
make clean| Distro | Default Shell | Base Image | Contents | README | |
|---|---|---|---|---|---|
| alpine3.17 | Alpine3.17 | zsh | alpine (Official) | ||
| archlinux | ArchLinux | zsh | archlinux (Official) | ||
| centos-stream9 | CentOS Stream9 | zsh | centos (Official) | ||
| debian12 | Debian12 | zsh | debian (Official) | ||
| fedora40 | Fedora40 | zsh | fedora (Official) | ||
| humbe | Ubuntu22.04 | zsh | ros (Official) | ROS2 Humble | |
| noetic | Ubuntu20.04 | zsh | ros (Official) | ROS1 Noetic | |
| noetic-cuda | Ubuntu20.04 | zsh | cuda (Official) | ROS1 Noetic + CUDA-11.6.1-devel | |
| noetic-cuda-opencv | Ubuntu20.04 | zsh | noetic-cuda (Custom) | ROS1 Noetic + CUDA-11.6.1-devel + OpenCV-5.x | README |
| noetic-cudnn | Ubuntu20.04 | zsh | cuda (Official) | ROS1 Noetic + CUDA-11.6.1-cuDNN8-devel | |
| noetic-cudnn-opencv | Ubuntu20.04 | zsh | noetic-cudnn (Custom) | ROS1 Noetic + CUDA-11.6.1-cuDNN8-devel + OpenCV-5.x | README |
| noetic-pcl10 | Ubuntu20.04 | zsh | noetic (Custom) | ROS1 Noetic + PCL10 | README |
| noetic-pcl14 | Ubuntu20.04 | zsh | noetic (Custom) | ROS1 Noetic + PCL14 | README |
| opensuse-leap15.6 | OpenSUSE Leap15.6 | zsh | opensuse/leap (Official) | ||
| ubuntu20.04 | Ubuntu20.04 | zsh | ubuntu (Official) | ||
| ubuntu22.04 | Ubuntu22.04 | zsh | ubuntu (Official) |
- Alpine does not yet support nvidia-container-runtime
- macOS does not support ROS, so please use virtual machines like UTM
- host:
- default:
~/ws - ROS1:
~/ros1_ws - ROS2:
~/ros2_ws
- default:
- container:
- all:
~/ws
- all:
cd <target image dir>
docker compose up [option -d] # create and start (-d: detached)
docker compose start # start
docker compose stop # stop
docker compose down # stop and removeIf you want to create different containers of the same environment, execute the following:
docker compose -p <project name> up [option -d]cd <target image dir>
docker compose exec ws <command> # e.g. zsh, bash, tmux- bash: All Distro Support
- zsh: Only Ubuntu Support
prerequisite: extension ms-vscode-remote.remote-containers
cd <target image dir>
code .- Click on
Reopen in containerto run container - If you don't click on
Reopen in container, execute~/install_vscode_extensions.shin the container to install the extension
- If you are creating a new IMAGE, it is recommended that you build the provided image and create an image based on it.
- Use
docker compose upto check if the build is done correctly.
