0
点赞
收藏
分享

微信扫一扫

深度学习技巧应用38-PyTorch Lightning的训练框架应用技巧与实战

敬亭阁主 03-05 15:30 阅读 4

REF:

  • https://blog.csdn.net/biejieyu1016/article/details/120874915
  • https://zhuanlan.zhihu.com/p/580156606

1. 安装 docker

1.1 安装

  • **apt **
sudo apt update
sudo apt-get install docker.io
  • 安装包安装
wget -qO- https://get.docker.com/ | sh

1.2. 更新dockers 用户组

sudo gpasswd -a ${USER} docker
newgrp docker

1.3. 测试dockers 是否安装成功

# common cmd to test docker
docker images          # 查看当前下载的images
docker version
docker container ls    # 查看当前正在运行的container
docker container ls -a # 查看所有的container
docker run hello-world
(base) XXX@XXXX-pc:~$ docker container ls -a
CONTAINER ID   IMAGE         COMMAND    CREATED         STATUS                     PORTS     NAMES
e535113fa206   hello-world   "/hello"   5 minutes ago   Exited (0) 5 minutes ago             elegant_swirles

1.4 设置开机自动启动

sudo systemctl start docker
sudo systemctl enable docker

2. 安装 Nvidia-docker

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
   && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
   && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

安装 nvidia-docker2

sudo apt-get update
sudo apt-get install -y nvidia-docker2

测试是否正确安装

 docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi
(base) xxx@xxx-pc:~$ docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi
Fri Mar  1 06:28:33 2024
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.239.06   Driver Version: 470.239.06   CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
|  0%   31C    P8     9W / 170W |     45MiB / 12050MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
+-----------------------------------------------------------------------------+

3. 常见dockers命令

DOCKER 常用命令+教程 中文

docker images 命令

  • 下载dockers images
    # docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
    docker pull ubuntu:18.04
    
  • 通过 images 创建docker container
    docker run -it --rm ubuntu:18.04 bash
    
    • -it:这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。
    • –rm:这个参数是说容器退出后随之将其删除。默认run 之后 dockers不会手动删除
    • bash:放在镜像名后的是 命令,
    • exit 退出当前 container
  • [TODO] 将当前 container 打包成一个 image

dokcer container 命令

- container 的 启动,停止和重启
  • docker container start [name]
    • 启动已经终止(exited)的容器
  • docker container start [name]
    • 重启启动
  • docker container restart [name]
docker run 常用参数
arg说明
--name为容器指定一个名称
-it通过终端的方式交互
-p, --publish发布一个容器的端口到宿主机上
-v , --volume绑定挂载一个卷。
--gpus允许容器访问GPU。
进入正在运行的container
  • docker exec -it <container-id>
    $ docker container ls
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    69d137adef7a        ubuntu:latest       "/bin/bash"         18 seconds ago      Up 17 seconds                           zealous_swirles
    
    $ docker exec -it 69d1 bash
    root@69d137adef7a:/#
    

docker 中的数据管理

  1. 挂在主机目录
    • -v: 一种简化的挂载方式, 只需提供源路径和目标路径即可

      docker run -v /host/path:/container/path my_image
      
    • --mount 更为灵活和强大的挂载方式,允许你指定多个选项。可以指定挂载的类型(volume、bind mount),源路径、目标路径,并且可以设置一些额外的选项,比如读写权限。

      docker run --mount type=bind,source=/host/path,target=/container/path,readonly my_image
      # --mount参数指定了一个绑定挂载,将主机的 /host/path 目录挂载到容器的 /container/path目录,并设置为只读。
      

docker 中 网络配置

TODO

举报

相关推荐

0 条评论