mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-12-26 23:00:30 +08:00
fix(docker): use docker --version
instead of docker version
`docker version` subcommand is able to return both docker client and docker daemon information. To get a daemon version, it connects to a possibly remote daemon. If the remote daemon is not accessible, the client waits for some time, until it gets interrupted by timeout. As a result we can have a docker client running in background. When zsh session is rather short, a terminal application (iTerm2) starts asking if that background docker process should be stopped. On the other hand, to get a docker client version only, we can use `docker --version` instead. It does not connect to a daemon. Closes #11780
This commit is contained in:
parent
723af07a56
commit
73c4764e78
@ -37,8 +37,10 @@ if (( ! $+commands[docker] )); then
|
||||
fi
|
||||
|
||||
{
|
||||
# docker version returns `Docker version 24.0.2, build cb74dfcd85`
|
||||
# with `s:,:` remove the comma after the version, and select third word of it
|
||||
local _docker_version=${${(s:,:z)"$(command docker --version)"}[3]}
|
||||
# `docker completion` is only available from 23.0.0 on
|
||||
local _docker_version=$(command docker version --format '{{.Client.Version}}' 2>/dev/null)
|
||||
if is-at-least 23.0.0 $_docker_version; then
|
||||
# If the completion file doesn't exist yet, we need to autoload it and
|
||||
# bind it to `docker`. Otherwise, compinit will have already done that.
|
||||
|
Loading…
Reference in New Issue
Block a user