epidocker

1.5.2 • Public • Published

epidocker

Docker CLI wrapper for Epitech

The current published version is 1.5.2

Install

  • Install Docker (https://docs.docker.com/install/#server)
  • Install the latest version of NodeJs (https://nodejs.org/en/download/package-manager/)
  • Check that Node is installed by running node --version, you should have something like 8.* or 9.*.
    • In case you don't have at least Node 8, run sudo npm install -g n and n latest. This should do the update.
  • Then you'll be able to sudo npm install -g epidocker

Changelog

1.5.2

  • Docker port binding system is now overloadable

1.5.1

  • The TERM environment variable is now sent to the container

1.5.0 "Multiple shells, one container"

  • Running epidocker run several times on a same project container creates new shell instances. The commands you will type will no longer be shared between every shell instances.
  • New flag --name allows you to choose the container name (epidocker run --name my_container)

1.4.3 "The graphic update"

  • Update script now update epidocker Docker image
  • Epidocker Docker image has changed to allow graphical projects rendering. Be sure to use devswoop/epidocker when you're using epidocker (Do not worry, this is the default image used by epidocker).
  • --graphic flag defaults to true

Run epidocker update a second time to update the Docker image if you got epidocker <= 1.4.3 !

Update

To update your epidocker, just run epidocker update (since 1.1.3), it will check for updates and do the update if necessary.

Usage

See epidocker -h

Basic

The main command is epidocker run.
It brings you to a Docker container and link the content of your current directory with the container. Every changes you will make will be shared bewteen your machine and the Docker container.

Containers are automatically removed, don't worry about ghost containers.
If you do not want to remove your container at exit, run epidocker run --save. You can get the list of all the containers you created with epidocker list.

You can delete a container with epidocker delete [container name] and you can go back in a created container by typing epidocker run [container name].

Graphical project (BETA)

Just use epidocker run. Your project should run as expected.
This feature is a bit tricky and can not works on your machine. If you encounter any issues, please report it in the Issues section with as much informations as possible (like operating system and GPU informations).

OS GPU Supported
Ubuntu (maybe every Debian based OS ?) Mesa DRI Intel(R) HD Graphics Yes
macOS Not yet

You can help me to fill this table by telling me if it worked for you or not

Hot reloading

Do not run your compile command each time you did a change, epidocker will do it for you. You juste have to configure it a bit.
First, you need to add a .epidocker file at the root of your project, you will write your configuration in this file as JSON.
Here a basic example:

{
   "commands" : {
    "refresh" : "clear && make && ./my_binary arg1 arg2 ...",
    "test" : "clear && make test"
   },
   "hotreload" : {
    "active" : true,
    "command" : "refresh",
    "watch" : ["src/*.c", "include/*.h", "Makefile"]
   }
}

You can define some commands in the commands object.
To activate the hot reloading, you have to specify it by setting active: true to the hotreload object
Then you have to specify what command you want to run
and what files or directory to watch.
Once you have done this, you can run epidocker run and the command you have written will be executed when the files you specified will change. You can edit your configuration while the hot reloading is running.

Readme

Keywords

Package Sidebar

Install

npm i epidocker

Weekly Downloads

4

Version

1.5.2

License

ISC

Unpacked Size

17.6 kB

Total Files

12

Last publish

Collaborators

  • devswoop