A minimal Docker container for running the mTCP NetDrive server, which allows DOS machines to mount remote disk images over a network.
NetDrive is part of the mTCP suite of TCP/IP applications for DOS. The server component runs on modern systems (Linux, Windows, Mac) and serves disk images to DOS clients over UDP.
- Project Homepage: https://www.brutman.com/mTCP/
- NetDrive Documentation: https://www.brutman.com/mTCP/mTCP_NetDrive.html
- License: GPLv3
# Create directory for disk images
mkdir -p images
# Run the container
docker run -d \
--name mtcp-netdrive \
-p 2002:2002/udp \
-v $(pwd)/images:/data/images \
er0080/mtcp-netdrive:latest-
Clone this repository:
git clone https://github.com/er0080/netdrive-docker.git cd netdrive-docker -
Create a directory for your disk images:
mkdir -p images
-
Place your disk images (
.dskfiles) in theimages/directory -
Start the container:
docker-compose up -d
-
View logs:
docker-compose logs -f
-
Clone the repository:
git clone https://github.com/er0080/netdrive-docker.git cd netdrive-docker -
Build the image:
docker build -t mtcp-netdrive . -
Run the container:
docker run -d \ --name mtcp-netdrive \ -p 2002:2002/udp \ -v $(pwd)/images:/data/images \ -e NETDRIVE_PORT=2002 \ mtcp-netdrive
Configure the NetDrive server using these environment variables:
| Variable | Default | Description |
|---|---|---|
NETDRIVE_PORT |
2002 |
UDP port the server listens on |
NETDRIVE_IMAGES_DIR |
/data/images |
Directory containing disk images |
On your DOS client with mTCP configured:
netdrive connect <server-ip>:2002 <image-name>.dsk <drive-letter>:
Example:
netdrive connect 192.168.1.100:2002 dos622.dsk d:
/data/images- Directory containing your disk images (.dskfiles)
Mount your local directory containing disk images to this path.
You can create disk images using various tools:
- On Linux: Use
ddor disk imaging tools - On Windows: Use WinImage or similar tools
- Existing DOS installations: Use disk imaging utilities
Example using dd to create a 100MB image:
dd if=/dev/zero of=images/mydisk.dsk bs=1M count=100- 2002/udp - NetDrive server port (configurable via
NETDRIVE_PORT)
Note: NetDrive uses UDP protocol, not TCP.
- NetDrive is designed for trusted networks
- Consider firewall rules if exposing to the internet
- Use VPN for remote access over untrusted networks
- The server requires no special permissions
docker-compose logs -fdocker psFrom another machine:
nc -u <server-ip> 2002The server runs in headless mode by default in Docker. Check container logs with docker-compose logs -f to monitor server activity.
The NetDrive server is written in Go. To build from source instead of using the binary:
- Download source from https://www.brutman.com/mTCP/
- Modify Dockerfile to build from source instead of downloading binary
This Docker container configuration is provided as-is. The mTCP NetDrive software is licensed under GPLv3 by Michael Brutman.
- mTCP Homepage: https://www.brutman.com/mTCP/
- NetDrive Documentation: https://www.brutman.com/mTCP/mTCP_NetDrive.html
- mTCP GitHub discussions and community support