DOCKER -- 从0开始搭建一个pytorch环境

什么也不说了,先存两篇大佬的帖子膜拜
https://segmentfault.com/a/1190000040305495
https://segmentfault.com/a/1190000040925914


友情提示:在開始之前,先查看一下本機上有沒有你曾經創建過的image,如果有而且你不再需要它了,就請把它刪除,毕竟要空出空间给数据用。

$docker ls
$docker rm [imageName]

接下來,我們就要開始搭建環境了 😃

1.獲取鏡像,以pytorch爲例

$docker pull pytorch/pytorch:latest

這個命令可以直接在 https://hub.docker.com 上找到,選取你心儀的的那一款,在 Tags 頁面就可以找到這個命令。在找命令的時候可以發現每個版本的pytorch都有不同的cuda標籤。其中 runtime 是可以直接使用的image,devel 是可以直接使用並且可以編譯調試的image。
獲取成功後就可以在本機看到這個image文件了

$docker image ls

2.创建容器
創建容器,run一次生成一個container
$docker run --name newpytorch -v /path_in_local:/project_in_container -itd pytorch:latest
-v 是對container進行掛載,宿主機上運行項目的目錄:後是container的目錄

3.操作容器

进入容器

$docker exec -it [containerID] bin/bash

終止容器

$docker kill [containerID]

列出所有容器

$docker container ls --all

刪除容器

$docker container rm [containerID]

4.更新镜像
在原有image的基礎上安裝了新軟件後建立新image

$docker commit [舊containerName] [newtorch:latest] ./

newtorch 是image文件的名字,latest 是標籤默認爲latest,最後是路徑,當前路徑

5.发布镜像

$docker login # 登陆docker
$docker image tag [imageName] [username]/[repository]:[tag] #给要上传的镜像指定一个名字
$docker push username/repository:tag #上传镜像到远端仓库

e.g.

docker tag ubuntu:18.04 username/ubuntu:18.04
docker push username/ubuntu:18.04

打完收工,顺带贴一套常用命令

docker ps       # List all running containers on this machine
docker ps –a     # List all containers on this machine
docker images  # List all images on this machine
docker image rm  image-name
docker rm container-name
docker stop container-name
docker inspect container-name
docker restart container-name
docker attach container-name
docker pull username/repository:tag
docker build -t friendlyhello .  # Create image using this directory's Dockerfile
docker run -p 4000:80 friendlyhello  # Run "friendlyname" mapping port 4000 to 80
docker run -d -p 4000:80 friendlyhello         # Same thing, but in detached mode
docker container ls                         	   # List all running containers
docker container ls -a             # List all containers, even those not running
docker container stop <hash>           # Gracefully stop the specified container
docker container kill <hash>         # Force shutdown of the specified container
docker container rm <hash>        # Remove specified container from this machine
docker container rm $(docker container ls -a -q)         # Remove all containers
docker image ls -a                             # List all images on this machine
docker image rm <image id>            # Remove specified image from this machine
docker image rm $(docker image ls -a -q)   # Remove all images from this machine
docker login             # Log in this CLI session using your Docker credentials
docker tag <image> username/repository:tag  # Tag <image> for upload to registry
docker push username/repository:tag            # Upload tagged image to registry
docker run username/repository:tag                   # Run image from a registry

在这里插入图片描述

你可以按照以下步骤来搭建一个GPU版本的PyTorch Docker镜像: 1. 首先,确保你的机器上已经安装了NVIDIA驱动程序。可以使用以下命令来检查驱动程序的安装情况: ``` nvidia-smi ``` 2. 安装Docker和NVIDIA Docker运行时。根据你的操作系统,可以按照官方文档的说明进行安装。 3. 创建一个新的Dockerfile,可以使用以下命令在你的项目目录中创建一个名为Dockerfile的文件: ``` touch Dockerfile ``` 4. 使用任何文本编辑器打开Dockerfile,并将以下内容添加到文件中: ```dockerfile # 指定基础镜像 FROM pytorch/pytorch:latest # 安装CUDA工具包 RUN apt-get update && apt-get install -y --no-install-recommends \ cuda-toolkit-11-0 \ && rm -rf /var/lib/apt/lists/* # 设置环境变量 ENV PATH /usr/local/nvidia/bin:${PATH} ENV LD_LIBRARY_PATH /usr/local/nvidia/lib:/usr/local/nvidia/lib64:${LD_LIBRARY_PATH} # 安装PyTorch和Torchvision RUN pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 -f https://download.pytorch.org/whl/torch_stable.html # 设置工作目录 WORKDIR /app # 复制项目文件到镜像中 COPY . /app # 安装项目依赖 RUN pip install -r requirements.txt # 设置启动命令 CMD ["python", "main.py"] ``` 请注意,上面的Dockerfile使用了pytorch/pytorch:latest作为基础镜像,并安装了CUDA工具包以支持GPU计算。你可以根据你的需求选择不同的基础镜像和CUDA版本。 5. 在同一个目录中创建一个名为requirements.txt的文件,并列出你项目所需的所有Python依赖包。 6. 确保你的项目文件(包括Dockerfile和requirements.txt)都在同一个目录中。 7. 打开终端,导航到包含Dockerfile和requirements.txt的目录,并执行以下命令来构建Docker镜像: ``` docker build -t my_pytorch_image . ``` 这将使用Dockerfile中的指令构建一个名为my_pytorch_image的镜像。确保在命令末尾有一个点,表示Dockerfile所在的当前目录。 8. 构建完成后,你可以使用以下命令来运行一个容器并使用GPU: ``` docker run --gpus all -it my_pytorch_image ``` 这将创建一个新的容器并进入交互模式,你可以在其中运行你的PyTorch代码,并利用GPU进行加速。 希望这些步骤能帮助你搭建一个GPU版本的PyTorch Docker镜像!如果有任何问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值