diff --git a/dk b/dk index 95fd031..b26f85c 100755 --- a/dk +++ b/dk @@ -34,8 +34,9 @@ COMMANDES (comme avec start) exec SERVICE COMMAND Lancer la commande dans le container spécifié - service - Générer une unité systemd qui démarre les services + systemd-unit + Générer une unité systemd qui démarre les services. A priori, ce n'est + nécessaire que si aucune politique de redémarrage n'a été définie. ps Afficher les containers en cours d'exécution ls @@ -164,12 +165,12 @@ function compose_set_env_args() { function host_run() { # lancer le script $2..@ sur l'hôte $1 - # si $1 n'est pas défini ou est le nom l'hôte local, lancer le script en - # local avec les droits root + # si $1 n'est pas défini ou est le nom de l'hôte local ou vaut 'localhost', + # lancer le script en local avec les droits root # sinon, si docker-machine existe, l'hôte doit correspondre à la machine active # sinon, lancer inconditionnellement le script sur l'hôte distant local host="$1" script="$2"; shift; shift - if [ -n "$host" ]; then + if [ -n "$host" -a "$host" != localhost ]; then if check_hostname "$host"; then estep "Lancement de $script localement" runscript_as_root "$script" "$@" @@ -572,7 +573,7 @@ function auto_exec() { fi } -function default_compose_service() { +function default_compose_systemd_unit() { local docker_compose="$(which docker-compose 2>/dev/null)" if [ -z "$docker_compose" ]; then if [ -x /usr/bin/docker-compose ]; then @@ -589,7 +590,7 @@ function default_compose_service() { "${replace_user_args[@]}" "${user_args[@]}" "$@" setx stopcmd=qvals "$docker_compose" down } -function default_docker_service() { +function default_docker_systemd_unit() { local docker="$(which docker 2>/dev/null)" if [ -z "$docker" ]; then if [ -x /usr/bin/docker ]; then @@ -607,21 +608,21 @@ function default_docker_service() { "${replace_user_args[@]}" "${user_args[@]}" "$@" setx stopcmd=qvals "$docker" stop "$container_name" } -function compose_service() { default_compose_service "$@"; } -function docker_service() { default_docker_service "$@"; } -function auto_service() { +function compose_systemd_unit() { default_compose_systemd_unit "$@"; } +function docker_systemd_unit() { default_docker_systemd_unit "$@"; } +function auto_systemd_unit() { local -a replace_env_args env_args local -a replace_run_args run_args local -a replace_user_args user_args local project_name container_name startcmd stopcmd local tmpscript; ac_set_tmpfile tmpscript - estep "Génération du service" + estep "Génération de l'unité systemd" export COMPOSE_PROJECT_NAME= if [ -f docker-compose.yml ]; then compose_set_env_args set_container_name replace_run_args=(-d --no-color) - compose_service "$@" + compose_systemd_unit "$@" if [ -z "$HOST" -a -f .env ]; then source ./.env if [ -n "$PROFILE" ]; then @@ -632,7 +633,7 @@ function auto_service() { docker_set_env_args docker_check_name set_container_name replace_run_args=(-d --name "$container_name") - docker_service "$@" + docker_systemd_unit "$@" fi [ -n "$COMPOSE_PROJECT_NAME" ] || COMPOSE_PROJECT_NAME="$project_name" chmod 755 "$tmpscript" @@ -661,7 +662,7 @@ systemctl daemon-reload systemctl enable $container_name.service EOF - estep "Installation du service" + estep "Installation de l'unité systemd" local_run "$HOST" "$tmpscript" } @@ -816,13 +817,13 @@ while [ $# -gt 0 ]; do enote "Profil $PROFILE" auto_exec "${args[@]}" || die ;; - service) + systemd-unit|systemd) args=() while [ $# -gt 0 -a "$1" != -- ]; do args+=("$1"); shift done enote "Profil $PROFILE" - auto_service "${args[@]}" || die + auto_systemd_unit "${args[@]}" || die ;; ps) docker container ps -a || die;; ls) docker image ls || die;;