mac 下镜像使用
镜像制作
注意 mac 最近的芯片都是arm64架构, 而Linux一般都是 amd64架构
- 创建 Dockerfile 文件
# FROM ubuntu
# 使用阿里云 alinux3
FROM alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/alinux3:latest
# 设置环境变量
ENV PATH=/opt/conda/bin:$PATH
RUN echo -e "channels:\n\
# - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free\n\
- defaults\n\
show_channel_urls: true\n\
#default_channels:\n\
# - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main\n\
custom_channels:\n\
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud\n\
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud\n\
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud\n\
nvidia: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud\n\
rapidsai: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/\n\
" > /root/.condarc
RUN mkdir -p /root/.pip && echo -e "[global]\n\
index-url = https://mirrors.zju.edu.cn/pypi/web/simple/\n\
trusted-host = zju.edu.cn\n\
" > /root/.pip/pip.conf
RUN yum install wget -y
# 安装 Miniconda https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/
# RUN wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-aarch64.sh -O /tmp/miniconda.sh \
RUN wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /tmp/miniconda.sh \
&& bash /tmp/miniconda.sh -b -p /opt/conda \
&& \rm /tmp/miniconda.sh -f
# 配置 Conda 环境
RUN /bin/bash -c " conda update -n base -c defaults conda \
&& conda clean -a -y "
# 创建 Conda 环境并安装 PyTorch 和 Triton
RUN conda create -n myenv python=3.10 -y
# 激活 Conda 环境并安装 PyTorch 和 Triton
# CPU Only
RUN conda install -n myenv pytorch==2.4.1 torchvision==0.19.1 cpuonly -c pytorch -y
RUN conda install -n myenv ipython -y
RUN conda init
RUN source activate myenv \
&& conda clean -a -y \
&& pip install triton
# 修改配置
RUN echo 'PS1="\n\e[1;37m[\e[m\e[1;32m\u\e[m\e[1;33m@\e[m\e[1;35m\h $ip\e[m \e[4m\`pwd\`\e[m\e[1;37m]\e[m\e[1;36 m\e[m\n\\$ "' >> ~/.bashrc
RUN echo "source activate myenv" >> ~/.bashrc
# 设置工作目录
WORKDIR /workspace
# 设置默认命令
# CMD ["/bin/bash"]
- 跨平台编译,需要先执行下面命令创建buildx 工具
docker buildx version
docker buildx create --use --name docker-buildx # 执行完后,在下面图片中点一下start(stop),手工将状态改为 use
docker buildx inspect --bootstrap # 显示信息和下面结果类似
![]() |
![]() |
---|---|
![]() |
![]() |
- Dockerfile文件所在目录,执行. 执行完,生成的镜像会放到 images中, 见上面右下图。
docker buildx build -t pytorch-triton-alinux --platform=linux/amd64 . --load
使用镜像
- 查看命令
docker run --help
docker run -it --rm alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/alinux3:latest /bin/bash
- 使用 只支持amd64 架构的镜像
docker pull reg.docker.alibaba-inc.com/aii/aistudio:10180134-20250115154846
docker run --platform linux/amd64 -it --rm reg.docker.alibaba-inc.com/aii/aistudio:10180134-20250115154846
- 重新进已经存在的容器
docker exec -it e98b572c5dabb5e5889a30c37b46e87ae24d45747210ea57967a158b2f5acedb /bin/bash
[keke.zhaokk@macpro16-2 ~]
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e98b572c5dab pytorch-triton-alinux "/bin/bash" 57 minutes ago Exited (0) 14 minutes ago elastic_ishizaka
a52e7935ef79 moby/buildkit:buildx-stable-1 "buildkitd --allow-i…" 4 hours ago Up 4 hours buildx_buildkit_docker-buildx0
[keke.zhaokk@macpro16-2 ~]
$ docker start e98b572c5dab
e98b572c5dab
[keke.zhaokk@macpro16-2 ~]
$ docker exec -it e98b572c5dab /bin/bash
(myenv)
[root@e98b572c5dab /workspace]
docker run --platform linux/amd64 -v $(pwd):/workspace -it --rm pytorch-triton-alinux
其他配置
- 最新版支持socket代理登录账号, 登录后马上关闭,不然命令行使用又会出现报错。
![]() |
![]() |
---|
- 代理加速: 设置 -> docker engine 下配置
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"registry-mirrors": [
"https://<阿里云申请到>.mirror.aliyuncs.com",
"https://hub-mirror.c.163.com"
]
}
--- 她说, 她是仙,她不是神
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话