mac m2芯片docker打镜像
·
问题
本机是m2芯片是arm64的架构,gs线上运行环境不支持!!!
解决
看了很多文章,用docker run --platform的,线上也不给你那么运行啊。。最后,就是先拉取amd64的镜像版本,再去打包。
比如我的项目是分为前后端两个文件夹的,目录大致如下:
root(项目根目录)
back
Dockerfile
front
Dockerfile
index.html
...
docker-compose.yml
前端项目下的Dockerfile文件,内容如下:
# 标准基础镜像(构建阶段)
FROM node:16.17.0-alpine3.15 AS builder
....
# 标准基础镜像(部署阶段)
FROM nginx:latest
....
docker-compose.yml,内容如下:
version: '3.7'
services:
back:
build: ./back
front:
build:
context: .
dockerfile: Dockerfile
...
- 因为前端的dockerfile这个文件是分两段运行的,所以需要分别拉取amd64版本的基础镜像
docker pull --platform linux/amd64 node:16.17.0-alpine3.15
docker pull --platform linux/amd64 nginx
- 查看镜像版本的命令,如下:
docker inspect [image-name] | grep Arch
- 在项目根目录下,执行build
docker-compose build front
- 最后打出来的front镜像,就是amd64版本的镜像。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)