dk: support de certaines options pour dk run
This commit is contained in:
parent
c97bc6a92e
commit
458ccd3df1
40
dk
40
dk
|
@ -32,6 +32,13 @@ COMMANDES
|
||||||
Arrêter les services et supprimer l'environnement
|
Arrêter les services et supprimer l'environnement
|
||||||
r|run SERVICE [COMMAND]
|
r|run SERVICE [COMMAND]
|
||||||
Démarrer le service en mode interactif avec la commande spécifiée
|
Démarrer le service en mode interactif avec la commande spécifiée
|
||||||
|
Les options suivantes sont supportées, mais il faut les spécifier avant
|
||||||
|
SERVICE:
|
||||||
|
* pour docker et docker-compose: --volume
|
||||||
|
* uniquement pour docker-compose: --detach, -e, --label, --no-deps,
|
||||||
|
--service-ports, --use-aliases
|
||||||
|
Par défaut, --rm est activé; utiliser --no-rm pour ne pas supprimer le
|
||||||
|
container après utilisation.
|
||||||
x|exec SERVICE COMMAND
|
x|exec SERVICE COMMAND
|
||||||
Lancer une commande dans le container correspondant au service spécifié,
|
Lancer une commande dans le container correspondant au service spécifié,
|
||||||
qui doit être en fonctionnement
|
qui doit être en fonctionnement
|
||||||
|
@ -789,17 +796,48 @@ function default_docker_run() {
|
||||||
function compose_run() { default_compose_run "$@"; }
|
function compose_run() { default_compose_run "$@"; }
|
||||||
function docker_run() { default_docker_run "$@"; }
|
function docker_run() { default_docker_run "$@"; }
|
||||||
function auto_run() {
|
function auto_run() {
|
||||||
|
eval "$(utools_local parse_opts)"
|
||||||
|
local detach no_deps rm=1 service_ports use_aliases volume
|
||||||
|
local -a envs labels
|
||||||
|
args=(
|
||||||
|
+
|
||||||
|
-d,--detach detach=1
|
||||||
|
-e: '$add@ envs -e; add@ envs'
|
||||||
|
-l:,--label: '$add@ labels -l; add@ labels'
|
||||||
|
--no-deps no_deps=1
|
||||||
|
--no-rm rm=
|
||||||
|
--rm rm=1
|
||||||
|
--service-ports service_ports=1
|
||||||
|
--use-aliases use_aliases=1
|
||||||
|
-v:,--volume: volume=
|
||||||
|
@ args -- "$@"
|
||||||
|
)
|
||||||
|
parse_opts "${args[@]}" && set -- "${args[@]}" || { eerror "$args"; return 1; }
|
||||||
|
|
||||||
local -a replace_env_args env_args
|
local -a replace_env_args env_args
|
||||||
local -a replace_run_args run_args
|
local -a replace_run_args run_args
|
||||||
local -a replace_user_args user_args
|
local -a replace_user_args user_args
|
||||||
local project_name container_name
|
local project_name container_name
|
||||||
if [ -f docker-compose.yml ]; then
|
if [ -f docker-compose.yml ]; then
|
||||||
compose_set_env_args
|
compose_set_env_args
|
||||||
|
replace_run_args=(
|
||||||
|
${detach:+-d}
|
||||||
|
"${envs[@]}" "${labels[@]}"
|
||||||
|
${no_deps:+--no-deps}
|
||||||
|
${rm:+--rm}
|
||||||
|
${service_ports:+--service-ports}
|
||||||
|
${use_aliases:+--use-aliases}
|
||||||
|
${volume:+-v "$volume"}
|
||||||
|
)
|
||||||
compose_run "$@"
|
compose_run "$@"
|
||||||
else
|
else
|
||||||
docker_set_env_args
|
docker_set_env_args
|
||||||
docker_check_name set_container_name
|
docker_check_name set_container_name
|
||||||
replace_run_args=(--name "$container_name")
|
replace_run_args=(
|
||||||
|
--name "$container_name"
|
||||||
|
${rm:+--rm}
|
||||||
|
${volume:+-v "$volume"}
|
||||||
|
)
|
||||||
docker_run "$@"
|
docker_run "$@"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue