Files
zsh-config/50-docker.conf
T
2026-11-08 21:25:51 +03:00

32 lines
833 B
Plaintext

function _docker_with_platform() {
local platform=$1
local extra_flags=$2
shift 2
local args=$@
local original="docker ${args}"
local cmd="${original}"
_substitutableCmds=(build pull run)
if [[ ${args} != *"--platform"* ]]; then
for command in ${_substitutableCmds[@]}; do
if [[ ${args} =~ (^|[[:space:]])${command}([[:space:]]|$) ]]; then
cmd=${cmd/${command}/${command} --platform=${platform}${extra_flags:+ ${extra_flags}}}
fi
done
fi
if [[ "${cmd}" != "${original}" ]]; then
echo -e "\e[34m-> ${cmd}\e[0m"
fi
eval "command ${cmd}"
}
function docker() {
_docker_with_platform "linux/arm64/v8" "" $@
}
function docker-amd64() {
_docker_with_platform "linux/amd64" "--device=lima-vm.io/rosetta=cached" $@
}