diff --git a/README.md b/README.md new file mode 100644 index 0000000..ce144d3 --- /dev/null +++ b/README.md @@ -0,0 +1,94 @@ +# Introduction +Ceci est un outil simple de gestion de conteneurs (Comme Docker). Il permet de créer et gérer des conteneurs tout en personnalisant leur configuration. +Il est possible de créer une image, lui attribuer un nom, choisir sa taille et son emplacement. + +À partir de cette dernière, vous pourrez créer un conteneur : choisir son nom, l'image sur laquelle il reposera, son chemin, ses bridges, les adresses IPV4 associées ainsi que le programme qui sera exécuté dessus. + +De plus, vous avez la possibilité de créer un bridge, lui attribuer un nom et lui associer une adresse IPV4. + +Pour connaître toutes les commandes possibles, un utilitaire help est mis à votre disposition grâce à la commande : + +# Structure du code +Les scripts shell de ce projet sont structurés comme suit : + +Image | Bridge | Container +------------ | -------------| ------------- +create_image | create_bridge| create_container +list_images | list_bridges | list_containers +remove_images | remove_bridges | remove_containers + | | up_bridge| stop_container + | | down_bridge | exec_container + +## Images +* create_image : permet de créer une image
+Exemple : + +```bash +baleine.sh image create -i myimage -s 10240 -r /var/lib/baleine/images -p http_proxy=http://proxy.polytech-lille.fr:3128 +``` +* list_image : permet de lister les images existantes
+Exemple : +```bash +baleine.sh image list +``` +* remove_images : permet la suppression de l'image donnée en argument.
+Exemple : +```bash +baleine.sh image remove -i myimage +``` +## Bridges + +* create_bridge : permet de créer un bridge
+Exemple : + +```bash +baleine.sh bridge create -b mybridge -a 192.168.42.1/24 +``` +* list_bridge : permet de lister les bridges existantes
+Exemple : +```bash +baleine.sh bridge list +``` +* remove_bridges : permet la suppression de du bridge donné en argument.
+Exemple : +```bash +baleine.sh bridge remove -b mybridge +``` +* up_bridge : permet de rendre fonctionnel un bridge. +```bash
+Exemple : +baleine.sh bridge up -b mybridge +``` +* down_bridge : permet de désactiver un bridge.
+Exemple : +```bash +baleine.sh bridge down -b mybridge +``` +## Containers + +* create_container : permet de créer un container
+Exemple : + +```bash +baleine.sh container create -c mycontainer -i myimage -b mybridge -r /var/lib/baleine/containers -a 192.168.42.1/24 -p "/usr/sbin/apache2ctl start" +``` +* list_container : permet de lister les containers existantes
+Exemple : +```bash +baleine.sh container list +``` +* remove_containers : permet la suppression de du container donné en argument.
+Exemple : +```bash +baleine.sh container remove -c mycontainer +``` +* stop_container :
+Exemple : +```bash +baleine.sh container stop -c mycontainer +``` +* exec_container :
+Exemple : +```bash +baleine.sh container exec -c mycontainer +``` \ No newline at end of file diff --git a/bridge.sh b/bridge.sh index 753a994..350e7f8 100644 --- a/bridge.sh +++ b/bridge.sh @@ -1,11 +1,11 @@ #!/bin/bash if [ $# -lt 1 ]; then - printf "Nom \n" - printf "\t \t Bridge\n" + printf "NOM \n" + printf "\t Bridge\n" printf "SYNOPSIS \n" - printf "\t \t baleine bridge [arguments]\n" + printf "\t baleine bridge [arguments]\n" printf "Description: \n \n" - printf "La commande 'bridge' permet de créer des bridges Linux, en supprimer et lister les bridges existants (Nom) " + printf "\t La commande 'bridge' permet de créer des bridges Linux, en supprimer et lister les bridges existants (Nom) \n" printf "Les commandes sont :\n \n" printf "\t %-10s %-10s \n" "" "crée un bridge." printf "\t \t [-b], [NOM_BRIDGE]\n \n" @@ -17,7 +17,6 @@ if [ $# -lt 1 ]; then printf "\t \t [-b], --bridge [NOM_BRIDGE]\n \n" printf " \t %-10s %-10s \n" "" "Met down le bridge donné en argument." printf "\t \t [-b], --bridge [NOM_BRIDGE]\n \n" - printf "Utilisez baleine help pour plus d'informations à propos d'une commande.\n" fi case $1 in diff --git a/container.sh b/container.sh index 5cdea9b..01d0bbf 100644 --- a/container.sh +++ b/container.sh @@ -1,11 +1,11 @@ #!/bin/bash if [ $# -lt 1 ]; then - printf "Nom \n" - printf "\t \t Container\n" + printf "NOM\n" + printf "\t Container\n" printf "SYNOPSIS \n" - printf "\t \t baleine container [arguments]\n" + printf "\t baleine container [arguments]\n" printf "Description: \n \n" - printf "La commande 'Container' permet de créer des conteneurs, en supprimer, lister les conteneurs existants (Son nom, son image, son bridge, son PID, son starting time ) " + printf "\t La commande 'Container' permet de créer des conteneurs, en supprimer, lister les conteneurs existants (Son nom, son image, son bridge, son PID, son starting time ) \n" printf "Les commandes sont :\n \n" printf "\t %-10s %-10s \n" "" "crée un conteneur." printf "\t \t [-i], [NOM_IMAGE]\n \n" @@ -21,8 +21,6 @@ if [ $# -lt 1 ]; then printf "\t \t [-c], --container [NOM_CONTAINER]\n \n" printf "\t %-10s %-10s \n" " " "Stop le conteneur donné en argument." printf "\t \t [-c], --container [NOM_CONTAINER]\n \n" - printf " \t %-10s %-10s \n" " " "redémarre le conteneur donné en argument." - printf "\t \t [-c], --container [NOM_CONTAINER]\n \n" printf "Utilisez baleine help pour plus d'informations à propos d'une commande.\n" fi diff --git a/help.sh b/help.sh index f057850..f2b75ad 100644 --- a/help.sh +++ b/help.sh @@ -1,4 +1,63 @@ #!/bin/bash printf "Baleine est un outil simple de gestion de conteneur.\n" printf "Utilisation: \n \n" - \ No newline at end of file + + printf "NOM \n" + printf "\t Image\n" + printf "SYNOPSIS \n" + printf "\t baleine image [arguments]\n" + printf "Description: \n \n" + printf "\t La commande 'image' permet de créer une image, en supprimer, lister les images existantes (Son nom, sa taille, son chemin ) \n" + printf "Les commandes sont :\n \n" + printf "\t %-10s %-10s \n" "" "crée une image." + printf "\t \t [-i], [NOM_IMAGE]\n \n" + printf "\t \t [-s], [TAILLE]\n \n" + printf "\t \t [-r], [REPERTOIRE]\n \n" + printf "\t \t [-P], [PROXY]\n \n" + printf " \t %-10s %-10s \n" "" "liste les images existantes ainsi que leurs manifestes." + printf " \t %-10s %-10s \n" "" "Supprime l'image donnée en argument." + printf "\t \t [-c], --container [NOM_CONTAINER]\n \n" + + printf "NOM \n" + printf "\t Bridge\n" + printf "SYNOPSIS \n" + printf "\t baleine bridge [arguments]\n" + printf "Description: \n \n" + printf "\t La commande 'bridge' permet de créer des bridges Linux, en supprimer et lister les bridges existants (Nom) \n" + printf "Les commandes sont :\n \n" + printf "\t %-10s %-10s \n" "" "crée un bridge." + printf "\t \t [-b], [NOM_BRIDGE]\n \n" + printf "\t \t [-a], [ADDR_IPV4]\n \n" + printf " \t %-10s %-10s \n" "" "liste les bridges existants ainsi que leurs manifestes." + printf " \t %-10s %-10s \n" "" "Supprime le bridge donné en argument." + printf "\t \t [-b], --bridge [NOM_BRIDGE]\n \n" + printf " \t %-10s %-10s \n" "" "Met up le bridge donné en argument." + printf "\t \t [-b], --bridge [NOM_BRIDGE]\n \n" + printf " \t %-10s %-10s \n" "" "Met down le bridge donné en argument." + printf "\t \t [-b], --bridge [NOM_BRIDGE]\n \n" + + printf "NOM\n" + printf "\t Container\n" + printf "SYNOPSIS \n" + printf "\t baleine container [arguments]\n" + printf "Description: \n \n" + printf "\t La commande 'Container' permet de créer des conteneurs, en supprimer, lister les conteneurs existants (Son nom, son image, son bridge, son PID, son starting time ) \n" + printf "Les commandes sont :\n \n" + printf "\t %-10s %-10s \n" "" "crée un conteneur." + printf "\t \t [-i], [NOM_IMAGE]\n \n" + printf "\t \t [-c], [NOM_CONTAINER]\n \n" + printf "\t \t [-b], [NOM_BRIDGE]\n \n" + printf "\t \t [-r], [REPERTOIRE]\n \n" + printf "\t \t [-a], [ADDRE_IPV4]\n \n" + printf "\t \t [-p], [NOM_PROGRAMME]\n \n" + printf " \t %-10s %-10s \n" " " "liste les conteneurs existants ainsi que leurs manifestes." + printf " \t %-10s %-10s \n" " " "Supprime le conteneur donné en argument." + printf "\t \t [-c], --container [NOM_CONTAINER]\n \n" + printf "\t \t %-10s %-10s \n" " " "Exécute au lancement du conteneur un bash." + printf "\t \t [-c], --container [NOM_CONTAINER]\n \n" + printf "\t %-10s %-10s \n" " " "Stop le conteneur donné en argument." + printf "\t \t [-c], --container [NOM_CONTAINER]\n \n" + + + + diff --git a/image.sh b/image.sh index 85f62f7..4b76067 100644 --- a/image.sh +++ b/image.sh @@ -1,11 +1,11 @@ #!/bin/bash if [ $# -lt 1 ]; then - printf "Nom \n" - printf "\t \t Image\n" + printf "NOM \n" + printf "\t Image\n" printf "SYNOPSIS \n" - printf "\t \t baleine image [arguments]\n" + printf "\t baleine image [arguments]\n" printf "Description: \n \n" - printf "La commande 'image' permet de créer une image, en supprimer, lister les images existantes (Son nom, sa taille, son chemin ) " + printf "\t La commande 'image' permet de créer une image, en supprimer, lister les images existantes (Son nom, sa taille, son chemin ) \n" printf "Les commandes sont :\n \n" printf "\t %-10s %-10s \n" "" "crée une image." printf "\t \t [-i], [NOM_IMAGE]\n \n" -- libgit2 0.21.2