这里写自定义目录标题

问题

本机是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
 		...
  1. 因为前端的dockerfile这个文件是分两段运行的,所以需要分别拉取amd64版本的基础镜像
docker pull --platform linux/amd64 node:16.17.0-alpine3.15 
docker pull --platform linux/amd64 nginx 
  1. 查看镜像版本的命令,如下:
docker inspect [image-name] | grep Arch 
  1. 在项目根目录下,执行build
docker-compose build front
  1. 最后打出来的front镜像,就是amd64版本的镜像。
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐