epidocker
v1.5.2
Published
Run Epitech project in Epidocker easily
Downloads
8
Readme
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
andn latest
. This should do the update.
- In case you don't have at least Node 8, run
- 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.