网站设计的任务,网站建设流程及规范,wordpress首页设置错误,网站建设开发实训报告总结很简单的起因#xff0c;我的东西最终需要跑在amd64上#xff0c;但是因为mac的架构师arm64#xff0c;所以直接构建好的代码是没办法跨平台运行的。直接在arm64上pull下来的docker镜像也都是arm64架构。 检查镜像架构#xff1a;
docker inspect 8135f475e221 | grep Arc…很简单的起因我的东西最终需要跑在amd64上但是因为mac的架构师arm64所以直接构建好的代码是没办法跨平台运行的。直接在arm64上pull下来的docker镜像也都是arm64架构。 检查镜像架构
docker inspect 8135f475e221 | grep Architecture效果如下 先讲一下拉取amd64镜像的方法因为拉取的时候默认是arm64
docker pull --platform linux/amd64 ubuntu:18.04这里以ubuntu镜像为例子加上参数 --platform linux/amd64 即可效果可以看一下 接着一段文字描述用该镜像起了一个简单的容器里面安装一下vim lsof等命令之后用以下两个命令进行导出导入结果新的镜像则变成了arm64
docker export 88888888 1.tar
cat 1.tar | docker import - my-ubuntu:18.04新的镜像为arm64:
以下为解决方法 添加前置参数 DOCKER_DEFAULT_PLATFORMlinux/amd64 示例如下
DOCKER_DEFAULT_PLATFORMlinux/amd64 docker run -itd ubuntu:18.04 bash然后去里面做你想做的事情接下来是导出和之前一致
docker export 4956aba71840 1.tar导入需要注意
cat 1.tar| DOCKER_DEFAULT_PLATFORMlinux/amd64 docker import - my-ubuntu:18.04也可以尝试一下docker commitcommit命令会保留部分的元数据但是不包括历史信息。亲测直接commit可以出amd64:
done.