Docker语言服务器报告警告:
FROM --platform flag should not use a constant value (FROM --platform flag should not use constant value "linux/amd64")
--platform=linux/amd64
硬编码了平台架构修改前:
FROM --platform=linux/amd64 ubuntu:22.04 AS builder
...
FROM --platform=linux/amd64 ubuntu:22.04
修改后:
# 构建参数定义平台架构,默认为linux/amd64
ARG BUILDPLATFORM=linux/amd64
ARG TARGETPLATFORM=linux/amd64
FROM --platform=$BUILDPLATFORM ubuntu:22.04 AS builder
...
FROM --platform=$TARGETPLATFORM ubuntu:22.04
docker-start.sh修改:
# 修改前
docker build --platform linux/amd64 -t jtjai_media:latest .
# 修改后
docker build --build-arg BUILDPLATFORM=linux/amd64 --build-arg TARGETPLATFORM=linux/amd64 -t jtjai_media:latest .
# 使用默认参数构建(AMD64)
docker build -t jtjai_media:latest .
# 或使用启动脚本
./docker-start.sh
# 构建ARM64版本
docker build --build-arg BUILDPLATFORM=linux/arm64 --build-arg TARGETPLATFORM=linux/arm64 -t jtjai_media:arm64 .
# 多平台构建
docker buildx build --platform linux/amd64,linux/arm64 -t jtjai_media:multi .
# docker-compose.yml已配置platform: linux/amd64
docker-compose up -d
构建测试:
docker build -t jtjai_media:test .
运行测试:
docker run --rm -p 8080:8080 jtjai_media:test
平台检查:
docker inspect jtjai_media:test | grep Architecture
linux/amd64
,确保与现有部署兼容docker buildx
命令Dockerfile
- 主要修改文件docker-start.sh
- 启动脚本更新docker-compose.yml
- 已符合规范,无需修改