📚 Mounting a Network Share for Docker on Debian
🧭 Overview
This guide shows how to mount a CIFS/SMB network share on a Debian-based system and use it as a volume in Docker Compose. Useful when your Docker container needs access to shared files hosted on another machine (e.g., a NAS, Windows PC, or another Linux box).
🛠️ Step 1: Install CIFS Utilities
sudo apt update
sudo apt install cifs-utils
📂 Step 2: Create a Mount Point
sudo mkdir -p /mnt/downloads
🔐 Step 3: Mount the Share
sudo mount -t cifs //LORGAR/Downloads /mnt/downloads -o username=slitzer,password=blink182,vers=3.0
Replace:
//LORGAR/Downloads— with the remote share pathusernameandpassword— with valid credentialsvers=3.0— adjust based on your SMB version (2.0,3.1.1, etc.)
💾 Optional: Persistent Mount via fstab
Edit /etc/fstab:
//LORGAR/Downloads /mnt/downloads cifs username=slitzer,password=blink182,vers=3.0,uid=1000,gid=1000 0 0
Using a secure credentials file:
# /root/.smbcredentials
username=slitzer
password=blink182
Then in /etc/fstab:
//LORGAR/Downloads /mnt/downloads cifs credentials=/root/.smbcredentials,vers=3.0,uid=1000,gid=1000 0 0
Don't forget: chmod 600 /root/.smbcredentials
🐳 Step 4: Use in Docker Compose
Update your docker-compose.yml:
version: '3'
services:
myapp:
image: myapp/image
volumes:
- /mnt/downloads:/app/shared
This maps the mounted network share inside the container.
🔍 Troubleshooting
- Check if mounted:
mount | grep downloadsordf -h - Check permissions:
ls -la /mnt/downloads - Logs:
dmesg,journalctl -xe
✅ TL;DR
sudo apt install cifs-utils
sudo mkdir -p /mnt/downloads
sudo mount -t cifs //REMOTE_HOST/Share /mnt/downloads -o username=...,password=...,vers=3.0
Then reference /mnt/downloads in your Docker volumes.
🧠 Pro Tip: Avoid hardcoding passwords by using credential files, especially for systems in production.
No comments to display
No comments to display