Mac M1 安装Docker打包arm64的python项目的镜像包

1、首先安装Docker,到官网下载,选择apple chip版

Docker中文网 官网

2、双击下载的dmg文件,在弹出框中之间拖拽到右边

3、打开docker,修改国内镜像源,位置在配置-DockerEngine

"registry-mirrors": [
    "https://mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://cr.console.aliyun.com",
    "https://mirror.ccs.tencentyun.com"
  ]

4、在编写好的python项目下新建Dockerfile文件,内容如下

# syntax=docker/dockerfile:1
FROM arm64v8/python:3.7

WORKDIR /app
COPY . .

RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

ENTRYPOINT python router.py

注意:python环境指定的是arm架构的版本

5、构建arm包

docker buildx build --platform linux/arm64 -t field_mapping-1.0.0-py3.7-arm643 . --load

--platform 指定平台版本

--load 打包好后把镜像加载到本地docker镜像库

6、启动和测试,启动后用postman测试

docker run -d -p 7101:7101 field_mapping-1.0.0-py3.7-arm64:latest

7、导出镜像

docker save -o field_mapping-1.0.0-py3.7-arm64.tar field_mapping-1.0.0-py3.7-arm643:latest

8、导出的镜像在其他arm服务器上导入docker

docker load < field_mapping-1.0.0-py3.7-arm64.tar

启动和测试同6步骤

相关推荐
雪域迷影3 小时前
PostgreSQL Docker Error – 5432: 地址已被占用
数据库·docker·postgresql
福大大架构师每日一题4 小时前
22.1 k8s不同role级别的服务发现
容器·kubernetes·服务发现
莹雨潇潇4 小时前
Docker 快速入门(Ubuntu版)
java·前端·docker·容器
tangdou3690986555 小时前
1分钟搞懂K8S中的NodeSelector
云原生·容器·kubernetes
tangdou3690986558 小时前
Docker系列-5种方案超详细讲解docker数据存储持久化(volume,bind mounts,NFS等)
docker·容器
later_rql8 小时前
k8s-集群部署1
云原生·容器·kubernetes
五阿哥爱跳舞8 小时前
MAC备忘录空白解决方案
macos
乌恩大侠10 小时前
【Xcode Command Line Tools】安装指南
macos·fpga开发·c
漫无目的行走的月亮11 小时前
在Docker中运行微服务注册中心Eureka
docker
GEEKVIP12 小时前
手机使用技巧:8 个 Android 锁屏移除工具 [解锁 Android]
android·macos·ios·智能手机·电脑·手机·iphone