Pet*_*ang 5 macos docker keycloak apple-m1
我刚刚下载了 Docker Preview v3.1 https://docs.docker.com/docker-for-mac/apple-m1/并尝试运行 keycloak。
还有其他人遇到这个问题吗?
docker run -p 8080:8080 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin quay.io/keycloak/keycloak:12.0.4
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
Run Code Online (Sandbox Code Playgroud)
小智 321
您可以尝试在构建 docker 镜像时添加此内容
--platform linux/amd64
Run Code Online (Sandbox Code Playgroud)
从
https://github.com/google/cadvisor/issues/2763
Ale*_*shi 47
将这个片段添加到您的~/.zshrcand中~/.bashrc。它允许您在执行命令时不重复该标志docker run:
# useful only for Mac OS Silicon M1,
# still working but useless for the other platforms
docker() {
if [[ `uname -m` == "arm64" ]] && [[ "$1" == "run" || "$1" == "build" ]]; then
/usr/local/bin/docker "$1" --platform linux/amd64 "${@:2}"
else
/usr/local/bin/docker "$@"
fi
}
Run Code Online (Sandbox Code Playgroud)
Ces*_*res 35
与 @li Etzyio 回复的答案类似,该错误告诉您用于在本地构建映像的平台与用于映像的平台不同。M1 计算机(可能还有其他计算机)会发生这种情况,因此,您要做的就是在命令--platform <PLATFORM_SPEC>中指定docker build,并将 替换<PLATFORM_SPEC>为错误告诉您的内容(在本例中为linux/arm64/v8)。
对我有用的还有设置这些环境变量:
export DOCKER_BUILDKIT=0
export COMPOSE_DOCKER_CLI_BUILD=0
export DOCKER_DEFAULT_PLATFORM=linux/amd64
Run Code Online (Sandbox Code Playgroud)
如果您不想--platform每次运行构建命令时都传递该标志。
Chr*_*row 29
在使用 M1 的 Mac 上,您需要在 Docker Desktop 中启用 Rosetta(设置 > 开发中的功能)。Rosetta 是适用于 Mac 芯片的动态二进制翻译器,允许将 x86 指令翻译为 ARM 指令。
然后,您可以通过设置以下环境变量来指定默认的 Docker 构建配置(注意 - 仅当您希望所有Docker 容器都使用它作为默认平台时才执行此操作):
export DOCKER_DEFAULT_PLATFORM=linux/amd64
当您下次运行 Docker 构建时,它将使用它作为图像的默认平台,并且启用 Rosetta 后它现在应该可以工作。
pgl*_*zen 22
如果您在 M1 Mac 上运行 Docker Workstation,则可以利用Docker Workstation 多 CPU 架构支持,其中包括buildx 命令。它允许您为不同的 CPU 创建映像。
要在 M1 Mac 工作站上构建 Linux/AMD/Intel 映像,请运行以下命令。
docker buildx build --platform=linux/amd64 -t myorg/mytag:1.0.0 .
Run Code Online (Sandbox Code Playgroud)
放在docker buildx前面用 BuildKit 启动命令。有关详细信息,请参阅上面的链接。
在 M1 机器上构建镜像时,以下方法可以解决这个问题:
docker build -t <image-name> --platform linux/x86_64
Run Code Online (Sandbox Code Playgroud)
刚刚找到这个帖子:https : //github.com/docker/for-mac/issues/5310#issuecomment-779791882
使用此图像,我现在可以启动 keycloak。 https://hub.docker.com/r/wizzn/keycloak
| 归档时间: |
|
| 查看次数: |
14151 次 |
| 最近记录: |