Code Monkey home page Code Monkey logo

docker_dhcp_nfs_tftp_server's Introduction

DHCP, NFS and TFTP server based on Alpine OS running in a Docker container

This project helps to setup a DHCP, NFS qnd TFTP server in one Docker container instance. This toolset can be used in the Embedded world to boot a device through the network or for automated testing.
It eases the network configuration process and does not affect the Host environment.

This README does not explains how to write the DHCP, NFS and TFTP configurations. Please refer to specific document in the "Usefull links" section if needed.

Install

First install Docker:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
rm get-docker.sh
sudo usermod -aG docker $USER

Log out and log in.

Usage

Configuration

You can configure your setup by editing:

  • the env.conf file (port mappping configuration, NFS/TFTP directories)
  • the DHCP configuration files in "./etc/dhcp/dhcpd.conf"
  • the network interface in "./etc/network/interfaces"
  • the NFS configuration in "./etc/exports" and the NFS version in "./src/entrypoint.sh".

By default the NFS files are stored in "./nfs", the tftp in "./tftp" and the DHCP config are empty.
Please complete the config file according to your use case.

Build

Once you have edited the configuration files execute the following command to build the Docker image:

./setup.sh

Run

Then launch the Docker container:

./run.sh

Usefull links

Alpine OS network Wiki:
https://wiki.alpinelinux.org/wiki/Configure_Networking
Editing dhcpd.conf:
https://www.isc.org/wp-content/uploads/2017/08/dhcp41conf.html
Editing interfaces:
https://wiki.debian.org/NetworkConfiguration
Editing exports:
http://man7.org/linux/man-pages/man5/exports.5.html

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.