发表于|更新于|编程

|总字数:516|阅读时长:2分钟|浏览量:|

此前用 Python 写了一些任务,部署的时候总碰到各种配置问题,索性用docker打包,后面直接一键部署即可。

在此记录打包历程。

Dockerfile

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

FROM python:3.10-slim-bullseye as builder



COPY requirements.txt .

RUN pip install --no-cache-dir -r requirements.txt --index-url=https://pypi.tuna.tsinghua.edu.cn/simple


WORKDIR /app


RUN rm -rf requirements.txt


COPY app.py /app/app.py
COPY tasks /app/tasks




VOLUME /app/data


RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' > /etc/timezone


CMD ["python", "app.py"]

交叉编译

采用docker buildx进行交叉编译,构建命令如下。

配置多平台编译 buildx

docker自带的builder不支持交叉编译,首次交叉编译需要替换docker自带的builder

1
2
3
4
# 安装builder
docker buildx create --use --name=mybuilder-cn --driver docker-container --driver-opt image=dockerpracticesig/buildkit:master
# 使用bulder
docker buildx use mybuilder-cn

登录阿里云

1
docker login --username=*****@qq.com registry.cn-hangzhou.aliyuncs.com

阿里云

直接推送到阿里云Docker Hub下的registry.cn-hangzhou.aliyuncs.com/dorad/rrrcn_auto_collecter镜像仓库。

1
docker buildx build --platform linux/amd64,linux/arm64 -t registry.cn-hangzhou.aliyuncs.com/dorad/rrrcn_auto_collecter -o type=registry .

采用platform 参数控制需要发布的平台,这里主要支持armx86-64平台。

参考

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 遐说

请喝果茶

  • Wechat

    Wechat

  • Alipay

    Alipay


最新文章

2026第一场日出日落-黄山

[徒步]宁波九龙爱心线

[徒步]仙居公盂徒步+丽人谷溯溪(多图)

文献引用批量标注蓝色-Zotero/EndNote

[出差]内蒙草原风光