f 运维.售后-ubuntu20.04安装docker情况 - Powered by qidao123.com技术社区

ubuntu20.04安装docker情况

打印 上一主题 下一主题

主题 1804|帖子 1804|积分 5412

一、安装docker



  • 安装docker
    1. sudo apt-get install docker.io
    复制代码
  • 检察版本(验证 Docker 是否安装乐成)
    1. sudo docker version 或 docker -v
    复制代码
  • 将当前用户加入 docker 用户组(制止每次运行 docker 都需要使用 sudo)
    1. sudo usermod -aG docker $USER
    复制代码
    留意:执行此操作后需要注销并重新登录。
  • 启动
    1. sudo systemctl start docker.service
    复制代码
  • 检察状态
    1. sudo systemctl status docker
    复制代码
  • 修改docker源和修改镜像路径

    • 可以使用docker info 检察当前docker的默认存储目录。可以看到docker存储驱动步伐和默认存位:
      Storage Driver: overlay
      Docker Root Dir: /var/lib/docker
    • 停止docker服务
      1. sudo systemctl stop docker.service
      复制代码
    • 迁移/var/lib/docker目录下面的文件到 /data/xxx/docker;(留意xxx是你自己界说的目录,找个磁盘空间大一点的目录)
      1. sudo cp -r /var/lib/docker/* /data/xxx/docker/
      复制代码
    • 创建或编辑 Docker 的保卫进程配置文件:(默认情况下这个配置文件是没有的,这里实际也就是新建一个)
      1. sudo gedit /etc/docker/daemon.json
      复制代码
    • 添加以下内容:(留意xxx是你自己界说的目录)
      1. {
      2.     "data-root": "/data/xxx/docker",
      3.     "registry-mirrors": [
      4.         "https://docker.1ms.run",
      5.         "https://docker.xuanyuan.me",
      6.         "docker.m.daocloud.io",
      7.         "docker.imgdb.de",
      8.         "docker-0.unsee.tech",
      9.         "docker.hlmirror.com",
      10.         "cjie.eu.org"
      11.     ],
      12.     "default-runtime": "nvidia",
      13.     "runtimes": {
      14.         "nvidia": {
      15.             "args": [],
      16.             "path": "nvidia-container-runtime"
      17.         }
      18.     }
      19. }
      复制代码
    • 保存文件并重启 Docker:
      1. # 重启docker服务sudo systemctl daemon-reloadsudo systemctl restart docker
      2. sudo systemctl status docker
      3. docker info  # 校验一下是否更改乐成docker ps -adocker images  # 确认之前的镜像还在# 校验是否能下载镜像docker run ubuntu:15.10 /bin/echo "Hello world"
      复制代码
    • 确定容器、镜像没题目后删除/var/lib/docker/目录中的文件。
      1. rm -rf /var/lib/docker/*
      复制代码

  • docker中使用GPU

    • 方法一: 使用nvidia-container-runtime:

      • 添加库: Link
        1. curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | \
        2.   sudo apt-key add -
        3. distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
        4. curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | \
        5.   sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
        6. sudo apt-get update
        复制代码
      • 安装nvidia-container-runtime:
        1. sudo apt-get install nvidia-container-runtime
        2. systemctl restart docker
        3. #重启docker
        复制代码
      • 测试验证:(启动命令中添加参数:–gpus all 或 --gpus "device=1"指定):
        1. docker run --gpus all --rm nvidia/cuda:11.0-base nvidia-smi
        复制代码

    • 方法二:安装 NVIDIA Container Toolkit

      • 设置 NVIDIA Container Toolkit 仓库:
        1. curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
        2. curl -s -L https://nvidia.github.io/nvidia-docker/$(. /etc/os-release; echo $ID$VERSION_ID)/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
        复制代码
      • 更新软件包索引并安装 NVIDIA Container Toolkit:
        1. sudo apt update
        2. sudo apt install -y nvidia-container-toolkit
        复制代码
      • 配置容器运行时:
        1. sudo nvidia-ctk runtime configure --runtime=docker
        复制代码
      • 重启 Docker 服务:
        1. sudo systemctl restart docker
        复制代码
      • 验证安装是否乐成:
        1. docker run --rm --gpus all nvidia/cuda:12.0.1-base nvidia-smi
        复制代码

    • 离线安装GPU的docker情况
      前提:已经安装好了docker(需要docker版本>=19.03),可以用docker -v进行测试           说明:Docker 19.03的发布,不赞成使用nvidia-docker2软件包,因为Docker运行时中现在已将NVIDIA GPU作为装备当地支持
      nvidia将提供原生的显卡支持,只需要安装 nvidia-container-toolkit工具包不再像使用nvidia-docker/2那样复杂配置,而且不支持用docker-compose
      在docker19以前都需要单独下载nvidia-docker1或nvidia-docker2来启动容器,docker19后跑需要gpu的docker只需要加个参数–gpus all 即可

      • 联网机器设置仓库和GPG密钥
        1. distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
        2.    && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
        3.    && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
        复制代码
        着实,distribution就是你的体系名称,例如:ubuntu22.04等,可以通过cat /etc/os-release等命令检察,检察后替换命令中的内容就行,并设置成暂时变量。
      • 在联网的机器上下载包
        1. apt download libnvidia-container1
        2. apt download libnvidia-container-tools
        3. apt download nvidia-container-toolkit-base
        4. apt download nvidia-container-toolkit
        复制代码
        或者在NVIDIA的GitHub主页找到Ubuntu体系对应的NVIDIA Container Toolkit安装包,页面的安装包较多,搜索关键词“1.17.4”,进行下载安装包即可:
        1. libnvidia-container1_1.17.4-1_amd64.deb           # 基础库包,提供了最基本的功能,其他包都依赖于它
        2. libnvidia-container-tools_1.17.4-1_amd64.deb      # 基础工具包,依赖于 libnvidia-container1
        3. nvidia-container-toolkit-base_1.17.4-1_amd64.deb  # 基础组件包,依赖于前面的包
        4. nvidia-container-toolkit_1.17.4-1_amd64.deb       # 主要的工具包,依赖于以上所有包
        5. libnvidia-container1-dbg_1.17.4-1_amd64.deb       # 调试符号包,只在调试问题时使用
        6. libnvidia-container-dev_1.17.4-1_amd64.deb        # 开发包,只在进行开发时使用
        复制代码
        此中最后两个安装包可以选择不下载和不安装
      • 拷贝到离线机器上安装(留意:需要按顺序安装)
        1. # 按顺序执行
        2. dpkg -i libnvidia-container1
        3. dpkg -i libnvidia-container-tools
        4. dpkg -i nvidia-container-toolkit-base
        5. dpkg -i nvidia-container-toolkit
        复制代码
      • 检察NVIDIA Container Toolkit的版本以验证是否安装乐成
        1. nvidia-ctk --version
        复制代码

      • 设置Docker默认使用NVIDIA runtime
        1. sudo nvidia-ctk runtime configure --runtime=docker
        复制代码

      • 重启docker服务
        1. systemctl restart docker
        复制代码
      • 创建容器
        1. docker run --rm --gpus all -v /home/test:/home/test  -v /data:/data --name "test_act" --shm-size="8g" -it ufoym/deepo:latest bash
        复制代码
      • 备注:
        1. 备注说明:
        2. 方法一:  安装nvidia-container-toolkit,后添加—gpus参数来使用
        3.    使用nvidia-container-toolkit的最大优点:linux主机不需要安装 CUDA toolkit,仅安装显卡驱动 cuda-drivers 即可
        4.    sudo docker run --gpus all -v /home/test:/home/test  -v /data:/data --name "test_act" --shm-size="8g" -it ufoym/deepo:latest bash
        5. 方法二:  nvidia-docker2 and nvidia-container-runtime
        6. 安装nvidia-container-runtime,在首次运行时添加—runtime=nvidia参数,后续启动、结束都不需要再加
        7. sudo apt-get install nvidia-container-runtime
        8. sudo docker run --gpus all-v /home/test:/home/test  -v /data:/data --name "test_act" --shm-size="8g" -it ufoym/deepo:latest bash
        复制代码
      • 参考博客

        • Ubuntu在线/离线安装nvidia-docker2
        • 离线安装Docker以及NVIDIA-docker
        • Ubuntu 22.04离线安装Docker和NVIDIA Container Toolkit
                


二、docker基本操作(以Ultralytics为例)

  1. # 拉取镜像
  2. docker pull ultralytics/ultralytics:latest
  3. # 查看端口号是否被占用
  4. lsof -i 12345
  5. # 创建容器
  6. docker run --gpus all -it --name cc_yolo2 -u root -v /data:/workspace/data -w /workspace/data -p 12345:12345 ultralytics/ultralytics:latest /bin/bash
  7. # 启动容器
  8. docker start cc_yolo2
  9. # 进入容器
  10. docker exec -it cc_yolo2 bash
  11. # 查看其torch的库安装位置
  12. pip show torch
  13. # 删除容器
  14. docker rm -f 容器ID
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

风雨同行

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表