想在旧的mac上跑一些服务充当服务器,于是使用docker方便进行移植。
基本操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| //搜索镜像 docker search kongfzzzzzz
//构建镜像,要以kongfzzzzzz为名字不然无法push docker build -t kongfzzzzzz/dockerpythontest .
//清理构建缓存 docker builder prune //拉取镜像 可指定平台 docker pull --platform linux/amd64 python:3.12
//运行镜像:左边主机端口 右边容器端口 docker run -p 8888:8888 kongfzzzzzz/xintai_image_2
|
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| # 使用官方的 Python 3 镜像
FROM python:3.12-slim
# 设置工作目录
WORKDIR /app
RUN apt-get update && apt-get install -y \
libgl1-mesa-glx \
libglib2.0-0 \
libvulkan1 \
vulkan-utils\
&& rm -rf /var/lib/apt/lists/*
# 复制当前目录的内容到容器内的/app目录
COPY . /app
# 给 ./realesrgan/realesrgan-ncnn-vulkan 文件设置执行权限
RUN chmod u+x ./realesrgan/realesrgan-ncnn-vulkan
# 安装依赖(Flask)
RUN pip install --no-cache-dir -r requirements.txt
# 暴露端口
EXPOSE 8888
# 启动 Flask 应用
CMD ["python", "main.py"]
|
桌面工具
据说在macOS下, orbstack比docker desktop,相当于windows下的wsl
踩坑
1.未解决:目前解决不了的问题:由于docker镜像封装了深度模型,需要使用显卡计算,但是苹果的intel芯片用的集成显卡,docker没有提供像nvidia显卡一样的vulkan工具,容器内无法使用显卡。