--platform=linux/amd64を付けて実行した時に/proc/self/cmdlineの内容がバグってて、 $ docker run --platform=linux/arm64 alpine cat /proc/self/cmdline|xargs -0 echo cat /proc/self/cmdline $ docker run --platform=linux/amd64 alpine cat /proc/self/cmdline|xargs -0 echo /bin/cat cat /proc/self/cmdline
CommandLine.argumentsの取得にそれを利用してるSwift製のバイナリはその影響を受けるので、swift buildとか動かない。 $ docker run -it -v $PWD:$PWD:rw -w $PWD --platform=linux/amd64 swift swift build error: Unexpected argument '/usr/bin/swift-build' Usage: swift build <options> See 'build -help' for more information. 正規の手順(argc,argv)?を使ってる場合、影響を受けない。 https://lima-vm.io で立ち上げたdockerだと/proc/self/cmdlineの内容は少しおかしいけど、SwiftのCommandLine.argumentsは影響を受けない。 $ docker.lima run --platform=linux/arm64 alpine cat /proc/self/cmdline|xargs -0 echo cat /proc/self/cmdline $ docker.lima run --platform=linux/amd64 alpine cat /proc/self/cmdline|xargs -0 echo /bin/cat /proc/self/cmdline