很久没有推送过镜像了,已经忘记怎么push里,这里记录一下。

准备Dockerfile文件

1
2
3
4
5
6
FROM python:3.11-slim-buster
WORKDIR /website
COPY ./requirements.txt /website/requirements.txt
RUN pip install --no-cache-dir --upgrade -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]

顺带准备一个 requirements.txt

1
2
3
4
5
uvicorn
fastapi
requests
pydantic
beautifulsoup4

build 镜像

原来一直这样打包镜像,但是有个问题,如果使用 M1 的电脑,打包出来,OS/ARCH 就是 linux/arm64/v8 这样的镜像推送上去,X64就没法用了。

1
docker build -t 'fastapi_env' .

可以修改命令,指定平台为

1
docker buildx build --platform linux/amd64 -t 'fastapi_env' .

push 镜像

先给镜像打个 tag

1
docker tag d524937ea903 svcvit/fastapi_env:0.1.0

最后,推送镜像上去就好了

1
docker push svcvit/fastapi_env:0.1.0

docker-hub页面