僅當變數“平臺”等于“arm64”時,我才想添加 --platform 選項,否則不應傳入該選項。而且我不想復制整個命令并使用 if-別的。
platform=$(uname -m)
docker run --platform linux/arm64 \
uj5u.com熱心網友回復:
您可以嘗試以下解決方法:
platform=$(uname -m)
docker run $([[ $platform = arm64 ]] && echo "--platform linux/arm64") \
uj5u.com熱心網友回復:
使用 bash 腳本執行以下操作:
#!/bin/bash
platform=$(uname -m)
case "$platform" in
arm64) MOD="--platform linux/arm64" ;;
*) MOD="" ;;
esac
docker run ${MOD} IMAGE [COMMAND] [ARG...]
使用命令列:
[[ $(uname -m) = 'arm64' ]] && VAR='--platform linux/arm64' || VAR=''
docker run ${VAR} ...
精簡版:
[[ $(uname -m) = 'arm64' ]] && docker run --platform linux/arm64 ... || docker run ...
我在這臺機器上沒有 docker 檢查這是否也有效:
docker run $([[ $(uname -m) = 'arm64' ]] && echo "--platform linux/arm64") ...
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/505641.html