ArduGazeboSim-Docker is a comprehensive Docker-based simulation environment for ArduPilot and Gazebo Classic 11, designed for drone development and testing. This project provides a complete containerized setup with ROS Noetic, allowing developers to work seamlessly across different machines without worrying about dependencies.
- ✅ Containerized Environment: Docker-based setup with all dependencies pre-installed
- ✅ VS Code Integration: Full development environment with Dev Containers
- ✅ Multi-Drone Support: Simulate multiple drones simultaneously
- ✅ ROS Noetic Integration: Complete ROS ecosystem for drone control
- ✅ Gazebo Classic 11: Realistic physics simulation
- ✅ MAVProxy Support: Direct connection to ArduPilot SITL
- ✅ Cross-Platform: Works on any system with Docker support
- ✅ Persistent Storage: Project files stored on host machine
- Docker and Docker Compose
- VS Code with Docker, Dev Containers and Remote - Containers extensions
- Sufficient disk space (~10GB for initial setup)
# Update system
sudo apt update && sudo apt upgrade -y
# Install Docker and Docker Compose
sudo apt install -y docker.io docker-compose docker-buildx-plugin
# Enable and start Docker
sudo systemctl enable --now docker
# Add user to docker group (logout and login required)
sudo usermod -aG docker $USER
# Install NVIDIA Container Toolkit
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
&& curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt update
sudo apt install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
# Allow X11 forwarding for GUI applications
xhost +local:# Update system
sudo pacman -Syu --noconfirm
# Install Docker and Docker Compose
sudo pacman -S --noconfirm docker docker-compose docker-buildx
# Enable and start Docker
sudo systemctl enable --now docker
# Add user to docker group (logout and login required)
sudo usermod -aG docker $USER
# Install NVIDIA Container Toolkit
yay -S --noconfirm nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
# Allow X11 forwarding for GUI applications
xhost +local:# Update system
sudo dnf -y update
# Install Docker and Docker Compose
sudo dnf -y install docker docker-compose docker-buildx
# Enable and start Docker
sudo systemctl enable --now docker
# Add user to docker group (logout and login required)
sudo usermod -aG docker $USER
# Install NVIDIA Container Toolkit
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo rpm --import - \
&& curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
sudo dnf -y clean expire-cache
sudo dnf -y install nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
# Allow X11 forwarding for GUI applications
xhost +local:Warning
Important: The xhost +local: command is not persistent. You must run this command every time you restart your computer.
Otherwise, GUI applications like Gazebo will fail to open and throw errors.
# Create project directory
mkdir -p ~/ArduGazeboSim
cd ~/ArduGazeboSim
code .Create a Dockerfile in the project root:
FROM osrf/ros:noetic-desktop-full
# NVIDIA Ekran Kartı Grafik Yetkilerini Aç (Ağır Yük İçin)
ENV NVIDIA_VISIBLE_DEVICES \
${NVIDIA_VISIBLE_DEVICES:-all}
ENV NVIDIA_DRIVER_CAPABILITIES \
${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics,compute,utility
# Install system dependencies
# EKLENEN KRİTİK PAKETLER: libgl1-mesa-glx libgl1-mesa-dri (AMD Görüntü Köprüsü İçin)
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y \
git wget curl nano cmake build-essential \
python3-dev python3-pip python3-setuptools python3-wheel \
python3-matplotlib python3-numpy python3-pandas python3-scipy \
python3-sqlalchemy python3-pexpect python3-wstool \
python3-rosinstall-generator python3-catkin-lint python3-catkin-tools \
ros-noetic-geographic-msgs \
gazebo11 libgazebo11-dev \
python3-wxgtk4.0 \
mesa-utils libgl1-mesa-glx libgl1-mesa-dri \
&& rm -rf /var/lib/apt/lists/*
# Install Python packages
RUN pip3 install --no-cache-dir future lxml pymavlink MAVProxy osrf-pycommon empy
# Create project directory
RUN mkdir -p /home/user/drone_project
WORKDIR /home/user/drone_project
# Set PATH for ArduPilot tools
ENV PATH="/home/user/drone_project/ardupilot:/home/user/drone_project/ardupilot/Tools/autotest:${PATH}"
CMD ["/bin/bash"]Create .devcontainer/devcontainer.json:
{
"name": "ArduGazeboSim Environment",
"dockerFile": "../Dockerfile",
"customizations": {
"vscode": {
"extensions": [
"ms-python.python",
"ms-azuretools.vscode-docker",
"ms-vscode-remote.remote-containers"
]
}
},
"forwardPorts": [8100, 8200, 8300],
"mounts": [
"source=${localWorkspaceFolder},target=/home/user/drone_project,type=bind"
],
"runArgs": [
// =================================================================
// CORE DISPLAY & NETWORK SETTINGS (KEEP THESE ACTIVE FOR ALL SYSTEMS)
// =================================================================
"--net=host",
"--env=DISPLAY=${env:DISPLAY}",
"--env=QT_X11_NO_MITSHM=1",
"--volume=/tmp/.X11-unix:/tmp/.X11-unix:rw",
// =================================================================
// SCENARIO 1: HYBRID SYSTEMS (Laptops: NVIDIA + AMD/Intel Integrated)
// This is the currently active profile. NVIDIA renders, AMD displays.
// If you switch to another profile, put // at the beginning of these 4 lines.
// =================================================================
"--gpus=all",
"--device=/dev/dri:/dev/dri",
"--env=__NV_PRIME_RENDER_OFFLOAD=1",
"--env=__GLX_VENDOR_LIBRARY_NAME=nvidia"
// =================================================================
// SCENARIO 2: DEDICATED NVIDIA GPU ONLY (Desktop PCs)
// For systems without an integrated GPU (No AMD/Intel APU).
// To use this, remove the // from the line below.
// (Remember to comment out Scenario 1, and add a comma to the last active line above)
// =================================================================
// "--gpus=all"
// =================================================================
// SCENARIO 3: INTEGRATED GPU ONLY (No NVIDIA - Just Intel/AMD)
// For standard laptops or PCs without a dedicated graphics card.
// To use this, remove the // from the line below.
// =================================================================
// "--device=/dev/dri:/dev/dri"
]
}ArduGazeboSim/
├── .devcontainer/ # VS Code Dev Container settings
│ └── devcontainer.json # References the Dockerfile for container setup
│
├── Dockerfile # Main Dockerfile for the development environment
│
....
│ (your project files go here)
In VS Code:
- Locate the
><icon in the bottom-left corner of the VS Code window. - Click it and select “Reopen in Container” from the menu.
- Wait for the container to build and start (first time may take 10-15 minutes)
Instead of performing all installations manually, you can run the setup_simulation.sh script prepared inside the Docker container. This will automatically install all dependencies.
- Make the script executable inside the Docker container:
chmod +x setup_simulation.sh- Start the script:
./setup_simulation.shNote: If you get errors like
PreArm: Main loop sloworArm: COMPONENT_ARM_DISARM: FAILED, run this in the same terminal as SITL:param set ARMING_CHECK 0This disables pre-arm checks for simulation.
After the container is built, open a terminal inside VS Code (inside the container) and run the following commands step by step.
# Create catkin workspace
cd /home/user/drone_project
mkdir -p catkin_ws/src
cd catkin_ws
source /opt/ros/noetic/setup.bash
catkin init
# Install MAVROS and MAVLink
apt-get update && apt-get install -y software-properties-common && add-apt-repository universe
wstool init src
rosinstall_generator --rosdistro noetic --upstream mavros | tee /tmp/mavros.rosinstall
rosinstall_generator --rosdistro noetic mavlink | tee -a /tmp/mavros.rosinstall
wstool merge -t src /tmp/mavros.rosinstall
wstool update -t src
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro noetic -y
# Clone IQ Simulation package
cd src
git clone https://github.com/Intelligent-Quads/iq_sim.git
# Set Gazebo model path
echo "export GAZEBO_MODEL_PATH=\$GAZEBO_MODEL_PATH:/home/user/drone_project/catkin_ws/src/iq_sim/models" >> ~/.bashrc
# Build catkin workspace
cd /home/user/drone_project/catkin_ws
catkin build
echo "source /home/user/drone_project/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrcIn the same terminal inside VS Code, run the following commands to clone and build ArduPilot.
# Clone ArduPilot
cd /home/user/drone_project
git clone --recurse-submodules https://github.com/ArduPilot/ardupilot.git
cd ardupilot
./waf configure --board sitl
./waf copter
# Set PATH for ArduPilot tools
echo "export PATH=\$PATH:/home/user/drone_project/ardupilot:/home/user/drone_project/ardupilot/Tools/autotest" >> ~/.bashrc
source ~/.bashrcIn the same terminal inside VS Code, run the following commands to clone and build ArduPilot.
# Clone and build the plugin
cd /home/user/drone_project/ardupilot
git clone https://github.com/khancyr/ardupilot_gazebo.git ardupilot_gazebo_classic
cd ardupilot_gazebo_classic
mkdir build && cd build
cmake ..
make -j$(nproc)
make install
# Set environment variables
echo 'export GAZEBO_PLUGIN_PATH=$GAZEBO_PLUGIN_PATH:/usr/local/lib' >> ~/.bashrc
echo 'export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/home/user/drone_project/ardupilot/ardupilot_gazebo_classic/models' >> ~/.bashrc
source ~/.bashrc-
Terminal 1 - Start Gazebo and ROS:
Open a new terminal inside VS Code (inside the container) to start the simulation environment. Then run:
source ~/.bashrc roslaunch iq_sim multi_drone.launch
-
Terminal 2 - Start ArduCopter SITL:
Open another new terminal inside VS Code for ArduPilot connection. This terminal will handle drone SITL simulation:
cd /home/user/drone_project/ardupilot sim_vehicle.py -v ArduCopter -f gazebo-iris --console --map -I0
Note: After completing the simulation setup, you can:
- Use the container to start your own projects inside VS Code.
- Open a new terminal inside the container to run Python scripts, test ROS nodes, or start additional simulations.
- Persistent Environment: All project files are stored on your host machine. The container can be stopped and restarted without losing your work.
- Rebuilding: If you modify the Dockerfile, you can update the container by clicking the
><icon in the bottom-left corner of VS Code again and selecting “Rebuild Container”. VS Code will automatically rebuild the container with your changes. - GPU Support: For GPU acceleration, add
"--gpus=all"torunArgsindevcontainer.jsonand install NVIDIA Docker.
Happy flying! 🚁✨
ArduGazeboSim-Docker, ArduPilot ve Gazebo Classic 11 için kapsamlı bir Docker tabanlı simülasyon ortamıdır ve drone geliştirme ve testleri için tasarlanmıştır. Bu proje, ROS Noetic ile tam bir konteynerleştirilmiş kurulum sağlayarak geliştiricilerin bağımlılıklar konusunda endişelenmeden farklı makinelerde sorunsuz çalışmasına olanak tanır.
- ✅ Konteynerleştirilmiş Ortam: Tüm bağımlılıklar önceden yüklenmiş Docker tabanlı kurulum
- ✅ VS Code Entegrasyonu: Dev Containers ile tam geliştirme ortamı
- ✅ Çoklu Drone Desteği: Aynı anda birden fazla drone simülasyonu
- ✅ ROS Noetic Entegrasyonu: Drone kontrolü için eksiksiz ROS ekosistemi
- ✅ Gazebo Classic 11: Gerçekçi fizik simülasyonu
- ✅ MAVProxy Desteği: ArduPilot SITL'e doğrudan bağlantı
- ✅ Çapraz Platform: Docker desteği olan her sistemde çalışır
- ✅ Kalıcı Depolama: Proje dosyaları ana makinede saklanır
- Docker ve Docker Compose
- Docker, Dev Containers ve Remote - Containers uzantılarına sahip VS Code
- Yeterli disk alanı (ilk kurulum için ~10GB)
# Sistemi güncelle
sudo apt update && sudo apt upgrade -y
# Docker ve Docker Compose kur
sudo apt install -y docker.io docker-compose docker-buildx-plugin
# Docker'ı etkinleştir ve başlat
sudo systemctl enable --now docker
# Kullanıcıyı docker grubuna ekle (çıkış yapıp tekrar giriş gereklidir)
sudo usermod -aG docker $USER
# NVIDIA Container Toolkit kur
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
&& curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt update
sudo apt install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
# GUI uygulamaları için X11 yönlendirmeye izin ver
xhost +local:# Sistemi güncelle
sudo pacman -Syu --noconfirm
# Docker ve Docker Compose kur
sudo pacman -S --noconfirm docker docker-compose docker-buildx
# Docker'ı etkinleştir ve başlat
sudo systemctl enable --now docker
# Kullanıcıyı docker grubuna ekle (çıkış yapıp tekrar giriş gereklidir)
sudo usermod -aG docker $USER
# NVIDIA Container Toolkit kur
yay -S --noconfirm nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
# GUI uygulamaları için X11 yönlendirmeye izin ver
xhost +local:# Sistemi güncelle
sudo dnf -y update
# Docker ve Docker Compose kur
sudo dnf -y install docker docker-compose docker-buildx
# Docker'ı etkinleştir ve başlat
sudo systemctl enable --now docker
# Kullanıcıyı docker grubuna ekle (çıkış yapıp tekrar giriş gereklidir)
sudo usermod -aG docker $USER
# NVIDIA Container Toolkit kur
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo rpm --import - \
&& curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
sudo dnf -y clean expire-cache
sudo dnf -y install nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
# GUI uygulamaları için X11 yönlendirmeye izin ver
xhost +local:Warning
Önemli: xhost +local: komutu kalıcı değildir. Bilgisayarınızı her yeniden başlattığınızda bu komutu tekrar çalıştırmanız gerekmektedir.
Aksi takdirde Gazebo gibi grafik arayüz (GUI) gerektiren uygulamalar açılmayacak ve hata verecektir.
# Proje dizini oluştur
mkdir -p ~/ArduGazeboSim
cd ~/ArduGazeboSim
code .Proje kök dizininde bir Dockerfile oluşturun:
FROM osrf/ros:noetic-desktop-full
# NVIDIA Ekran Kartı Grafik Yetkilerini Aç (Ağır Yük İçin)
ENV NVIDIA_VISIBLE_DEVICES \
${NVIDIA_VISIBLE_DEVICES:-all}
ENV NVIDIA_DRIVER_CAPABILITIES \
${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics,compute,utility
# Install system dependencies
# EKLENEN KRİTİK PAKETLER: libgl1-mesa-glx libgl1-mesa-dri (AMD Görüntü Köprüsü İçin)
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y \
git wget curl nano cmake build-essential \
python3-dev python3-pip python3-setuptools python3-wheel \
python3-matplotlib python3-numpy python3-pandas python3-scipy \
python3-sqlalchemy python3-pexpect python3-wstool \
python3-rosinstall-generator python3-catkin-lint python3-catkin-tools \
ros-noetic-geographic-msgs \
gazebo11 libgazebo11-dev \
python3-wxgtk4.0 \
mesa-utils libgl1-mesa-glx libgl1-mesa-dri \
&& rm -rf /var/lib/apt/lists/*
# Install Python packages
RUN pip3 install --no-cache-dir future lxml pymavlink MAVProxy osrf-pycommon empy
# Create project directory
RUN mkdir -p /home/user/drone_project
WORKDIR /home/user/drone_project
# Set PATH for ArduPilot tools
ENV PATH="/home/user/drone_project/ardupilot:/home/user/drone_project/ardupilot/Tools/autotest:${PATH}"
CMD ["/bin/bash"].devcontainer/devcontainer.json dosyası oluşturun:
{
"name": "ArduGazeboSim Environment",
"dockerFile": "../Dockerfile",
"customizations": {
"vscode": {
"extensions": [
"ms-python.python",
"ms-azuretools.vscode-docker",
"ms-vscode-remote.remote-containers"
]
}
},
"forwardPorts": [8100, 8200, 8300],
"mounts": [
"source=${localWorkspaceFolder},target=/home/user/drone_project,type=bind"
],
"runArgs": [
// =================================================================
// CORE DISPLAY & NETWORK SETTINGS (KEEP THESE ACTIVE FOR ALL SYSTEMS)
// =================================================================
"--net=host",
"--env=DISPLAY=${env:DISPLAY}",
"--env=QT_X11_NO_MITSHM=1",
"--volume=/tmp/.X11-unix:/tmp/.X11-unix:rw",
// =================================================================
// SCENARIO 1: HYBRID SYSTEMS (Laptops: NVIDIA + AMD/Intel Integrated)
// This is the currently active profile. NVIDIA renders, AMD displays.
// If you switch to another profile, put // at the beginning of these 4 lines.
// =================================================================
"--gpus=all",
"--device=/dev/dri:/dev/dri",
"--env=__NV_PRIME_RENDER_OFFLOAD=1",
"--env=__GLX_VENDOR_LIBRARY_NAME=nvidia"
// =================================================================
// SCENARIO 2: DEDICATED NVIDIA GPU ONLY (Desktop PCs)
// For systems without an integrated GPU (No AMD/Intel APU).
// To use this, remove the // from the line below.
// (Remember to comment out Scenario 1, and add a comma to the last active line above)
// =================================================================
// "--gpus=all"
// =================================================================
// SCENARIO 3: INTEGRATED GPU ONLY (No NVIDIA - Just Intel/AMD)
// For standard laptops or PCs without a dedicated graphics card.
// To use this, remove the // from the line below.
// =================================================================
// "--device=/dev/dri:/dev/dri"
]
}ArduGazeboSim/
├── .devcontainer/ # VS Code Dev Container ayarları
│ └── devcontainer.json # Konteyner kurulumu için Dockerfile'a referans verir
│
├── Dockerfile # Geliştirme ortamı için ana Dockerfile
│
....
│ (proje dosyalarınız buraya gelir)
VS Code'da:
- VS Code penceresinin sol alt köşesindeki
><simgesini bulun. - Tıklayın ve menüden "Reopen in Container" seçeneğini seçin.
- Konteynerin oluşturulup başlamasını bekleyin (ilk sefer 10-15 dakika sürebilir)
Tüm kurulumları manuel olarak yapmak yerine, Docker konteyneri içinde hazırlanmış setup_simulation.sh betiğini çalıştırabilirsiniz. Bu, tüm bağımlılıkları otomatik olarak kuracaktır.
- Docker konteyneri içinde betiği çalıştırılabilir yapın:
chmod +x setup_simulation.sh- Betiği başlatın:
./setup_simulation.shNot:
PreArm: Main loop slowveyaArm: COMPONENT_ARM_DISARM: FAILEDgibi hatalar alırsanız, SITL ile aynı terminalde şunu çalıştırın:param set ARMING_CHECK 0Bu, simülasyon için ön-arm kontrollerini devre dışı bırakır.
Konteyner oluşturulduktan sonra, VS Code içinde (konteyner içinde) bir terminal açın ve aşağıdaki komutları adım adım çalıştırın.
# Catkin çalışma alanı oluştur
cd /home/user/drone_project
mkdir -p catkin_ws/src
cd catkin_ws
source /opt/ros/noetic/setup.bash
catkin init
# MAVROS ve MAVLink kur
apt-get update && apt-get install -y software-properties-common && add-apt-repository universe
wstool init src
rosinstall_generator --rosdistro noetic --upstream mavros | tee /tmp/mavros.rosinstall
rosinstall_generator --rosdistro noetic mavlink | tee -a /tmp/mavros.rosinstall
wstool merge -t src /tmp/mavros.rosinstall
wstool update -t src
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro noetic -y
# IQ Simulation paketini klonla
cd src
git clone https://github.com/Intelligent-Quads/iq_sim.git
# Gazebo model yolunu ayarla
echo "export GAZEBO_MODEL_PATH=\$GAZEBO_MODEL_PATH:/home/user/drone_project/catkin_ws/src/iq_sim/models" >> ~/.bashrc
# Catkin çalışma alanını derle
cd /home/user/drone_project/catkin_ws
catkin build
echo "source /home/user/drone_project/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrcVS Code içindeki aynı terminalde, ArduPilot'u klonlamak ve derlemek için aşağıdaki komutları çalıştırın.
# ArduPilot'u klonla
cd /home/user/drone_project
git clone --recurse-submodules https://github.com/ArduPilot/ardupilot.git
cd ardupilot
./waf configure --board sitl
./waf copter
# ArduPilot araçları için PATH ayarla
echo "export PATH=\$PATH:/home/user/drone_project/ardupilot:/home/user/drone_project/ardupilot/Tools/autotest" >> ~/.bashrc
source ~/.bashrcVS Code içindeki aynı terminalde, eklentiyi klonlamak ve derlemek için aşağıdaki komutları çalıştırın.
# Eklentiyi klonla ve derle
cd /home/user/drone_project/ardupilot
git clone https://github.com/khancyr/ardupilot_gazebo.git ardupilot_gazebo_classic
cd ardupilot_gazebo_classic
mkdir build && cd build
cmake ..
make -j$(nproc)
make install
# Ortam değişkenlerini ayarla
echo 'export GAZEBO_PLUGIN_PATH=$GAZEBO_PLUGIN_PATH:/usr/local/lib' >> ~/.bashrc
echo 'export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/home/user/drone_project/ardupilot/ardupilot_gazebo_classic/models' >> ~/.bashrc
source ~/.bashrc-
Terminal 1 - Gazebo ve ROS'u Başlat:
VS Code içinde (konteyner içinde) yeni bir terminal açın ve simülasyon ortamını başlatın. Ardından şunu çalıştırın:
source ~/.bashrc roslaunch iq_sim multi_drone.launch
-
Terminal 2 - ArduCopter SITL Başlat:
ArduPilot bağlantısı için VS Code içinde başka bir yeni terminal açın. Bu terminal drone SITL simülasyonunu yönetecektir:
cd /home/user/drone_project/ardupilot sim_vehicle.py -v ArduCopter -f gazebo-iris --console --map -I0
Not: Simülasyon kurulumunu tamamladıktan sonra şunları yapabilirsiniz:
- Konteyneri kullanarak VS Code içinde kendi projelerinizi başlatın.
- Python betikleri çalıştırmak, ROS düğümlerini test etmek veya ek simülasyonlar başlatmak için konteyner içinde yeni bir terminal açın.
- Kalıcı Ortam: Tüm proje dosyaları ana makinenizde saklanır. Konteyner durdurulup yeniden başlatılabilir ve çalışmanız kaybolmaz.
- Yeniden Derleme: Dockerfile'ı değiştirirseniz, VS Code'un sol alt köşesindeki
><simgesine tekrar tıklayarak ve "Rebuild Container" seçeneğini seçerek konteyneri güncelleyebilirsiniz. VS Code, değişikliklerinizle konteyneri otomatik olarak yeniden derleyecektir. - GPU Desteği: GPU hızlandırma için
devcontainer.jsoniçindekirunArgsbölümüne"--gpus=all"ekleyin ve NVIDIA Docker kurun.
İyi uçuşlar! 🚁✨
